Food for thought... Duke Nukem Forever will now be released before Java 7...



On 9 September 2010 11:11, Kevin Wright <kev.lee.wri...@gmail.com> wrote:

> There's also a scala-virtualised branch, mainly intended for DSL support,
> which I hope to see merged in soon.
>
> This offers:
> overloadable while loops, if-else, etc. (useful for e.g. translating
> control flow to OpenCL, or JavaScript)
> transparent proxies (re-route all calls to a forwarder method)
> extension methods (easier pimping of your libraries)
>
> Maybe it'll even go live by 2.9, if we get lucky :)
>
>
> On 9 September 2010 10:55, Ricky Clarkson <ricky.clark...@gmail.com>wrote:
>
>> You're probably thinking of duck typing specifically.  A lot of people
>> who like dynamic typing like it because the code seems less verbose.
>> DEF FN f(x) = x * 2 (Spectrum 48K BASIC!) is easier to read than the
>> equivalent Java: public static int f(int x) { return x * 2; } and even
>> the equivalent Scala: def f(x: Int) = x * 2, but it should be noted
>> that there are typed languages (which don't do subtyping) that don't
>> require you to write types explicitly ever, but don't mind terribly if
>> you prefer to:
>>
>> f x = x * 2 -- Haskell.
>>
>> And unlike the Scala or Java versions you can call Haskell's f on
>> anything that's a member of the Num type class (i.e., Int, Double,
>> etc.).  In Java you'd need to copy and paste f a number of times to
>> make it work for anything for which * is defined upon.
>>
>> Regarding duck typing, most of the benefits of emulating that in Scala
>> are when working with code that can't be changed.  E.g., some types
>> with a close() in the Java libraries do not implement Closeable, so if
>> you want to be able to accept anything that can be closed you use
>> structural types.  Other than that I don't think it's worth designing
>> with structural types in mind.  Nominal types will normally be far
>> superior.
>>
>> The other benefits of duck typing can't be emulated with structural
>> types.  You would have to use reflection.  Paul Phillips has written a
>> convenient 'extension method', o, for reflectively accessing methods
>> not known at compile time, e.g.:
>>
>> Class.forName("Bob").newInstance o "fireTheMissiles"
>>
>> I'm not convinced that's a good thing, but I think it's just an
>> experiment and not in the standard library.  Perhaps Scala will gain a
>> 'dynamic' type like C# did recently.  I don't think I'd use it other
>> than if I needed to communicate with Ruby or some other untyped
>> language, but if there's enough clamour it may happen.
>>
>> Ricky.
>>
>> --
>> Ricky Clarkson
>> Java and Scala Programmer, AD Holdings
>> +44 1928 706373
>> Skype: ricky_clarkson
>>
>>
>>
>> On Thu, Sep 9, 2010 at 10:34 AM, B Smith-Mannschott
>> <bsmith.o...@gmail.com> wrote:
>> >
>> >
>> > On Thu, Sep 9, 2010 at 08:28, Casper Bang <casper.b...@gmail.com>
>> wrote:
>> >>
>> >> > I still have some hope for Fantom because I don't think it crossed
>> that
>> >> > threshold yet, but it's getting dangerously close to it.
>> >>
>> >> What speaks to Fantom's advantage is it's dynamic typing feature,
>> >> something Scala ignores completely - in spite of various luminaries
>> >> view that the static and dynamic world will inevitably merge down to
>> >> opt-in semantics. Unfortunately Scala seems to run with all the
>> >> attention, regardless of the bad taste in the mouth it leaves with lot
>> >> of people.
>> >
>> > You can get much of the benefit of dynamic typing by using Scala's
>> > structural typing:
>> > http://codemonkeyism.com/scala-goodness-structural-typing/
>> > This has been part of the languge since at least 2.6 (July 2007). (3
>> years!)
>> > I'm more and more convinced that the "bad taste in the mouth" people
>> > complain about is born of ignorance. It's just the natural reaction many
>> > have when confronted with something new and unfamiliar. Of course one
>> feels
>> >  like a klutz at first, working with a new language with new concepts,
>> > conventions and syntax. That's normal. Anyone who's learned more than
>> one
>> > language must know this by now. I found Clojure pretty weird when I
>> started,
>> > and that despite previous exposure to Scheme. Now I find, I can
>> appreciate
>> > its advantages. I'd encourange those unfamiliar with Scala to cut it
>> some
>> > slack or get familiar with it before spouting nonsense.
>> > // Ben
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "The Java Posse" group.
>> > To post to this group, send email to javapo...@googlegroups.com.
>> > To unsubscribe from this group, send email to
>> > javaposse+unsubscr...@googlegroups.com<javaposse%2bunsubscr...@googlegroups.com>
>> .
>> > 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 javapo...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> javaposse+unsubscr...@googlegroups.com<javaposse%2bunsubscr...@googlegroups.com>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/javaposse?hl=en.
>>
>>
>
>
> --
> Kevin Wright
>
> mail / gtalk / msn : kev.lee.wri...@gmail.com
> pulse / skype: kev.lee.wright
> twitter: @thecoda
>
>


-- 
Kevin Wright

mail / gtalk / msn : kev.lee.wri...@gmail.com
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 javapo...@googlegroups.com.
To unsubscribe from this group, send email to 
javaposse+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to