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].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to