Hacker News new | past | comments | ask | show | jobs | submit login

Paul Graham's meaning of "is dead" is "has stopped producing exciting ideas". He declared Microsoft dead in the mid-2000s. He wasn't saying "no one uses Microsoft products" or "Microsoft is out of business" (both demonstrably false) but that it was an evolutionary dead end. So far, he's been proven right. If Microsoft ever becomes a company worth caring about, it will be a different Microsoft from what it is now (cf. the parable about never stepping in the same river twice).

He was wrong if his prediction were taken to apply to the JVM ecosystem, because Groovy and Scala and Clojure happened, but he was right about Java-the-language (it has limited uses, but you should be using at least Groovy if not Scala or Clojure for modern JVM development) and undeniably dead-on about Java-the-culture (which is the only thing he claimed the ability to evaluate, having admitted not using the language ever).




There's a list of over 80 languages for the JVM at (http://en.wikipedia.org/wiki/List_of_JVM_languages). I don't think you can really recommend any. The article says:

Apart from the Java language itself, the most common or well-known JVM languages are:

Clojure, a functional Lisp dialect

Groovy, a scripting language

Scala, an object-oriented and functional programming language[1]

Kotlin, statically typed programming language compiled to JVM byte code and JavaScript by Jetbrains

Ceylon, an upcoming programming language and SDK, created by Red Hat

JavaFX Script, a scripting language targeting the Rich Internet Application domain (discontinued 2010)

JRuby, an implementation of Ruby

Jython, an implementation of Python

Rhino, an implementation of JavaScript

AspectJ, an aspect-oriented extension of Java

I would add Gosu, Fortress/JVM, and Beanshell as important. Others were talked about at the recent JVM Language Summit (http://openjdk.java.net/projects/mlvm/jvmlangsummit/agenda.h...).


Have you used any of these languages? The Wikipedia list is overly simple at best.

The common thing that these all share is easy access to the world of Java code, much of which is very well written. The Java standard libraries are well-written and well-documented. There are plenty of high quality open source projects covering almost anything you need.

I am most familiar with Groovy and it is much more than a simple scripting language. It spans the continuum from scripting to full-on enterprise-level stuff. It adds all of the functional features we love to Java, language support for maps, makes it easy to create DSLs for specific purposes, etc.

I do not know nearly as much about the other languages, but almost all of these are in production use. I would recommend many of them.


Scala and Clojure seem to have gotten a definite traction. Just from reputation alone, I'd choose Clojure for a JVM greenfield project if I was asked to do such a project.


I'd argue the "Processing" dialect is more important than some of these.


Sort of like how "off the record" is a fluid definition for journalists. If no one agrees on what it means, they can't hold you to it!


>Paul Graham's meaning of "is dead" is "has stopped producing exciting ideas"

Not really, he came up with his prediction:

"I have a hunch that it won't be a very successful language"

Java not just took off like a rocket, but .NET/C# (which built on top of Java) has encountered even more success, so much that companies collectively pay billions a year for Windows Server 2003/IIS/SQL Server while Apache/Tomcat/Php/MySql/PostGres/Ruby are free. You can say Microsoft takes most of the profit in the web server and server OS market (like how people say Apple takes 80% of the profit in the phone market).


How do you consider .NET and C# built on top of Java? They're certainly designed a direct competitor, with C# + .NET built to check every box that Java + JVM does, but most of the things in common between the two weren't new in Java.

In the years since, new C# features have diverged sharply from Java's.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: