{"id":354,"date":"2006-11-14T22:47:02","date_gmt":"2006-11-15T03:47:02","guid":{"rendered":"http:\/\/crazedmonkey.com\/blog\/java\/java-open-sourced.html"},"modified":"2006-11-14T22:49:02","modified_gmt":"2006-11-15T03:49:02","slug":"java-open-sourced","status":"publish","type":"post","link":"http:\/\/crazedmonkey.com\/blog\/java\/java-open-sourced.html","title":{"rendered":"Too late for an open source Java"},"content":{"rendered":"<p>After years of promises and speculation, <a href=\"http:\/\/www.sun.com\/2006-1113\/feature\/index.jsp\" title=\"Sun Opens Java\">Sun finally made Java open source<\/a>.  All I can say is that it&#8217;s much too late.  Sun has made some poor design and engineering decisions over the past few years which will continue to bite Java developers in the ass.  I can&#8217;t begin to tell you how much I cursed Sun&#8217;s developers over the years, most notably a few years ago when I was working with their NIO library, first in 1.4.1 then in 1.4.2 and finally in 1.5 trying to make sense of their API and their subsequent changes.  I&#8217;d go into detail, but then I&#8217;d get cranky.<\/p>\n<p>Would an open source Java have made my life easier during those frustrating times?  Probably.  <a href=\"http:\/\/twistedmatrix.com\/\">Twisted Python<\/a>, upon whose protocol interface I based my Java NIO sockets API, is under an MIT license and kicked Java&#8217;s ass with respect to non-blocking sockets at the time.  The major advantage was, and still is, its slick design.  You didn&#8217;t have to write much code in Twisted to get a non-blocking server socket running.  I still have nightmares about Java&#8217;s implementation.<\/p>\n<p>But all that is in the past.  <a href=\"http:\/\/www.intertwingly.net\/blog\/2006\/11\/13\/IcedTea\" title=\"Sam Ruby: IcedTea\">Open sourcing Java won&#8217;t make much of a difference<\/a> to the future.  Certainly, I don&#8217;t care.  Thankfully, I left the Java world almost a year ago and am now working in happy <a href=\"http:\/\/python.org\/\">Python<\/a> land.  I don&#8217;t miss Java one bit, nor do I miss its tools, without which programming would have been far slower.  No, Java can die a slow death for all I care.  I&#8217;m done with it.  Hopefully.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After years of promises and speculation, <a href=\"http:\/\/www.sun.com\/2006-1113\/feature\/index.jsp\" title=\"Sun Opens Java\">Sun finally made Java open source<\/a>. All I can say is that it&#8217;s much too late. Sun has made some poor design and engineering decisions over the past few years which will continue to bite Java developers in the ass. I can&#8217;t begin to tell&nbsp;&hellip;&nbsp;<a class=\"read_more\" href=\"http:\/\/crazedmonkey.com\/blog\/java\/java-open-sourced.html\" rel=\"bookmark\" title=\"Continue reading &ldquo;Too late for an open source Java&rdquo;\"><span>Read more<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[9],"tags":[],"_links":{"self":[{"href":"http:\/\/crazedmonkey.com\/blog\/wp-json\/wp\/v2\/posts\/354"}],"collection":[{"href":"http:\/\/crazedmonkey.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/crazedmonkey.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/crazedmonkey.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/crazedmonkey.com\/blog\/wp-json\/wp\/v2\/comments?post=354"}],"version-history":[{"count":0,"href":"http:\/\/crazedmonkey.com\/blog\/wp-json\/wp\/v2\/posts\/354\/revisions"}],"wp:attachment":[{"href":"http:\/\/crazedmonkey.com\/blog\/wp-json\/wp\/v2\/media?parent=354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/crazedmonkey.com\/blog\/wp-json\/wp\/v2\/categories?post=354"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/crazedmonkey.com\/blog\/wp-json\/wp\/v2\/tags?post=354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}