Rob Williams is a probabilistic Lean coder of Java and Objective-C. Rob is a DZone MVB and is not an employee of DZone and has posted 171 posts at DZone. You can read more from them at their website. View Full User Profile

Java: Progress Measured in Decades

06.27.2013
| 6792 views |
  • submit to reddit

So Kepler dropped today. I have been writing Akka code lately and was pretty sure there would be no way to use it. I was right. The Scala IDE, a product that only exists as an eclipse plugin, did not even bother to get ready for this train. I found a few Google Groups threads where someone built it and ran some tests. Nothing on their page at all. This train (Kepler) was in the making for a year!! Kind of hilarious to consider that the iOS releases are put out to beta and millions of people have stuff ready to go when the release gets to the station. Is it because people don‘t see the advantages of the newer trains? or just that they need more time? Who knows, but the net net is that Java takes forever and its open community, which was supposed to be a way to make things happen fast and solidly, makes the soviet bloc look like a panzer division on the progress front.

Meanwhile, I installed the 10.9 beta (Mavericks) on a bunch of machines. Java is not included. So installing it was not terrible, but Oracle wants you to install 7. I figured, ‘wow, 8 is about to be released (or was about to be released), 7 should be solid..‘ lol. Yeah. You see, Kiddies, even though these releases are coming 1.5 years apart, and have so few features most people don‘t even know what is included in each, they are anything but solid. First I tried to run JIRA and that crapped out. I thought it might be OS/X related. Nope. It was Java 7. Atlassian has added support after a year of people squawking, but you have to upgrade JIRA to get it. I installed 6 and changed JAVA_HOME. Then I installed TomEE and Tomcat 7. Some really kookie stuff was happening trying to run Nexus on TomEE with 7. Finally deployed it on tomcat. Still have to go back and figure out why that wasn‘t working. But then, deployed an app I had done with REST services on Tomcat 7 and the email stuff was not working. Turned out it was Java 7. Something crazy about classes not being included in the mail jars.

Meantime, Java EE 7 has shipped. There are some things in there that look pretty good. Was talking to a couple of people I have done Java with in the past last week. One has gone on to PHP, which was really depressing (but understandable). The other asked me what I would do to add some functionality to a website, I told him I would for sure use Bootstrap, but then that I was thinking about trying 7 with JSF 2.2. He said ‘I consider JSF legacy at this point.‘ So in other words, he‘s now voting with the Javascript Won camp. (Additional irony: he‘s speaking at JavaOne about JSF.)

Java is not going away anytime soon, but I predict that they are going to start seeing adoption arcs that make Android look like Dominos pizza. (I loved the graphic from the WWDC keynote where 1/3 of the Android user base is on a version of the OS from 2010.) Soon as that happens, it becomes incredibly difficult to see how forward momentum is regained. One of the big takeaways from node and its explosion is that being new, and easy to get going, is a thing in itself, even if you are using an inferior language. Personally, I would use Javascript for some things (small things) but I would sooner go work in a glue factory than decide all my general purpose programming going forward was going to be in javascript. I revisited the Where Rails Went Off the Rails thread. It‘s really a good read. But it‘s also not very convincing. It rightly diagnoses the hem and haw as fashion, but then just says ‘hence I am going to go with the new what‘s hot.‘

My favorite Kafka book was the thin little tome ‘Parables and Pardoxes,‘ which was collected from his papers (that were not burned per his orders). It contains the story ‘The Hunter Gracchus,‘ which is awesome, but also a ton of great little tidbits, many of which are like NIetzschean aphorisms. His one on Alexander the Great applies here:

It is conceivable that Alexander the Great, in spite of the martial successes of his early days, in spite of the excellent army that he had trained, in spite of the power he felt within him to change the world, might have remained standing on the bank of the Hellespont and never have crossed it, and not out of fear, not out of indecision, not out of infirmity of will, but because of the mere weight of his own body.

One of the really remarkable thing about Objective C and Cocoa is the degree to which it has succeeded in avoiding this fate of just becoming a bloated, ass anchored collection of blubber. In a culture that not only doesn‘t value longevity, but often mocks it, most people (present company included) would not have made that a consideration. I still contend that it is one of the main reasons that Apple succeeded, all the designer fetishizing form videos later: their software has not rotted.



Haha, JSR-107 was submitted to a public review today (saw on @arungupta). That thing was concocted at least a decade ago…

Published at DZone with permission of Rob Williams, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)