Python/Jython, Groovy and Clojure are all truly great languages, with
Clojure being my favourite of the three.

The only problem for me as that they're dynamically typed, which is the
programming equivalent of doing physics without any sort of dimensional
analysis (http://en.wikipedia.org/wiki/Dimensional_analysis), or perhaps
like having unprotected sex (so, yes, it can be fun too!)


With good inference, static typing really doesn't have to be painful.  Plus
you get to keep all the well known benefits in refactoring, etc...

We can actually go one step better than this though, just consider what's
even now being achieved with type classes:

The List type has a sum() method; which does the obvious thing
This method will work for any list of Numeric values
It's even possible to define your own type such that it's recognised as
being Numeric (e.g. complex numbers)
if you attempt to use the sum method on anything except a list of some
Numeric type, it will fail
and it will fail statically, the compiler will throw an error
and yes, all this still happens even in the presence of type erasure (which
Scala needs for Java compatibility)

Try *that* with Java 7 :)



On 28 August 2010 19:29, Russel Winder <[email protected]> wrote:

> On Sat, 2010-08-28 at 09:55 -0700, Cédric Beust ♔ wrote:
> >
> >
> > On Sat, Aug 28, 2010 at 9:09 AM, Kevin Wright
> > <[email protected]> wrote:
> >         surely you mean "without taking away all the extra baggage
> >         that Scala removes"?
> >
> > Scala certainly removes some extra baggage but it adds quite a bit of
> > its own.
> >
> > For what it's worth, I think Python is actually a better language to
> > begin because of its lack of compilation and very low syntactic noise.
>
> Having tried Pascal, C, C++, Scheme, Miranda, Java, Groovy and Python as
> introductory programming languages over the years, I can say that of the
> languages today for today's audiences Groovy and Python win hands down.
>
> As a second language though C++, D, and Scala are strong contenders.
>
> Python and C/C++/Cython are a very natural combination;
> Groovy/Scala/Clojure/Java are a very natural combination.
>
> --
> Russel.
>
> =============================================================================
> Dr Russel Winder      t: +44 20 7585 2200   voip:
> sip:[email protected] <sip%[email protected]>
> 41 Buckmaster Road    m: +44 7770 465 077   xmpp: [email protected]
> London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
>



-- 
Kevin Wright

mail/google talk: [email protected]
wave: [email protected]
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