Forget it, Python is the new language du jour...
Java is so last millennium...
The next Android SDK version will probably be in Python too, that's why
it takes so long and they never care to fix critical bugs in the Java
version ;-)
Michael
(for those of you too young, google "youtube tastes great less
filling". Its an old beer commercial)
Python isn't exactly "new", by the way. According to wiki, its 4
years older than Java (91 vs 95). A counter argument that one might
have is that if Python was going to take over the world, it would have
already ;)
Light that match...
1) Name. Sounds like a joke.
2) Everybody associates it with Grails. Blah.
3) IDEs are taking their time to come around (although I believe Idea
now does automatic imports, which was the deal killer for me).
Its built on top of Java, has a syntax that is very similar to Java.
Interacts back and forth directly with Java, so you can write Java and
Groovy right next to each other. Has closures and all sorts of other
fancy stuff the RTT* languages have, and is optionally typed.
that last part completely evaporates any perceived benefit that a RTT
language (Ruby, Python, etc) would have. You can specify your types,
and get the type checking and IDE features (code completion, etc), but
you don't have to.
I can't speak to Groovy's performance compared to other RTT languages.
It does have an abstraction layer in front of everything, including
numbers, so number intensive apps get killed. However, since you can
call back and forth between groovy and java classes, you just
re-implement whatever stuff is absolutely time critical.
I think Java 7 is going to try to implement some of the stuff that
Groovy has, like closures, and get close enough that people aren't
going to jump on it. That's unfortunate. I think the combo of the
two, as first class citizens, would be great. Code in Groovy if you
want something more "scripty", then switch right to java for the other
stuff.
* RTT - Run Time Typed. I don't say "dynamic" because the word
implies better. Try it. Ask a non-tech buddy what is better.
Dynamic or static. Guess what the answer will be. Ask the same
person if "run time" is better than "compile time".
you might have missed the sarcasm? ;-)
Michael
That is called Turin complete for those who actually listened in CS classes ;-)
btw, I've been doing Smalltalk since it existed...
Still going strong :-)
Now that is opening a can of worms ;-)
Michael
1.5 is out, with a joint compiler, plus some other interesting stuff.
Seriously. If you're a Java person and feel like you need to look at
the "dynamic" languages...
http://www.infoq.com/articles/groovy-1.5-new
I wrote some crazy under the hood stuff with it last year. Using the
meta class info and whatnot. Its nice.