4 ms·
I'm sorry if this is ignorant, but why Groovy and not sure other language that can run in the JVM? (Also, how much longer will the name "JVM" stick?)
by drivebyacct2 16y ago
I'm sorry if this is ignorant, but why Groovy and not sure other language that can run in the JVM? (Also, how much longer will the name "JVM" stick?)
- terinjokes 16y agoBecause it seems he's doing a series on multiple languages that can run in the JVM, starting first with Groovy, and moving next into Scala. He also mentions Clojure (probably the next in the series after Scala), in addition to Jython and JRuby. I, personally, have nothing against the name "JVM". Describes which VM we're talking about (even if more than just Java use it)
- pufuwozu 16y agoIt's not just Java and Groovy. I've managed to write a "Hello World" app using 6 different JVM languages: https://bitbucket.org/puffnfresh/hello-jvm/src/f78a6a2312ae/src/ https://bitbucket.org/puffnfresh/hello-jvm/src/f78a6a2312ae/... Interoperability is actually very nice for most languages.
- drivebyacct2 16y agoRight, that's my point. Why is Groovy "java.next()" and not one of the other many languages that run in the JVM? edit: Maybe I've misinterpreted the headline to mean more than it should.
- vorg 16y agoGroovy is different to Scala and Clojure, the other two languages in that blog series, in that Groovy uses the Java classes whenever possible, and isn't intended to run on the CLR. Scala and Clojure were both intended to be dual VM from the start. Rich Hickey says the 'C' in Clojure is for CLR and the 'j' is for JVM. Scala and Clojure have their own collection classes runnable on either VM, while Groovy is JVM-bound. And of course Python and Ruby do it differently, having J- and Iron- implementations, each at different versions to the primary implement and each other.
- rtaycher 16y agoI believe the .net versions of both scala and clojure are rarely used and not a main focus.
- zem 16y ago"In a series of articles labeled “Java.next()” I’ll be discussing modern alternatives to the Java programming language." i.e., they're all labelled "java.next()"
- deleted 16y ago[deleted]
- mgkimsal 16y agoAre you asking why the article was about Groovy, or "why groovy?" in a broader sense? On the 'broader sense' angle, Groovy is a good for certain people/teams who are looking to get more out of Java development without giving up too much of what they have invested in. Pretty much all Java code will run in Groovy unchanged, and you can update existing working Java code with some Groovy decorations in the same file without issue. Moving to JRuby or Jython, for example, require you to make larger changes to rethink entire classes in the new syntax. Admittedly some people consider this a small point, but it's certainly nice for some people to be able to reuse existing Java syntax without needing to learn a lot of new syntax up front - with Groovy you can try out new syntax as you go, but always drop back to raw Java when you want (again, in the same file - you can use existing Java classes in JRuby and Jython IIRC).
- va_coder 16y agoWhy Groovy? * Groovy is easy to develop in - it's dynamically typed and far less verbose than Java * It's mature and stable * It's easy for Java programmers to learn * It's easy for Python and Ruby developers to learn * Grails, groovy.sql.Sql, XmlSlurper and a host of other Groovy libraries * Documentation is good and support forums are very active * Groovy is actively developed. Version 1.8 was just released. I haven't had the time to look at the new features but glancing at the changelog they look pretty good. * And last but not least, Java shops with a heavy investment in Java and Java servers can easily integrate Groovy as opposed to rewrite things in Python and Ruby (For green field development I still prefer Ruby)