actually, yes they are... you could drop them if printf was being used as an operator, but there's nothing to the left of it...
On 10 September 2010 17:17, Romain Pelisse <[email protected]> wrote: > Wait, wait ! > > In Scala parenthesis are not required : > > printf "%10.2f", x > > > Two more less characted !!! > > On 10 September 2010 18:08, Kevin Wright <[email protected]> wrote: > >> couldn't resist! >> all thanks to Cay Horstmann >> http://www.horstmann.com/ >> >> The March of Progress1980: C >> >> printf("%10.2f", x); >> >> 1988: C++ >> >> cout << setw(10) << setprecision(2) << showpoint << x; >> >> 1996: Java >> >> java.text.NumberFormat formatter = >> java.text.NumberFormat.getNumberInstance(); >> formatter.setMinimumFractionDigits(2); >> formatter.setMaximumFractionDigits(2); >> String s = formatter.format(x); >> for (int i = s.length(); i < 10; i++) System.out.print(' '); >> System.out.print(s); >> >> 2004: Java >> >> System.out.printf("%10.2f", x); >> >> 2008: Scala and Groovy >> >> printf("%10.2f", x) >> >> (Thanks to Will Iverson for the update. He writes: “Note the lack of >> semi-colon. Improvement!”) >> >> On 10 September 2010 13:49, Ricky Clarkson <[email protected]>wrote: >> >>> Ok, I'll come clean. The point is that a relatively common Java idiom >>> (that I dislike), multiple constructors in a subclass that call an >>> equivalent constructor in a superclass cannot be translated as-is to >>> Scala, as Scala's secondary constructors (def this..) implicitly call >>> the primary constructor. You will have to change that code quite a >>> lot to translate it to Scala, and the interface to it will have >>> changed. paulp found this when trying to automatically translate Java >>> to Scala. >>> >>> The difficulty is not necessarily a bad thing, but I think it's a code >>> sample that answers your original question. >>> >>> Ricky. >>> >>> -- >>> Ricky Clarkson >>> Java and Scala Programmer, AD Holdings >>> +44 1928 706373 >>> Skype: ricky_clarkson >>> >>> >>> >>> On Fri, Sep 10, 2010 at 12:44 PM, Kevin Wright <[email protected]> >>> wrote: >>> > Or without the obfuscation :) >>> > def countFor(x : Int) = 2 >>> > def countFor(x : Float) = 3 >>> > >>> > On 10 September 2010 12:27, Ricky Clarkson <[email protected]> >>> wrote: >>> >> >>> >> That won't compile, but if I fix the obvious problems then you're left >>> >> with a change to which things happen. When you do new Y(3) in the >>> >> original, X's constructor that takes an int will be called. An >>> >> alteration to make this clear follows, but I am trying to point out a >>> >> difference that makes converting from (poor) Java to Scala difficult. >>> >> >>> >> class X { >>> >> public int count; >>> >> >>> >> public X(int x) { >>> >> count = 2; >>> >> } >>> >> >>> >> public X(float x) { >>> >> count = 3; >>> >> } >>> >> } >>> >> >>> >> class Y extends X { >>> >> public Y(int x) { >>> >> super(x * 2); >>> >> } >>> >> >>> >> public Y(float x) { >>> >> super(x * 2); >>> >> } >>> >> } >>> >> >>> >> class YTest { >>> >> public void testY() { >>> >> assert new Y(0.5F).count == 3 && new Y(5).count == 2; >>> >> } >>> >> } >>> >> >>> >> Ricky. >>> >> >>> >> -- >>> >> Ricky Clarkson >>> >> Java and Scala Programmer, AD Holdings >>> >> +44 1928 706373 >>> >> Skype: ricky_clarkson >>> >> >>> >> >>> >> >>> >> On Fri, Sep 10, 2010 at 12:11 PM, Kevin Wright < >>> [email protected]> >>> >> wrote: >>> >> > easy! It does absolutely nothing, so the obvious improvement in >>> both >>> >> > languages is not to write it at all... >>> >> > But if you absolutely must keep the interface (mocking perhaps?) >>> then: >>> >> > class X(x: Float) { >>> >> > def this(x2: Int) = this(x2) >>> >> > } >>> >> > class Y(y: Float) extends X(y) { >>> >> > def this(y2: Int) = this(y2) >>> >> > } >>> >> > >>> >> > On 10 September 2010 12:01, Ricky Clarkson < >>> [email protected]> >>> >> > wrote: >>> >> >> >>> >> >> class X { >>> >> >> public X(int x) { >>> >> >> } >>> >> >> >>> >> >> public X(float x) { >>> >> >> } >>> >> >> } >>> >> >> >>> >> >> class Y extends X { >>> >> >> public Y(int x) { >>> >> >> super(x * 2); >>> >> >> } >>> >> >> >>> >> >> public Y(float x) { >>> >> >> super(x * 2); >>> >> >> } >>> >> >> } >>> >> >> >>> >> >> Ricky. >>> >> >> >>> >> >> -- >>> >> >> Ricky Clarkson >>> >> >> Java and Scala Programmer, AD Holdings >>> >> >> +44 1928 706373 >>> >> >> Skype: ricky_clarkson >>> >> >> >>> >> >> >>> >> >> >>> >> >> On Fri, Sep 10, 2010 at 11:57 AM, Kevin Wright >>> >> >> <[email protected]> >>> >> >> wrote: >>> >> >> > I'll throw down the gauntlet then... >>> >> >> > Can anyone provide an example of Java code that's can't be >>> improved >>> >> >> > by >>> >> >> > writing it in Scala >>> >> >> > Or Scala code that can be improved by writing it in Java (but >>> can't >>> >> >> > be >>> >> >> > improved by just rewriting within Scala) >>> >> >> > By "improve", I mean that the code is better with regards to one >>> (or >>> >> >> > more) >>> >> >> > of the following: >>> >> >> > - readability (how quickly can another developer, familiar with >>> the >>> >> >> > language, understand the code) >>> >> >> > - maintainability (how much work is involved in a simple >>> refactoring) >>> >> >> > - thread safety >>> >> >> > But doesn't sacrifice any of the above qualities. >>> >> >> > >>> >> >> > >>> >> >> > On 10 September 2010 11:45, Steven Herod <[email protected] >>> > >>> >> >> > wrote: >>> >> >> >> >>> >> >> >> This thread would be a lot better, faster and easier to read and >>> >> >> >> reply >>> >> >> >> to if it were written in Scala. >>> >> >> >> >>> >> >> >> On Sep 10, 8:42 pm, Ricky Clarkson <[email protected]> >>> wrote: >>> >> >> >> > Ok, conspiracy theory time! >>> >> >> >> > >>> >> >> >> > Reinier, the initiator of this thread, works on Project >>> Lombok, >>> >> >> >> > which >>> >> >> >> > uses annotation processing to add language features to Java. >>> >> >> >> > Therefore, isn't it in his interest to discourage uptake of >>> Scala >>> >> >> >> > and >>> >> >> >> > Clojure? Could he be trying to assert that all Scala users >>> are >>> >> >> >> > fanboys to try to discourage associating oneself with Scala? >>> >> >> >> > >>> >> >> >> > Of course, I jest. >>> >> >> >> > >>> >> >> >> > Ricky. >>> >> >> >> > >>> >> >> >> > -- >>> >> >> >> > Ricky Clarkson >>> >> >> >> > Java Programmer and Scala Fanboi, AD Holdings >>> >> >> >> > +44 1928 706373 >>> >> >> >> > Skype: ricky_clarkson >>> >> >> >> > >>> >> >> >> > >>> >> >> >> > >>> >> >> >> > On Fri, Sep 10, 2010 at 11:28 AM, Wildam Martin >>> >> >> >> > <[email protected]> >>> >> >> >> > wrote: >>> >> >> >> > > On Fri, Sep 10, 2010 at 10:44, Kevin Wright >>> >> >> >> > > <[email protected]> >>> >> >> >> > > wrote: >>> >> >> >> > >> But given the resistance I'm seeing to even small >>> differences >>> >> >> >> > >> between >>> >> >> >> > >> Java/Scala syntax, I suspect that Clojure will be far too >>> >> >> >> > >> radical >>> >> >> >> > >> for >>> >> >> >> > >> most >>> >> >> >> > >> institutionalised Java developers. >>> >> >> >> > >>> >> >> >> > > Somehow this sounds as Java developers are considered as not >>> >> >> >> > > being >>> >> >> >> > > very flexible - all the Scala and Clojure or whatever else >>> >> >> >> > > JVM-language programmers should remember, that most of them >>> >> >> >> > > probably >>> >> >> >> > > have been Java developers also for quite a long time. >>> >> >> >> > >>> >> >> >> > > Anyway, if it continues that way (if you need to address >>> each >>> >> >> >> > > single >>> >> >> >> > > language-fan-boy begging for not turning a thread into >>> trash) I >>> >> >> >> > > will >>> >> >> >> > > somewhat stop following the javaposse google group. >>> >> >> >> > > -- >>> >> >> >> > > Martin Wildam >>> >> >> >> > >>> >> >> >> > >http://www.google.com/profiles/mwildam >>> >> >> >> > >>> >> >> >> > > -- >>> >> >> >> > > You received this message because you are subscribed to the >>> >> >> >> > > Google >>> >> >> >> > > Groups "The Java Posse" group. >>> >> >> >> > > To post to this group, send email to >>> [email protected]. >>> >> >> >> > > To unsubscribe from this group, send email to >>> >> >> >> > > [email protected]<javaposse%[email protected]> >>> . >>> >> >> >> > > For more options, visit this group >>> >> >> >> > > athttp://groups.google.com/group/javaposse?hl=en. >>> >> >> >> >>> >> >> >> -- >>> >> >> >> You received this message because you are subscribed to the >>> Google >>> >> >> >> Groups >>> >> >> >> "The Java Posse" group. >>> >> >> >> To post to this group, send email to [email protected] >>> . >>> >> >> >> To unsubscribe from this group, send email to >>> >> >> >> [email protected]<javaposse%[email protected]> >>> . >>> >> >> >> For more options, visit this group at >>> >> >> >> http://groups.google.com/group/javaposse?hl=en. >>> >> >> >> >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > -- >>> >> >> > Kevin Wright >>> >> >> > >>> >> >> > mail / gtalk / msn : [email protected] >>> >> >> > pulse / skype: kev.lee.wright >>> >> >> > twitter: @thecoda >>> >> >> > >>> >> >> > -- >>> >> >> > You received this message because you are subscribed to the >>> Google >>> >> >> > Groups >>> >> >> > "The Java Posse" group. >>> >> >> > To post to this group, send email to [email protected]. >>> >> >> > To unsubscribe from this group, send email to >>> >> >> > [email protected]<javaposse%[email protected]> >>> . >>> >> >> > For more options, visit this group at >>> >> >> > http://groups.google.com/group/javaposse?hl=en. >>> >> >> > >>> >> >> >>> >> >> -- >>> >> >> You received this message because you are subscribed to the Google >>> >> >> Groups >>> >> >> "The Java Posse" group. >>> >> >> To post to this group, send email to [email protected]. >>> >> >> To unsubscribe from this group, send email to >>> >> >> [email protected]<javaposse%[email protected]> >>> . >>> >> >> For more options, visit this group at >>> >> >> http://groups.google.com/group/javaposse?hl=en. >>> >> >> >>> >> > >>> >> > >>> >> > >>> >> > -- >>> >> > Kevin Wright >>> >> > >>> >> > mail / gtalk / msn : [email protected] >>> >> > pulse / skype: kev.lee.wright >>> >> > twitter: @thecoda >>> >> > >>> >> > -- >>> >> > You received this message because you are subscribed to the Google >>> >> > Groups >>> >> > "The Java Posse" group. >>> >> > To post to this group, send email to [email protected]. >>> >> > To unsubscribe from this group, send email to >>> >> > [email protected]<javaposse%[email protected]> >>> . >>> >> > For more options, visit this group at >>> >> > http://groups.google.com/group/javaposse?hl=en. >>> >> > >>> >> >>> >> -- >>> >> You received this message because you are subscribed to the Google >>> Groups >>> >> "The Java Posse" group. >>> >> To post to this group, send email to [email protected]. >>> >> To unsubscribe from this group, send email to >>> >> [email protected]<javaposse%[email protected]> >>> . >>> >> For more options, visit this group at >>> >> http://groups.google.com/group/javaposse?hl=en. >>> >> >>> > >>> > >>> > >>> > -- >>> > Kevin Wright >>> > >>> > mail / gtalk / msn : [email protected] >>> > pulse / skype: kev.lee.wright >>> > twitter: @thecoda >>> > >>> > -- >>> > You received this message because you are subscribed to the Google >>> Groups >>> > "The Java Posse" group. >>> > To post to this group, send email to [email protected]. >>> > To unsubscribe from this group, send email to >>> > [email protected]<javaposse%[email protected]> >>> . >>> > For more options, visit this group at >>> > http://groups.google.com/group/javaposse?hl=en. >>> > >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "The Java Posse" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]<javaposse%[email protected]> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/javaposse?hl=en. >>> >>> >> >> >> -- >> Kevin Wright >> >> mail / gtalk / msn : [email protected] >> pulse / skype: kev.lee.wright >> twitter: @thecoda >> >> -- >> You received this message because you are subscribed to the Google Groups >> "The Java Posse" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<javaposse%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/javaposse?hl=en. >> > > > > -- > Romain PELISSE, > *"The trouble with having an open mind, of course, is that people will > insist on coming along and trying to put things in it" -- Terry Pratchett* > http://belaran.eu/ > > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<javaposse%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > -- Kevin Wright mail / gtalk / msn : [email protected] pulse / skype: kev.lee.wright twitter: @thecoda -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
