Cloud application platform provider Heroku recently expanded its reach by adding support for Java. The move adds to the platform’s appeal and strengthens its supported language lineup which already included Clojure, Node.js, and Ruby.
Heroku first introduced its Celadon Cedar stack in May. The company claimed that the stack would be able to run any language. With the addition of Java to the mix, Heroku’s is solidified even further. Adam Wiggins, co-founder of Heroku, described the latest move in a recent blog post, noting: “Java is, by many measures, the world's most popular programming language. In addition to its large and diverse developer base, it offers a huge ecosystem of libraries and tools, an extremely well-tuned VM for fast and reliable runtime performance, and an accessible C-like syntax.”
Bill Lapcevic, VP of business development at New Relic, claimed that Heroku’s support of Java would open new doors for the platform. He said: “New Relic and Heroku have been long-standing partners and it's great to see them expand their multi-language platform with support for Java. This puts Heroku in a key position to serve Salesforce.com's developer audience as their platforms are largely Java- based. It also puts Heroku on the same playing field with existing solutions like Amazon Elastic Beanstalk. I expect there will be a significant uptake from enterprise developers looking for easy deployment and multi-language support for their critical apps."
Besides its popularity, Wiggins noted various other reasons for supporting Java. He applauded the Java Virtual Machine (JVM) for its reliable memory footprint and impressive performance, calling it one of the best runtime VMs around. Wiggins cited Java’s massive estimated population of six million developers as another reason to support the language, and said that it’s the industry’s best developed programming language for building server-side applications. He cited the JVM runtime environment’s wide availability across platforms as an appealing factor as well. “Supporting Java is what's best for the large world of Java developers; it's what's best for developers who want to use other JVM languages; and it's even good for users of other languages, who will benefit indirectly from the learning their community may gain from contact with Java,” Wiggins said.
Wiggins also promised that Heroku would help to clean up certain problems associated with Java 2 Platform Enterprise Edition (J2EE), noting that the platform offers “the capabilities promised by J2EE application containers for managing your app include deployment, restart, logging, service binding (config), and clustering (horizontal scaling. Running your Java app on Heroku, you achieve these ends via the platform instead.” He added, “Using Heroku's platform to run Java apps finally solves the impedance mismatch between application containers designed for traditional software distribution, and the modern world of software-as-a-service.”
The recent release of Java Platform Standard Edition 7 (Java SE 7) was the first major Java release in over five years. It also marked the first Java introduction under the Oracle umbrella. While Java SE 7 did have a bit of a rough start due to some serious bugs, it has been fixed, and it offers developers a host of new features that are worthy of praise.
Although Java SE 7 comes with various upgrades, some believe that its timing is its most important feature. “The main thing about Java SE is that it shipped. The inertia of five years without a release had to be overcome,” said Al Hilwa, an analyst at IDC. Some features, such as language and VM support for modular programming and the ability to add closures for multi-core programming did not make the deadline for Java 7, meaning users will have to wait for Java 8’s release in 2012 to see them.
As for what’s available now, Java 7’s new and improved feature set begins with support for dynamic languages. According to Hilwa, such support will promote the expansion of the Java ecosystem. Thanks to a multi-core ready API, developers can decompose problems into tasks for parallel execution via multiple processor cores more efficiently. Another Java 7 improvement serves to help increase developer productivity. With Project Coin, coding is reduced and syntax is clarified through various language changes.
Java founder James Gosling cited the new NIO2 file-system capabilities as one of his favorite features of Java 7. NIO2 supplies a solid interface for working with file systems that offers detailed error information and broad access to file attributes. Other Java 7 highlights of note include the new Gervill sound engine and the XRender pipeline for 2D graphics rendering.