<?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>thread dump &#187; Uncategorized</title>
	<atom:link href="http://roger.searjeant.net/wp/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://roger.searjeant.net/wp</link>
	<description></description>
	<lastBuildDate>Wed, 11 Nov 2009 20:35:00 +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>HAPI 0.6 Released</title>
		<link>http://roger.searjeant.net/wp/2009/07/hapi-0-6-released/</link>
		<comments>http://roger.searjeant.net/wp/2009/07/hapi-0-6-released/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 14:11:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roger.searjeant.net/wp/2009/07/hapi-0-6-released/</guid>
		<description><![CDATA[Anyone involved in HL7 processing should be aware of the HL7 API (‘HAPI’) project.&#160; HAPI is a set of Java libraries for parsing, unparsing and manipulating HL7 messages, plus some communication primitives for handling MLLP communication.&#160; 
This was started some time ago by Bryan Tripp at the University Health Network in Canada, but recently the [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone involved in <a href="http://en.wikipedia.org/wiki/Health_Level_7">HL7</a> processing should be aware of the <a href="http://hl7api.sourceforge.net/">HL7 API (‘HAPI’) project</a>.&#160; HAPI is a set of Java libraries for parsing, unparsing and manipulating HL7 messages, plus some communication primitives for handling <a href="http://en.wikipedia.org/wiki/Health_Level_7#MLLP">MLLP</a> communication.&#160; </p>
<p>This was started some time ago by Bryan Tripp at the <a href="http://www.uhn.ca/index.htm">University Health Network</a> in Canada, but recently the work of maintaining the project and pushing forward with development has been taken on by James Agnew.</p>
<p>Version 0.6 brings support for HL7 v2.5.1 and v2.6, and separate jars for the different HL7 versions. James’ announcement also hinted he’s looking at significant performance improvements in future releases. This is great news: thanks are due to James for his continued good work.</p>
<p>If you’re trying to find the bits, note that the download link isn’t in the HAPI site sidebar – go to the <a href="http://hl7api.sourceforge.net/using_hapi.html">Using HAPI / Developing page</a>, and you’ll find the link to the <a href="http://sourceforge.net/project/showfiles.php?group_id=38899">Sourceforge download page</a> there.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3b22c9cc-5070-4561-a45b-2c97f66206dc" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/HL7" rel="tag">HL7</a>,<a href="http://technorati.com/tags/Java" rel="tag">Java</a></div>
]]></content:encoded>
			<wfw:commentRss>http://roger.searjeant.net/wp/2009/07/hapi-0-6-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sun, Java and Innovation &#8211; reflections</title>
		<link>http://roger.searjeant.net/wp/2009/06/sun-java-and-innovation-reflections/</link>
		<comments>http://roger.searjeant.net/wp/2009/06/sun-java-and-innovation-reflections/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 09:59:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roger.searjeant.net/wp/2009/06/sun-java-and-innovation-reflections/</guid>
		<description><![CDATA[My previous post on the Sun acquisition was a rather naive and misty-eyed piece of sentimental warbling. The truth is that Jonathan Schwartz’s vision hasn’t delivered quickly enough for the market: the share-price has suffered and Oracle has picked up something of a bargain. Pity, because (perhaps looking through those rose-tinted spectacles again) I rather [...]]]></description>
			<content:encoded><![CDATA[<p>My previous post on the Sun acquisition was a rather naive and misty-eyed piece of sentimental warbling. The truth is that <a href="http://blogs.sun.com/jonathan/entry/three_things_on_sun_in">Jonathan Schwartz’s vision</a> hasn’t delivered quickly enough for the market: the share-price has suffered and Oracle has picked up something of a bargain. Pity, because (perhaps looking through those rose-tinted spectacles again) I rather like Schwartz’s ideas for growing the business, essentially giving away the technology and then ‘monetizing adoption’.&#160; But it’s not happened nearly fast enough and one wonders whether it ever could.&#160; </p>
<p>An <a href="http://www.sdtimes.com/FROM_THE_EDITORS_SUN_NEEDS_GROWN_UPS/About_SUN/33402">editorial in SD Times</a> sums up Sun’s difficulties nicely as ‘too much vision, too little execution’.&#160; It’s not enough to give away tools and hope the next generation will adopt them. You need to innovate and to lead, because the brightest and best of the next generation want to climb the mountain, not travel for free in the foothills. To innovate, you need great scientists and engineers; to retain those folk, you need to pay them adequately and provide them with the facilities and resources they need to be brilliant. To do all of that, you need money.&#160; And that comes from sales.&#160; It’s as simple as that.</p>
<p>Just look at <a href="http://research.microsoft.com/en-us/">Microsoft Research</a>: you just can’t foster this quantity and quality of innovation unless you have a lot of money to invest, and you only get that by doing a lot of very effective monetizing.&#160; Microsoft and Oracle: we don’t like them very much, do we? But they’re really good at monetizing.</p>
<p>As for Java, most seem to agree there is no threat to its future as an enterprise platform: it’s open-technology now and well embedded in the enterprise.&#160; What about the future of the Java language? Do we really need to worry about that? The language itself matters much less than the JVM, which surely has a very bright future given the newer languages targeting it, especially <a href="http://www.scala-lang.org/">Scala</a> and <a href="http://groovy.codehaus.org/">Groovy</a>.&#160; Should we care whether (e.g.) closures make it into the Java language, if we can use newer languages like Scala and continue to leverage all the existing Java libraries, components and infrastructure?</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7c30476b-1968-4103-bf19-9a367a4f5178" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/Java" rel="tag">Java</a>,<a href="http://technorati.com/tags/Sun" rel="tag">Sun</a>,<a href="http://technorati.com/tags/Scala" rel="tag">Scala</a>,<a href="http://technorati.com/tags/Groovy" rel="tag">Groovy</a></div>
]]></content:encoded>
			<wfw:commentRss>http://roger.searjeant.net/wp/2009/06/sun-java-and-innovation-reflections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Matrix on Windows</title>
		<link>http://roger.searjeant.net/wp/2009/01/matrix-on-windows/</link>
		<comments>http://roger.searjeant.net/wp/2009/01/matrix-on-windows/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 21:20:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roger.searjeant.net/wp/2009/01/matrix-on-windows/</guid>
		<description><![CDATA[Very amusing short video, discovered via Philip Wadler&#8217;s blog.  Particularly liked the &#8216;clippy-bending&#8217; scene.
]]></description>
			<content:encoded><![CDATA[<p>Very amusing short video, discovered via <a href="http://wadler.blogspot.com/2008/12/if-matrix-ran-on-windows.html">Philip Wadler&#8217;s blog</a>.  Particularly liked the &#8216;clippy-bending&#8217; scene.</p>
]]></content:encoded>
			<wfw:commentRss>http://roger.searjeant.net/wp/2009/01/matrix-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brunel, Robert Howlett and David White</title>
		<link>http://roger.searjeant.net/wp/2008/11/brunel-robert-howlett-and-david-white/</link>
		<comments>http://roger.searjeant.net/wp/2008/11/brunel-robert-howlett-and-david-white/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 21:21:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roger.searjeant.net/wp/2008/11/brunel-robert-howlett-and-david-white/</guid>
		<description><![CDATA[Just came across this wonderful short piece on the BBC website.  Well worth watching. What a great idea: well done to David White and the BBC. 
Modern-day civil-engineering rarely seems to aspire to match that mixture of functional beauty and sense of proportion which Brunel&#8217;s works all seem to have.  But I must [...]]]></description>
			<content:encoded><![CDATA[<p>Just came across <a href="http://news.bbc.co.uk/today/hi/today/newsid_7753000/7753202.stm">this wonderful short piece</a> on the BBC website.  Well worth watching. What a great idea: well done to David White and the BBC. </p>
<p>Modern-day civil-engineering rarely seems to aspire to match that mixture of functional beauty and sense of proportion which Brunel&#8217;s works all seem to have.  But I must put in a good word for the revived, extended and transformed St. Pancras International station.  The main concourse is a marvellous place to be (apart from the silly, cheesy, oversized statue of the couple): a couple of times recently, when on our way back to King&#8217;s Cross station, Dan and I have walked in just to take-in and admire what&#8217;s been done.</p>
<p>Then we wander back to the dirty, grim, gloomy shed which is the current King&#8217;s Cross. We&#8217;ve often talked about how wonderful it would be if something similar to St. Pancras were done for King&#8217;s Cross. The good news is that Network Rail is <a href="http://www.networkrail.co.uk/aspx/4059.aspx">working on it</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://roger.searjeant.net/wp/2008/11/brunel-robert-howlett-and-david-white/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Managerese Disease</title>
		<link>http://roger.searjeant.net/wp/2008/11/the-managerese-disease/</link>
		<comments>http://roger.searjeant.net/wp/2008/11/the-managerese-disease/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 15:02:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roger.searjeant.net/wp/2008/11/the-managerese-disease/</guid>
		<description><![CDATA[I recently stumbled upon a wonderful collection of that language we all love to hate: managerese.  Kevin Boone&#8217;s list is here:The K-Zone: New developments in managereseThere are other lists like this sprinkled around the net, but this one is the best I&#8217;ve seen so far because it manages to combine a bit of thoughtful deconstruction [...]]]></description>
			<content:encoded><![CDATA[<div xmlns='http://www.w3.org/1999/xhtml'>I recently stumbled upon a wonderful collection of that language we all love to hate: managerese.  Kevin Boone&#8217;s list is here:<br/><br/><a href='http://kevinboone.com/managerese.html'>The K-Zone: New developments in managerese</a><br/><br/>There are other lists like this sprinkled around the net, but this one is the best I&#8217;ve seen so far because it manages to combine a bit of thoughtful deconstruction with some satisfying disdain.<br/><br/><br />
<blockquote/></div>
]]></content:encoded>
			<wfw:commentRss>http://roger.searjeant.net/wp/2008/11/the-managerese-disease/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interlocking Fragility</title>
		<link>http://roger.searjeant.net/wp/2008/10/interlocking-fragility/</link>
		<comments>http://roger.searjeant.net/wp/2008/10/interlocking-fragility/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 08:53:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roger.searjeant.net/wp/2008/10/interlocking-fragility/</guid>
		<description><![CDATA[The October 1st edition of Edge includes the following quote from Nassim Taleb&#8217;s book The Black Swan.  Relevant, given what&#8217;s happening right now:From Edge 259 (about 3/4 of the way down the page):
NOTABLE QUOTE    &#8220;Globalization creates interlocking fragility, while reducing volatility and giving the appearance of stability. In other words it creates [...]]]></description>
			<content:encoded><![CDATA[<div xmlns='http://www.w3.org/1999/xhtml'>The <a href='http://www.edge.org/documents/archive/edge259.html'>October 1st edition of Edge</a> includes the following quote from Nassim Taleb&#8217;s book <a href='http://www.amazon.co.uk/Black-Swan-Impact-Highly-Improbable/dp/0141034599/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1223541212&amp;sr=1-1'><em>The Black Swan</em></a>.  Relevant, given what&#8217;s happening right now:<br/><br/><a href='http://www.edge.org/documents/archive/edge259.html'>From Edge 259</a> (about 3/4 of the way down the page):<br/><br />
<blockquote>NOTABLE QUOTE<br/><br/>    &#8220;Globalization creates interlocking fragility, while reducing volatility and giving the appearance of stability. In other words it creates devastating Black Swans. We have never lived before under the threat of a global collapse. Financial Institutions have been merging into a smaller number of very large banks. Almost all banks are interrelated. So the financial ecology is swelling into gigantic, incestuous, bureaucratic banks – when one fails, they all fall. The increased concentration among banks seems to have the effect of making financial crisis less likely, but when they happen they are more global in scale and hit us very hard. We have moved from a diversified ecology of small banks, with varied lending policies, to a more homogeneous framework of firms that all resemble one another. True, we now have fewer failures, but when they occur ….I shiver at the thought.&#8221;<br/><br/>— Nassim Taleb, The Black Swan (2006)<br/></p></blockquote>
<p><br/>Disclaimer: I haven&#8217;t read this book yet. Some comments I&#8217;ve heard or read suggest that it&#8217;s superficial, rambling pseudo-science, more a collection of entertaining but relatively facile observations (perhaps including the above) than an exposition of something profound.  <br/><br/>Still, this one seems to have come true.<br/><br/></div>
]]></content:encoded>
			<wfw:commentRss>http://roger.searjeant.net/wp/2008/10/interlocking-fragility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rick Wright</title>
		<link>http://roger.searjeant.net/wp/2008/09/rick-wright/</link>
		<comments>http://roger.searjeant.net/wp/2008/09/rick-wright/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 19:23:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roger.searjeant.net/wp/2008/09/rick-wright/</guid>
		<description><![CDATA[BBC NEWS &#124; Entertainment &#124; Floyd founder Wright dies at 65Such a shock to see this BBC news headline.  Like many of my generation (40-something), I regard The Dark Side of the Moon as the key soundtrack of my early life.  As a teenager I knew every word and every note of every song (probably [...]]]></description>
			<content:encoded><![CDATA[<div xmlns='http://www.w3.org/1999/xhtml'><a href='http://news.bbc.co.uk/1/hi/entertainment/7617363.stm'>BBC NEWS | Entertainment | Floyd founder Wright dies at 65</a><br/><br/>Such a shock to see this BBC news headline.  Like many of my generation (40-something), I regard <a href='http://en.wikipedia.org/wiki/The_Dark_Side_of_the_Moon'>The Dark Side of the Moon</a> as <strong>the</strong> key soundtrack of my early life.  As a teenager I knew every word and every note of every song (probably still do) from an album I listened to endlessly back then, and have listened to on-and-off ever since.  <br/><br/>The first copy I had was a copy of a school-mate&#8217;s album, on a C90 cassette.  I borrowed a typewriter to write out the lyrics.  Somewhere, in the bottom of a box, I probably still have those sheets of paper.  I wore out that tape.  Eventually I&#8217;d saved enough for my own copy, but (would you believe it) I lent the album to someone and never got it back.  But I&#8217;m sure I&#8217;ve got the posters, probably in the bottom of that same box, wherever it is.  It&#8217;s just impossible to explain how important that music was.  It still affects me, even now.  It will <em>always</em> be my favourite album.  Bar none. Nothing can displace it, ever.<br/><br/><br />
<blockquote>&#8220;I am not frightened of dying.<br/>Anytime will do, I don&#8217;t mind.<br/>Why should I be frightened of dying?<br/>There&#8217;s no reason for it,<br/>You&#8217;ve got to go sometime&#8230;&#8221;<br/></p></blockquote>
<blockquote><p><font face='sans-serif'><strong/></font>(from<em><font face='sans-serif'/> The Great Gig in the Sky</em>.  Rick Wright / Clare Torrey)<br/></p></blockquote>
<p><br/><br />
<blockquote/></div>
]]></content:encoded>
			<wfw:commentRss>http://roger.searjeant.net/wp/2008/09/rick-wright/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When Google Owns You</title>
		<link>http://roger.searjeant.net/wp/2008/08/when-google-owns-you/</link>
		<comments>http://roger.searjeant.net/wp/2008/08/when-google-owns-you/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 10:45:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roger.searjeant.net/wp/2008/08/when-google-owns-you/</guid>
		<description><![CDATA[I must admit I do sometimes wonder how I would cope if Google decided to pull the plug on my account.  For me, I would find life without Google (especially GMail, Google Docs, Google Reader and Google Maps) very hard indeed.  It&#8217;s happened to Chris Brogan. Read his post When Google Owns You [...]]]></description>
			<content:encoded><![CDATA[<p>I must admit I do sometimes wonder how I would cope if Google decided to pull the plug on my account.  For me, I would find life without Google (especially GMail, Google Docs, Google Reader and Google Maps) very hard indeed.  It&#8217;s happened to Chris Brogan. Read his post <a href="http://www.chrisbrogan.com/when-google-owns-you/">When Google Owns You | chrisbrogan.com.</a></p>
<p>Finding a replacement which doesn&#8217;t suck would be hard right now.  I just don&#8217;t really like Yahoo or Microsoft Live much (though I have accounts on both), and even with a replacement service I&#8217;d still not have access to the giant heap of old email and documents which Google does such a great job of storing and searching for me.  And, despite other peoples&#8217; suspicions that Google no longer lives according to its founding principle (&#8220;Don&#8217;t be evil&#8221;), I instinctively trust Google much, much more than Microsoft or Yahoo.</p>
<p>All this great Google stuff is completely free, so it&#8217;s very difficult for any of us to complain if it does get withdrawn.  I don&#8217;t for one moment think that Google is likely to do that without good reason, but it puts all of us in a position of having little or no leverage.  Personally, I&#8217;d be more than happy to pay a nominal amount for my Google services (by which I mean almost everything except search), to ensure continuity of access, security of my data and a contract which means I&#8217;m owed the services.  How much? I don&#8217;t know &#8211; what about 30 USD a year?  That&#8217;s unlikely to upset anyone who really wants or needs the service, but if enough people paid it could provide Google with a ton of additional money they could use to invest in making those services even better.</p>
<p>Will Google ever transition to a paid model?  The Picasa photo service has a free and paid service already, probably because Flickr and others do this as well as to cover storage costs.  But for the rest of Google, I&#8217;m not sure. You can imagine how administrative overhead might soar with paid accounts: not only would they be obliged to keep track of everyone&#8217;s identity, account and payments, but armed with a contract, the kind of people who are intolerant of even occasional outages would feel entitled to complain loudly.  I wonder if the folks at Google have &#8216;done the math&#8217; and decided that any additional revenue would be eaten up by this sort of thing?</p>
]]></content:encoded>
			<wfw:commentRss>http://roger.searjeant.net/wp/2008/08/when-google-owns-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pastebin &#8211; collaborative debugging tool</title>
		<link>http://roger.searjeant.net/wp/2008/08/pastebin-collaborative-debugging-tool/</link>
		<comments>http://roger.searjeant.net/wp/2008/08/pastebin-collaborative-debugging-tool/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 20:04:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roger.searjeant.net/wp/2008/08/pastebin-collaborative-debugging-tool/</guid>
		<description><![CDATA[pastebin &#8211; collaborative debugging tool
Seen this?  This is one of those truly great, simple ideas.  Check it out.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://pastebin.com/pastebin.php?help=1">pastebin &#8211; collaborative debugging tool</a></p>
<p>Seen this?  This is one of those truly great, simple ideas.  Check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://roger.searjeant.net/wp/2008/08/pastebin-collaborative-debugging-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java and Ruby, C++ and VB</title>
		<link>http://roger.searjeant.net/wp/2008/08/java-and-ruby-c-and-vb/</link>
		<comments>http://roger.searjeant.net/wp/2008/08/java-and-ruby-c-and-vb/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 12:44:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://roger.searjeant.net/wp/2008/08/java-and-ruby-c-and-vb/</guid>
		<description><![CDATA[Were you doing Windows development, about 10 years or so ago?  If so, then I&#8217;m pretty sure you&#8217;ll recognize the following. 
The hard stuff, or more accurately, all the performance-critical stuff and the core components of your product would be written in C++.  The functionality in the libraries you and your team created [...]]]></description>
			<content:encoded><![CDATA[<p>Were you doing Windows development, about 10 years or so ago?  If so, then I&#8217;m pretty sure you&#8217;ll recognize the following. </p>
<p>The hard stuff, or more accurately, all the performance-critical stuff and the core components of your product would be written in C++.  The functionality in the libraries you and your team created was then composed into COM components, and you designed interfaces, wrote IDL and created type libraries which exposed the component functionality to the outside world.</p>
<p>Lesser mortals could then use COM-aware languages and tools, like Visual Basic (VB), to create sophisticated applications to exploit the power of those components.  Component-oriented software development was a reality.  UI designers, the subject-matter experts and the VB programmers could get together and build something using your C++ classes, all without having to know about vtables, pointer arithmetic, or what a pure virtual function is.  </p>
<p>This was <a title="COM" href="http://www.microsoft.com/com/default.mspx" id="e9qy">COM</a> (and <a title="OLE2" href="http://en.wikipedia.org/wiki/Object_Linking_and_Embedding" id="w-8o">OLE2</a>) and it was great technology, because it allowed us to do mixed-language development, to compose systems from components without necessarily knowing how they were implemented internally.  We could use the right language for the task in hand, which might be C++, Delphi, VB or even JavaScript, knowing the resulting component could be used by any other COM-aware environment. </p>
<p>It wasn&#8217;t perfect. The COM abstraction was somewhat <a title="leaky" href="http://en.wikipedia.org/wiki/Leaky_abstraction" id="zv-p">leaky</a> because even when using &#8217;scripting languages&#8217; like VB to combine COM components, you still needed to understand COM&#8217;s reference counting semantics, and marshaling of <a title="data" href="http://www.roblocher.com/whitepapers/oletypes.aspx" id="mi4.">data</a> across the COM boundary wasn&#8217;t always straightforward.  But the benefits manifestly outweighed any of the technical difficulties. </p>
<p>With Java and especially .NET we moved away from the idea that we&#8217;d build lower-level functionality in one language and use a less formal or type-safe language to &#8217;script&#8217; applications on top of it.  Microsoft have always claimed that mixed-language development is a cornerstone of .NET and the CLR.  It&#8217;s certainly true that the <a title="CLI" href="http://en.wikipedia.org/wiki/Common_Language_Infrastructure" id="lp8h">CLI</a> does explicitly set out to enable multiple languages to target the infrastructure, but this misses the real point, which is that relatively few projects appear to have exploited this.  Most .NET solutions are developed in just one language, either C# or VB.Net, the choice usually made early, based more on team culture than on technical grounds.</p>
<p>I haven&#8217;t heard anyone saying &#8220;Well, we used C# for the hairy low-level components, but we built the application itself in VB.Net because it&#8217;s so much quicker to prototype&#8221;. Does this happen now?  I don&#8217;t think so, yet back in the C++ / VB world, it really did. </p>
<p>I believe we are in a roughly similar position now, with respect to building complete solutions, as we were when VB and C++ were joined at the hip via COM.  We want the big languages and frameworks for building powerful libraries, for high performance and for when we need (or get real benefit from) strong, static typing.  But we all want to use these lovely new dynamically-types languages like Ruby, Python or Groovy because they&#8217;re concise, powerful and fun.  Look what I can do in 5 lines of Ruby!  It would take 50 lines of Java to do that!  And just look at the clever metaprogramming stuff!  Wait!  These languages are great! Why don&#8217;t we write everything this way!</p>
<p>Now think back to VB &#8230; who remembers <a title="this book" href="http://vb.mvps.org/hardcore/" id="u1wg">this book</a> ?  This was one of those landmark books you recall long past the time you stop consulting it. Part of the charm of this book was the writing of Bruce McKinney, who managed to combine a determination to wring the very most out of VB with an iconoclastic view of Microsoft, the very people who both developed VB and published his book!  I liked the book, and I loved the writing.  Plus, it really was hardcore: if you paid attention to the book and practised what it preached, you became a better (or at least, more capable) VB developer. </p>
<p>Now, I&#8217;m not trying to suggest that Ruby (or Python, or &#8230; etc.) is/are no better than VB6, because that&#8217;s clearly nonsense.  But I am suggesting there are strong parallels between the two situations. With the dynamic, interpreted languages like Ruby and Python we have flexibility, speed (of development) and agility, and we can get something running without all the troublesome attention to detail required by C# or Java.  Just as we liked the <a title="VARIANT" href="http://en.wikipedia.org/wiki/Variant_type" id="dbjz">VARIANT</a> type, we like dynamic (and &#8216;<a title="duck" href="http://en.wikipedia.org/wiki/Duck_typing" id="io1q">duck</a>&#8216;) typing, and we like the syntactic economy of not having to use type names everywhere. </p>
<p>So we have a similar situation now to that which existed when VB was at its hardcore height: the evangelists and enthusiasts want to build absolutely everything in Ruby (or Groovy, or Python, or etc&#8230;), whether it makes sense to or not. The problem is the &#8216;evangelists&#8217;. Or fundamentalists &#8211; you decide which term you prefer. Their enthusiasm for their favourite language unfortunately causes them to stray into deeper academic debates concerning type systems. They are so anxious to promote their chosen path, they want to convince the rest of the world that you really don&#8217;t need static typing, even that static typing cannot save you from anything, so why bother with it?  Do everything in &lt;someDynamicLanguage&gt;. Hardcore!  I&#8217;m not going to wade in to the <a title="silly" href="http://memeagora.blogspot.com/2007/05/strong-typing-is-communist-bureaucracy.html" id="w0va">silly</a> static typing versus unit testing <a title="squabble" href="http://blog.jayfields.com/2008/02/static-typing-considered-harmful.html" id="rf2y">squabble</a>.  The essential point is that serious issues are often hijacked, trivialised and misrepresented to serve as ammunition in some language or platform flame-war.  Here is an <a title="excellent, sane post" href="http://kawagner.blogspot.com/2008/03/static-vs-dynamic-typing-part-2.html" id="s9jr">excellent, sane post</a>, as an antidote, discovered as a link in <a title="this piece" href="http://www.tbray.org/ongoing/When/200x/2008/03/26/Ruby" id="x2tg">this piece</a> by the equally excellent Tim Bray. </p>
<p>The analogy I&#8217;m trying to use is a little strained, I will admit: VB was a fundamentally weak language (see <a title="Bruce McKinney" href="http://brucem.mystarband.net/" id="bd5-">Bruce McKinney</a>&#8217;s <a title="departing missive" href="http://brucem.mystarband.net/mckinney1.htm#1" id="yq60">departing missive</a>), whereas Ruby is not. The difference between then and now is that there is no need for a &#8216;Hardcore Ruby&#8217; book because you don&#8217;t need to strain at the boundaries of the language to do powerful things. The similarity rests on the fact that with technologies like <a title="JRuby" href="http://jruby.codehaus.org/" id="cggd">JRuby</a> (and <a title="IronPython" href="http://www.codeplex.com/Wiki/view.aspx?ProjectName=IronPython" id="cydd">IronPython</a>) we have the ability to use a variety of languages and approaches to attack the different layers in our solutions.</p>
]]></content:encoded>
			<wfw:commentRss>http://roger.searjeant.net/wp/2008/08/java-and-ruby-c-and-vb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
