<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mike&#039;s Blabberings &#187; rant</title>
	<atom:link href="http://www.mike-griffith.com/blog/tag/rant/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mike-griffith.com/blog</link>
	<description>on software, testing, and the web.</description>
	<lastBuildDate>Wed, 11 Aug 2010 20:41:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Java is a Bad Ex</title>
		<link>http://www.mike-griffith.com/blog/2009/02/java-is-a-bad-ex/</link>
		<comments>http://www.mike-griffith.com/blog/2009/02/java-is-a-bad-ex/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 16:59:35 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://www.mike-griffith.com/blog/?p=249</guid>
		<description><![CDATA[
Although I&#8217;ve been enamored with Python for the last 13 or so months, I&#8217;ve often dreamt longingly for days of Java glory.  Things from the past seem so desirable at times &#8212; IDEs with good code completion and integrated debugging, staticly-typed compiler hand-holding, mature application servers and deployment tools.  There was never much [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.mike-griffith.com/blog/wp-content/uploads/2009/02/youngwomanoldlady-213x300.jpg" alt="young woman, old lady illusion" title="is she really as pretty as your remember?" width="213" height="300" class="alignright size-medium wp-image-252" /></p>
<p>Although I&#8217;ve been enamored with Python for the last 13 or so months, I&#8217;ve often dreamt longingly for days of Java glory.  Things from the past seem so desirable at times &#8212; IDEs with good code completion and integrated debugging, staticly-typed compiler hand-holding, mature application servers and deployment tools.  There was never much black magic tying things together.  You could easily trace where and why something was breaking, and throw a fix up quickly.</p>
<p>It only takes a few minutes of reading through a large Java codebase to bring me back to reality.  The horribly cluttered JSPs with code spewing into and around markup.  MEGA-JARs.  XML files and properties files galore.  65 lines of code to parse a querystring (not because there wasn&#8217;t a better way, but because many Java coders don&#8217;t value beauty by simplicity).  Seriously.</p>
<p>I know there are pie-in-the-sky Java apps that give developers the warm-and-fuzzies inside, but <strong>most of what I&#8217;ve seen in practice gives me the chills</strong>.  I guess part of what is so alluring is the notion that I could take an ugly Java app, apply what I&#8217;ve learned from Python, and behold the beauty of an amazing creation.</p>
<p>Alas, Java is like the bad ex that you think you want back.  A few months after the breakup, you think back on all the good times, the marathon sex sessions, and forget entirely why it was you broke up.  You want a second chance to make it work.  In reality, <strong>the sex was never really that good</strong>, it was just comfortable.  There were countless little things that annoyed you and caused you so many headaches, the same few things that you always fought about and never really resolved.</p>
<p>Just so that I don&#8217;t forget, here&#8217;s a list of <em>5 things I love about Python or hate about Java</em>.</p>
<ol>
<li><code>from future import antigravity;</code>  Seriously, just <code>easy_install</code> it, import it, and you have it.  So much more is available at your fingertips in Python than was in Java.</li>
<li>The fact that Python was willing to break backwards compatibility with the advent Python 3K, which is a serious testament to the community.  Java can&#8217;t do that because its user base is notoriously full of late adopters who are resistant to change and are generally less agile.</li>
<li>Collections.  Yes there are all the collection types in the Java standard library, but they&#8217;re still so klunky to work with.  Everything relies on hashtables and arrays, so why not make them as easy to use as Python?</li>
<li>XML fever.  Why is it so buzzy still in Java?  There is a better way.</li>
<li>The lack of an awesome, blow-me-away, clear-winner of a web framework in Java.  I know Python doesn&#8217;t quite have that either, but Django is making great strides.  And in a weird way, not having one is good for Python, in that it&#8217;s fostering some great new developments.  Granted, I don&#8217;t know anything about Struts 2, but I have a feeling it&#8217;s the same-old same-old.</li>
</ol>
<p><strong>The moral of the story?  Don&#8217;t forget how good you got it.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mike-griffith.com/blog/2009/02/java-is-a-bad-ex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
