{"id":436,"date":"2011-12-19T07:37:14","date_gmt":"2011-12-19T05:37:14","guid":{"rendered":"\/\/www.mcgill.org.za\/stuff\/?p=436"},"modified":"2011-12-19T07:37:14","modified_gmt":"2011-12-19T05:37:14","slug":"java-is-dead","status":"publish","type":"post","link":"https:\/\/www.mcgill.org.za\/stuff\/archives\/436","title":{"rendered":"Java is dead"},"content":{"rendered":"<p><a href=http:\/\/en.wikipedia.org\/wiki\/Java_%28programming_language%29>Java<\/a> is dead.<\/p>\n<p><a href=\"http:\/\/www.sun.com\/\">Sun Microsystems<\/a>, when they were still Sun, made hardware. It worked. Then they made software. It also worked. Together these were great systems. Then they made <a href=http:\/\/en.wikipedia.org\/wiki\/Java_%28programming_language%29>Java<\/a>. It was a fantastic masterpiece of design and coding, with the promise of &#8220;write once, run anywhere&#8221;, which included the following unnecessary and fatal design parameter:<\/p>\n<ul>\n<li>A Java virtual machine shall run only from compiled bytecode<\/li>\n<\/ul>\n<p>The effect of this criterion is that everyone that distributes a Java application distributes it without source code, and without the opportunity to tinker.\u00a0 To change a Java application, you need a string of development tools and special parts.\u00a0 It&#8217;s like a French car, and screws with one-way heads.\u00a0 Bizarrely they also mandated the zipping of libraries.\u00a0 The message is clear: everything in Java is final, and you need not look under the hood.  In fact, sit back and relax, and Sun will ship to you the best and optimal libraries of everything.  (Okay, maybe they&#8217;ll pass it to some open committee, but sit back and relax anyhow.)<\/p>\n<p>Along with this, Sun brought the corporate culture of absolute control to Java, so that only they could produce official versions of Java, Java libraries, and Java implementations.\u00a0 If you like Java, please drink only official Sun Java.\u00a0 Not to worry: Java being a great language, a free version was forthcoming, first under the watchful eye of Sun, and more recently and more independently as <a href=http:\/\/openjdk.java.net\/>OpenJDK<\/a>.  Then they sold out to Oracle.  Now where Sun had a waning culture of control, Oracle has a culture of ruling the world, and they have had enough of developing Java, except when it concerns suing Google for putting the Java language (but not the Sun implementation of it) in Android.<\/p>\n<p>While there were two main distributions of Java, namely Sun\/Oracle Java and OpenJDK, Ubuntu thought they would make things easier for their users, and obtained a licence to distribute Sun Java.  All the Ubuntu users were happy, and merrily used web sites and applications that crash horribly under OpenJDK.  <\/p>\n<p>And then Oracle revoked the licence for distributing Sun Java.  Not for evil reasons, but simply to hand over to OpenJDK, because it&#8217;s the evil version.  That should be fine.  <\/p>\n<p>However, there is now a <a href=http:\/\/lwn.net\/Articles\/472466\/>security problem in Sun Java<\/a>.  If you run Sun Java in your browser, you&#8217;ll git pwnd.  So what did Ubuntu do?  They disabled sun-java.  Good solution.  So, sun-java on Ubuntu is dead.  This means that the run-anywhere promise of sun-java is dead.  This means that sun-java is dead.   Instead of the sun java plugin for your favourite browser, you must use the iced tea plugin.  Did you get that?  Time to switch from coffee to tea.  Who is going to do that?  There is no way tea will give the caffeine boost you get from Java!  This means, effectively, that Java in the browser is dead.  <\/p>\n<p>When parts start to drop off the body, software rot has set in, and the end can&#8217;t be far off.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java is dead. Sun Microsystems, when they were still Sun, made hardware. It worked. Then they made software. It also worked. Together these were great systems. Then they made Java. It was a fantastic masterpiece of design and coding, with &hellip; <a href=\"https:\/\/www.mcgill.org.za\/stuff\/archives\/436\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[35,47,190],"class_list":["post-436","post","type-post","status-publish","format-standard","hentry","category-stuff","tag-java","tag-software-rot","tag-stuff"],"_links":{"self":[{"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/posts\/436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/comments?post=436"}],"version-history":[{"count":1,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/posts\/436\/revisions"}],"predecessor-version":[{"id":437,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/posts\/436\/revisions\/437"}],"wp:attachment":[{"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/media?parent=436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/categories?post=436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mcgill.org.za\/stuff\/wp-json\/wp\/v2\/tags?post=436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}