Tuesday, July 20, 2004

Just read a really good article about the future of Java platform (will Sun corporation keep ahold of it, or will it go Open Source) . It also throws some light on the development of Eclipse which is the principal tool we use for software development here at the Ministry. The article manages to challenge some current myths floating around the programmers of the world without descending to the sort of negative slagging which all too often characterises techie debates.

For the non-techies amongst my no doubt vast readership, here is a quick explanation of why this is important:
1) Java is a programming platform (aka a 'language' plus some other useful bits for making your own programs/systems) which was first created about 10 years ago by the US firm Sun Microsystems. It is the first language I learned and the one I can use with my eyes shut. As such it is one of the principal tools of my trade - even if now I don't write so many lines of it as I used to, I discuss it and explain it to people on my team every day.

2) Because it is free to use, easy to learn, and sturdy, it quickly became very popular, especially on University programming courses. For the first few years, though, it never caught on in any significant commercial projects. One of the reasons for this was that it in comparison to other, more established 'platforms', it lacked supporting tools. For instance I taught myself Java at the beginning of 1998 on my Mum's Windows 95 PC, using MS-DOS 'Edit', a minging program if ever there was one.

3) That all changed with the dotcom boom in the late 90s (oh so far away). Sun, being a firm that grew up around networks, caught on to the potential 'The Interweb, Dude' much earlier than Microsoft, which grew up inside lots of little separate PCs. Therefore Java was readier to build heavy-duty web systems (e.g. online banks, supermarkets, flight-booking) than many other platforms by the time everyone and their dog started blowing money at anyoldloadofwank.com

4) Given the massive demand for Java development work, the tool vendors strapped on their marketing boots (yes, my metaphors are terribly mixed, crivens) and churned out some half-decent tools for programming Java. BUT:
a) They were all OK but none of them were that good if you know what I mean.
b) They all cost a bomb. Like $1-2000 per developer using them, plus $500 a year for 'support'.

5) So things weren't all rosy in the Java world. Meanwhile the Evil Empire was gathering its forces for a fightback on Java's 'home turf' - web systems. After Big Bad Bill Gates famously had his 'road to Damascus' moment in the mid-90s when he 'realised' the internet was 'going to change the universe, etc', he turned his company on a sixpence to take maximum advantage of it. Credit to him. Well in fact he took maximum advantage of people thinking Microsoft knew shit about the internet which is different, so take a bit of credit back off.

6) Anyway the upshot of all this evil empiring was, after a few false starts, the release of what is today called the '.NET framework'. Basically its another programming platform which copied many of the worthwhile innovations of Java and added a few more. BUT there are a few differences:
a) its free to program but not free once you install it in your customer's office
b) it only runs properly on Windows, which is a problem if you want to run it on hefty servers
c) it is spelt in capitals, which is ugly

7) So in the last few years, many big corporate web projects are apparently going the way of .NET and Microsoft. Java is by now fairly well-entrenched but there is no room to be complacent - Bill Gates showed that he can take on the big guys in any market and, by the depth of his pockets and the smartness of his user experience experts, win a war of attrition (with a little help from abuse of monopoly powers, of course) - just look at what Internet Explorer did to Netscape Navigator.

8) Here we finally get to why the article I mentioned at the start of this post is important - because it looks at how two big thorns in the Java communities side may or may not be on the road to resolution - thus allowing all of us to focus our efforts on repelling the massed ranks of the Microserfs.
a) Eclipse has filled the tools gap (see point 4): it is free and good, not just OK. The first really decent version came out last year, and the next major version came out this June - everyone here is busy upgrading to it - a fairly painless experience.
b) There is increasing pressure on Sun to change the license conditions of Java to make it 'properly' Open Source. For the moment, Sun retains certain controls over it, which means that many natural allies of Java (such as the Linux Operating System movement) are uneasy about using it. If Sun does change it, some think that there will be an efflorescence of great Open Source Java software which gets distributed free with Linux.

9) (a) and (b) are related very cleverly by the author of the article, for he points out that Eclipse, one of the biggest success stories of Open Source Java to date, was in fact started off by IBM, who spent $40mn getting it going. Therefore, he says, it is unrealistic to attribute the enormous success of Eclipse purely to the fact that it is Open Source. I think he's right, but I'm still undecided about whether Sun should 'let Java go free' or not.

Hmm, I hope that made some sense - I'd appreciate any feedback on whether or not it did.

Comments: Post a Comment

This page is powered by Blogger. Isn't yours?