4 ms·
Definitely Scala. I've worked with Groovy/Grails, which is nice in a lot of ways (mainly ways that are borrowed from Ruby/Rails), but I think the language is hi
by TrevorBurnham 17y ago
Definitely Scala. I've worked with Groovy/Grails, which is nice in a lot of ways (mainly ways that are borrowed from Ruby/Rails), but I think the language is hindered by being overly Java-compatible. That makes it easy to learn, but limits the language's capabilities. I'd be very happy if some of the syntactic sugar of Groovy were simply made a part of the Java language (e.g. default scope is getter/setter, lists and maps have their own syntax); that would cut down on the ridiculous amount of Java boilerplate. I'm not as big a fan of the dynamic aspects of Groovy, which can make debugging painful. In Grails, if something goes wrong, it's not uncommon to see a 30-line stacktrace that gives you no clue as to where the error actually occurred, because the error-prone code was added dynamically.
As to Scala: It's extremely elegant, and the community has its act together as far as positioning the language to go mainstream. I'm expecting the 2.8.0 release to be a major step forward, thanks in part to a completely rewritten Eclipse plugin. That kind of tool support will be crucial in getting the language to critical mass. One thing that worries me, though, is that Scala projects tend to be built using Maven, which is awfully complex. Perhaps something like JavaGems may prove to be more important to the future JVM ecosystem than any single language.
- shpxnvz 17y agoSBT, the Simple Build Tool, is a pretty good step in the right direction for building Scala projects, and I imagine it would work pretty well for plain Java code too. It's been mentioned on the mailing list that Lift, for instance, will eventually move from Maven to SBT when it's functionally complete. http://code.google.com/p/simple-build-tool/ http://code.google.com/p/simple-build-tool/
- TrevorBurnham 17y agoThanks for the link! I'll definitely try SBT for my next Scala project.
- nradov 17y agoWhat do you find awfully complex about Maven? I've been using it for a while and it seems fairly simple, considering the complexity of the problem.
- kennu 17y agoI think this proves enough about the complexity (from Lift tutorial, how you create a new project): mvn archetype:generate -U \ -DarchetypeGroupId=net.liftweb \ -DarchetypeArtifactId=lift-archetype-blank \ -DarchetypeVersion=1.0 \ -DremoteRepositories=http://scala-tools.org/repo-releases http://scala-tools.org/repo-releases \ -DgroupId=demo.helloworld \ -DartifactId=helloworld \ -Dversion=1.0-SNAPSHOT The whole Java world is full of that kind of crap that makes it impossible to do anything in a simple way from memory only. (I'm a Django person myself and also like Rails.)
- jbellis 17y ago> lists and maps have their own syntax fwiw, this will be in jdk 7 (from project coin, iirc)