With all the enthusiasm of cleaning up a dog turd …
Aug 26th, 2011 by sharps
… Heroku finally got around to supporting Java. But they couldn’t do it without first piling on some hate.
Why then, if Java is such a miserable platform to develop on would Heroku bother ?
Here are a couple of thoughts :
1. Huge Developer Base

2. Massive Adoption

3. Large, Active Ecosystem
Only Java gives developers such a broad range of tools, technologies and APIs – both commercial and open source. Only Java gives you Open Standard enterprisey features like Transactions, Object Persistence, Messaging, Security, Integration, scalability and high availability for when you need them.
Basically, most professional developers use Java (if they aren’t beholden to Microsoft that is) and they, to a degree, decide how to spend money on deployment and long-term care and feeding of applications. And Heroku, like any other company wants to make money.
But why would a professional Java developer choose Heroku given their very out of date and poorly informed opinion of Java ?
Surely – Red Hat’s OpenShift is a better choice ? Instead of whining about Java’s shortcomings over the years – Red Hat / JBoss has put a huge amount of energy in fixing Java’s shortcomings – and doing it in an open and collaborative way so the entire ecosystem can benefit. Red Hat has a deep understanding of Java technology and open collaboration – more than anyone else in the industry. OpenShift’s support for Java EE 6 is a recent example of this – we didn’t sit around complaining that Java EE didn’t fit with the new deployment paradigm that PaaS represents – we simply did what we had to do to make it work. And you can try it for free.
Finally, as Isaac makes clear, it’s time for the folks at Heroku to wise up about Java and maybe trade in their 2004 copy of “Beginning J2EE 1.4: From Novice to Professional” and have a look at some of the advancements in Enterprise Java over the last decade. Hey – Adam – leave a comment and I’ll buy you a new book
Ok but …
Java sucks.
Sorry to be so blunt.
I rather spend my time writing Ruby or Python code, than bother with Java as a language.
I give you that though, the ecosystem around Java is quite impressive. I’d just wish Ruby or Python could pull that off too … much much better language than Java these are for sure.
The culture of “doing what we have to do to make it work, without complaining” is one approach. Creating a flexible new deployment model like Heroku’s is another.
If Red Hat’s OpenShift is a full-stop obvious better alternative to you, then it is possible that you might not be Heroku’s target market.