Michael Swierczek wrote:I have a couple of opinion questions for the writers of the book, if you two gentlemen don't mind. It would just give me more of a feel for your own experience and preferences when you make your advice and suggestions.
When you speak of polyglot programming, what languages (if any) outside the world of the JVM have you used extensively? Are there any you enjoy as much as Java, Groovy, or Scala?
I see from the table of contents that you discuss Grails and Compojure. Have you used Spring Roo? Google Web Toolkit? Play Framework 1.x, 2.x? Liftweb? What made you pick those two choices?
I also see that you discuss Maven. Have you used SBT? If so, how would you compare that to Maven?
Thanks for your time.
-Mike
Hi Mike,
I'll answer for myself - I'm sure Martijn will have very different answers!
In terms of non-JVM languages I've used BASIC, z80 & x86 Assembler, Pascal, C, Perl and Javascript pretty extensively, and C++, Fortran 77 and Ruby from time to time. My favourite non-Java JVM language is actually Clojure & I find my mind changes about Scala all the time.
I've always enjoyed some of the power that C and Assembler bring, and I find that Perl's reputation is mostly pretty undeserved - it has a huge amount of good stuff in it and can teach the careful student a lot. On the other hand, I think that Ruby is probably the most over-rated language that I've touched, and that Javascript is an abomination that just needs to die
On the web programming front, my interest is largely building small consoles and apps, rather than large-scale, consumer-facing websites. So I like Compojure & Grails because of the ability to whip up something simple quickly - and some of those other tools seem like they'd be pretty big overkill for what I build.
I've used SBT a little bit. I know it's under active development, but I have to say that I find it really very immature compared to Maven. Having said that, I'm not a huge fan of Maven either - in fact I really wish that the Java world had a build tool like Leiningen (from the Clojure world).
Thanks,
Ben