Guardian.co.uk is switching from Java to Scala. I’m surprised it took so long and that other Java shops are not following en masse — it could be because of how different and esoteric Scala can be, especially to Java programmers. The linked infoQ article contains an interesting discussion with the Guardian folks.
Programming enterprise web applications (or anything, for that matter) in Java is painful for anyone mature enough to have experienced the wealth and breadth of tools out there, given how primitive, verbose and unproductive it is, and how much it caters for the lowest common denominator of a programmer. That’s not to say that Scala is the best choice for everyone, let alone those not starting from scratch, but given the Guardian’s existing infrastructure and systems, I guess that it’s the best choice they could’ve made.
The Saga Called Java and the Mac.
The Macintosh has always been unique in terms of software, ever since it came out in 1984. From the now almost disappeared ‘Resource Fork’ of MFS/HFS, the pascal slant of Mac OS releases up until the early 1990s, the multiple architectural and design transitions, the Carbon/Cocoa duality of early Mac OS X, ‘Classic’ and ‘Rosetta’, the irrelevant HIG, to the numerous, continuous self-contradicting choices that Apple has kept making throughout its development in the past twelve or so years that Jobs and Co. returned to Cupertino.
Apple has, ever since the mid-1990s had decent support for Java on its platform. For a long time the company has provided its own versions of the JRE/JDK. When Mac OS X came out the reason was simple: Sun wasn’t going to do it, it was already burdened with a number of versions and the post-bubble era was a tough time for the company, so Macintosh support was out of the question. In the early years of Mac OS, say until 2004, Java was a rising star in the OS X community; Apple was doing an relatively good job providing recent-enough versions of the JRE/JDK for its computers and most people were happy. The ‘Java bridge’ and the nascent — for Macheads that is; the technology was much older and extremely well-designed, for its time — Cocoa framework allowed beautiful, usable rich Java applications to be written for OS X, at a time when SWT was somewhat immature and Swing was, well.. Swing.
Then some people at Apple decided that Objective-C was worth a revamp, it started working on Objective-C 2.0, which gave ‘managed code’ a new meaning among Mac developers, and — in the process — dropped the Java bridge; Jobs didn’t want people to code rich Java apps with Cocoa widgets on the Mac anymore, in the same way he didn’t want anyone to keep writing (let alone start writing) applications using the Carbon framework. Cocoa and Objective-C was the way.
The end of quasi-decent Java on the Mac was heading our way at breakneck speeds, but few would expect that Apple would stop providing newer versions of Java for its computers, without someone else picking up the task of doing so. Or would they?
»
Oracle Buys Sun. Sigh.
This is probably one of the worst conclusions to a saga that lasted for several years and was followed closely by so many people; yes, it’s true that Sun has been slowly, but steadily, disappearing from the radar as a major player in this industry, but it has also continued to innovate all the while it tried to determine its relationship to Open Source, and by extension how it was going to survive in this Great Open World.
Similarly, Oracle has been a company that — similarly to Sun — thrived on proprietary, dominant solutions while Open Source competition gradually eroded its dominance; look at how many of the world’s most popular sites are powered by MySQL and you’ll see why for some — and increasingly many — needs an Oracle licence is now completely pointless. Yet contrary to Sun Microsystems, Oracle has maintained a profitable business as large enterprises maintained their custom.
»
WidSets. What a disappointment.
A reader of this blog sent me an email a couple of weeks ago, asking me to consider porting my Hellenic Reverse Directory Lookup widget (HRDL) for Apple’s Dashboard in Mac OS X to the Widsets service provided by Nokia. Over the past year or so I’ve been emailed another two or three times by readers asking me to ‘port’ the widget to several ‘platforms’ including Windows Vista ‘Gadgets’, Yahoo!/Konfabulator widgets etc. The reason I am writing this post in English is because I’d like to express my impression of the Widsets platform along with my explanation as to why I’m not going to bother with porting the HRDL widget to it.
»
Dalvik: The new name of Sun’s worst nightmares.
An excellent article about Java on Android, Sun’s licensing trickery, Google’s checkmate the slanted meaning of Openness. A must read. Also read this for a retrospective view of the open sourcing of Java one year ago.
Java development on OS X. Things that need to be done.
Part of my development efforts in the past few months has been based on Java and since MacOS X is the operating system of choice for me I usually use it for Java development.
On the C/C++ and of course Objective-C front, MacOS X is doing alright, despite the largely obsolete development tools involved. It has, not only due to Apple’s engineering efforts, a top-notch (albeit not the fastest one) compiler, gcc, a good debugger, gdb and an excellent RAD API, Cocoa. So, on this front I have no reason to ditch OS X and choose another platform for my development. OS X is as great as an OS a developer could ask. And with the advent of XCode, things can just get better — although maybe not as good as they could.
On the Java front, however, things are less rosy than this. Sun does not officially support Java on the OS X platform. Instead, due to a (very good!) relationship between the two companies, Apple gets to optimise Sun’s JVM for OS X usually releasing a J2SDK/JRE some months late. This is not just Apple’s fault. Apple shipped Web Start in 10.1, it also included support for Cocoa development in its development tools. Apple supported Java from the first moment, when Microsoft dropped support whatsoever in Windows XP. Apple is definitely trying.
»


