<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>libcoffee.net: Of programming languages</title>
    <link>http://www.libcoffee.net/articles/2005/08/30/untitled</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>:: Just another Typo weblog ::</description>
    <item>
      <title>Of programming languages</title>
      <description>&lt;p&gt;While considering the design of the &lt;a href="http://nfcchat.sf.net" target="_blank"&gt;NFCChat&lt;/a&gt; server, one of the components in our little Software Engineering project, the choice of Java struck me as odd. I might be biased, I might be pro-Microsoft, but still &amp;#8211; considering that the server is purely console-based, does not accept any input whatsoever, and is, pardon my language, a pain in the ass to use, Java seems to be a bad choice.&lt;br /&gt;&lt;br /&gt;Why? Firstly, the server runs off just-in-time compiled code as well as within a Virtual Machine, so that&amp;#8217;s a -1 in speed and efficiency. Then the application is purely console-based &amp;#8211; completely missing out on the &amp;#8220;cross-platform &lt;span class="caps"&gt;GUI&lt;/span&gt;&amp;#8221; key feature of Java. And Java being a language designed specifically for network communications isn&amp;#8217;t a good reason, there are more languages out there that would have offered more advantages. Safety? The program doesn&amp;#8217;t even need user input, why bother? And not to mention the need of installing it&amp;#8217;s &lt;span class="caps"&gt;JRE&lt;/span&gt; in each and every computer you need to run it on. Customers don&amp;#8217;t like being told, &amp;#8220;Oh before &lt;em&gt;this&lt;/em&gt;, you need &lt;em&gt;that&lt;/em&gt;, &lt;em&gt;that&lt;/em&gt;, and &lt;em&gt;that &lt;/em&gt;too!&amp;#8221; They want to hear, &amp;#8220;Throw in the CD, push a button, &lt;strong&gt;&lt;span class="caps"&gt;BAM&lt;/span&gt;&lt;/strong&gt; up and running!&amp;#8221;&lt;br /&gt;&lt;br /&gt;Guess what I would use? &lt;strong&gt;C&lt;/strong&gt;. Yes, it&amp;#8217;s the same language guys 20 years ago use, but it&amp;#8217;s good enough for most jobs. Want cross-platform? Check. Speed and efficiency, check. Fast sockets management plus safe code? Oh sure, just be careful. I&amp;#8217;m not experienced enough to suggest C++ or even Perl, but yep, they&amp;#8217;re viable alternatives too.&lt;br /&gt;&lt;br /&gt;It&amp;#8217;s worthy to note that a lot of times, coding languages shouldn&amp;#8217;t be picked just because &lt;em&gt;you can&lt;/em&gt;, but &lt;em&gt;you should&lt;/em&gt; &amp;#8211; simply judged by a criteria of effectiveness or suiteability. It&amp;#8217;s like choosing between a box of matches, gas over and blowtorch to cook a chicken: All of them do the job alright, heck, it&amp;#8217;s even quite a feat itself if the fowl turns out edible&amp;#8230; but, surely there&amp;#8217;s the best tool for the occasion, no?&lt;/p&gt;</description>
      <pubDate>Tue, 30 Aug 2005 08:39:00 +1000</pubDate>
      <guid isPermaLink="false">urn:uuid:79caff38-497b-4e74-bfb2-b11b62b60498</guid>
      <author>zanglang</author>
      <link>http://www.libcoffee.net/articles/2005/08/30/untitled</link>
      <category>Rants</category>
      <category>Code</category>
      <trackback:ping>http://www.libcoffee.net/articles/trackback/224</trackback:ping>
    </item>
  </channel>
</rss>
