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.

Reply via email to