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.
