4 ms·
Ask HN: What´s your favorite JVM Language?
- mindcrime 8y agoGroovy. Because it's "java like" enough that all of my years of experience using Java still pay dividends, but yet it knocks off most of the warts Java has (writing getters and setters, for example), while adding cool stuff like dynamic typing, closures, currying, map literals, string interpolation, tons of handy convenience methods, etc.
- vorg 8y ago> adding cool stuff like dynamic typing, closures [to Java] Both dynamic-style inferred typing and closure-like lambdas have been added to Java since Apache Groovy was first released. Groovy's business case has become less compelling as a result.
- mindcrime 8y agoGroovy's business case has become less compelling as a result. By a small margin, yes. Personally, I still find Groovy far more compelling than plain Java, especially when I'm using Grails for "web stuff". For pure backend REST services, I do sometimes go with plain Java and Spring Boot. As the old saying goes "use the right tool for the job". Hell, I'd use COBOL if there was a compelling reason. :-)
- zmmmmm 8y agoI thought that too at first, but actually trying to use lambdas in Java still ends up a lot more verbose and cumbersome than the kind of fluid APIs you can do with Groovy.
- croo 8y agoKotlin. Learning curve is gentle, reduced boilerplate, aggressive null handling, first class language support in IDEA and interoperability with Java codebase.
- w4tson 8y agoKotlin for me too. It’s like the pinched the cool bits from other languages to boost java. Plus the power of java ecosystem. The tooling is amazing because obviously it’s Jetbrains’ baby. Gradle are on board as are the android team. Spring boot lot are going for it. It stands a good chance of getting a lot more mindshare than it has currently
- kevinherron 8y agoKotlin!
- zmmmmm 8y agoGroovy, because it seems to have so much flexibility in what you can do with it. Its' the true "scala" to me in the sense that I can write single line bash scripts with it, but I can also write full fledged complex applications and high performance code that gets close enough to performance with Java and even C++ for most of my use cases. I can switch seamlessly between any level of static / dynamic typing to achieve whatever I want from among these different applications, and I can even do it after the fact.
- LetMeIn22 8y agoJava