<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Programming Languages: Is newer always better? (Part 2)</title>
	<atom:link href="http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/</link>
	<description>Adrian Smith's blog</description>
	<pubDate>Wed, 20 Aug 2008 03:26:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Flo</title>
		<link>http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-370</link>
		<dc:creator>Flo</dc:creator>
		<pubDate>Sat, 12 Apr 2008 09:37:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-370</guid>
		<description>A late comment on this one:

Thanks for the enlightening statement that a programming language is firstly a communication tool between developers! This has never occurred to me so clearly, and I agree 100%.

Two more thoughts to add from myself: For me, the available tools for a given language are actually more important than the language itself. I'm still preferring Java not because I am in love with the language specification, but because Eclipse is a great IDE and the whole toolchain works for me. I wouldn't mind programming C++ (or nearly any other language) instead, but when I think back to the days when I was forced to use Visual Studio as a tool to do so, I shiver. Another way to put it: I don't care if "for" loops in Java are cumbersome, as long as I can hit Ctrl-Space after the "for" and the IDE writes the code for me. Same goes for refactoring etc.

Secondly, I have to say I am increasingly judging languages and toolchains not by how good they work for me, but by how good they would work for a team of mediocre(!) programmers - after all, that's the reality we face when we tackle larger projects. We just cannot rely on everyone on the team being a genius, and strongly typed languages help to force some discipline into the project. For myself, I enjoy coding in Javascript very much as it helps me to find elegant solutions fast. When I was forced to work with a very mediocre programmer for some months on a Java/Javascript project, his Java code was a mess but basically worked, but his Javascript code was so terribly bug-infested and contaminated with side effects the only thing one could do to really fix it was throw it away and rewrite it from scratch. And Unit tests don't help at all here because mediocre programmers fail to write tests with decent coverage.</description>
		<content:encoded><![CDATA[<p>A late comment on this one:</p>
<p>Thanks for the enlightening statement that a programming language is firstly a communication tool between developers! This has never occurred to me so clearly, and I agree 100%.</p>
<p>Two more thoughts to add from myself: For me, the available tools for a given language are actually more important than the language itself. I&#8217;m still preferring Java not because I am in love with the language specification, but because Eclipse is a great IDE and the whole toolchain works for me. I wouldn&#8217;t mind programming C++ (or nearly any other language) instead, but when I think back to the days when I was forced to use Visual Studio as a tool to do so, I shiver. Another way to put it: I don&#8217;t care if &#8220;for&#8221; loops in Java are cumbersome, as long as I can hit Ctrl-Space after the &#8220;for&#8221; and the IDE writes the code for me. Same goes for refactoring etc.</p>
<p>Secondly, I have to say I am increasingly judging languages and toolchains not by how good they work for me, but by how good they would work for a team of mediocre(!) programmers - after all, that&#8217;s the reality we face when we tackle larger projects. We just cannot rely on everyone on the team being a genius, and strongly typed languages help to force some discipline into the project. For myself, I enjoy coding in Javascript very much as it helps me to find elegant solutions fast. When I was forced to work with a very mediocre programmer for some months on a Java/Javascript project, his Java code was a mess but basically worked, but his Javascript code was so terribly bug-infested and contaminated with side effects the only thing one could do to really fix it was throw it away and rewrite it from scratch. And Unit tests don&#8217;t help at all here because mediocre programmers fail to write tests with decent coverage.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cremes</title>
		<link>http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-355</link>
		<dc:creator>cremes</dc:creator>
		<pubDate>Tue, 01 Apr 2008 13:33:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-355</guid>
		<description>@olaf:
&#62; What I strongly object to, on the other hand, is your wrongly presenting Adrian’s arguments and/or conclusions.

Olaf,

I think Adrian can defend himself without your help. If you look through these comments you'll see that he didn't accuse me of misrepresenting him (because I didn't).

I read his post and made my comments. I stand by them. You obviously disagree which is certainly allowed. But please don't be a dick about it.</description>
		<content:encoded><![CDATA[<p>@olaf:<br />
&gt; What I strongly object to, on the other hand, is your wrongly presenting Adrian’s arguments and/or conclusions.</p>
<p>Olaf,</p>
<p>I think Adrian can defend himself without your help. If you look through these comments you&#8217;ll see that he didn&#8217;t accuse me of misrepresenting him (because I didn&#8217;t).</p>
<p>I read his post and made my comments. I stand by them. You obviously disagree which is certainly allowed. But please don&#8217;t be a dick about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olaf</title>
		<link>http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-353</link>
		<dc:creator>Olaf</dc:creator>
		<pubDate>Mon, 31 Mar 2008 14:28:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-353</guid>
		<description>@cremes:

&#62; You are tired of writing unit tests. That’s okay.

No, he's tired of writing unit tests FOR TRIVIAL METHODS, something PHP, Perl and the like force him to do, yet Java doesn't. Read the post.

&#62; You are tired of writing comments (or relying on fellow programmers to write comments) that clarify the intent of    &#62; code so you don’t shoot off your foot. That’s okay.

No, he's tired of having to compensate for missing comments in his or other people's code while a statically typed language ENFORCES some kind of documentation, i.e. parameter and return types, whereas a dynamically typed only ENCOURAGES it. Again, read the post.

&#62; All of these positions are reasonable, but IMHO, none of these issues are onerous enough to make me want to    &#62; change my environment. It kind of comes down to a matter of taste. 

&#62; You want a language and runtime environment with training wheels. :-)

&#62; I don’t.

That's OK, though I wholeheartedly agree with the guy who recently stated that an indispensable part of becoming a good programmer is learing not to trust yourself.

What I strongly object to, on the other hand, is your wrongly presenting Adrian's arguments and/or conclusions.

Regards,
Olaf</description>
		<content:encoded><![CDATA[<p>@cremes:</p>
<p>&gt; You are tired of writing unit tests. That’s okay.</p>
<p>No, he&#8217;s tired of writing unit tests FOR TRIVIAL METHODS, something PHP, Perl and the like force him to do, yet Java doesn&#8217;t. Read the post.</p>
<p>&gt; You are tired of writing comments (or relying on fellow programmers to write comments) that clarify the intent of    &gt; code so you don’t shoot off your foot. That’s okay.</p>
<p>No, he&#8217;s tired of having to compensate for missing comments in his or other people&#8217;s code while a statically typed language ENFORCES some kind of documentation, i.e. parameter and return types, whereas a dynamically typed only ENCOURAGES it. Again, read the post.</p>
<p>&gt; All of these positions are reasonable, but IMHO, none of these issues are onerous enough to make me want to    &gt; change my environment. It kind of comes down to a matter of taste. </p>
<p>&gt; You want a language and runtime environment with training wheels. :-)</p>
<p>&gt; I don’t.</p>
<p>That&#8217;s OK, though I wholeheartedly agree with the guy who recently stated that an indispensable part of becoming a good programmer is learing not to trust yourself.</p>
<p>What I strongly object to, on the other hand, is your wrongly presenting Adrian&#8217;s arguments and/or conclusions.</p>
<p>Regards,<br />
Olaf</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Web 2.0 Announcer</title>
		<link>http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-352</link>
		<dc:creator>Web 2.0 Announcer</dc:creator>
		<pubDate>Mon, 31 Mar 2008 09:14:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-352</guid>
		<description>&lt;strong&gt;Programming Languages: Is newer always better? (Part 2)...&lt;/strong&gt;

[...]Let me respond to some of the comments left at “Programming Languages: Is newer always better?”[...]...</description>
		<content:encoded><![CDATA[<p><strong>Programming Languages: Is newer always better? (Part 2)&#8230;</strong></p>
<p>[&#8230;]Let me respond to some of the comments left at “Programming Languages: Is newer always better?”[&#8230;]&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob W</title>
		<link>http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-350</link>
		<dc:creator>Rob W</dc:creator>
		<pubDate>Sun, 30 Mar 2008 20:55:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-350</guid>
		<description>Bit of a tangent, but:
"I don’t think including the JVM was an incorrect decision; the file would not have been so excessively big if the download had included the Java runtime, but only those classes and methods of the JVM which I, or the libraries I had used, could actually possibly call at runtime."

This is a problem that's caused a lot of suffering over the years, and it looks like Sun is *finally* addressing it with the "update N" release, incl. the Java Kernel (which lets you run your application after downloading only the required fragments of the JRE) and a bunch of other long-overdue updates.</description>
		<content:encoded><![CDATA[<p>Bit of a tangent, but:<br />
&#8220;I don’t think including the JVM was an incorrect decision; the file would not have been so excessively big if the download had included the Java runtime, but only those classes and methods of the JVM which I, or the libraries I had used, could actually possibly call at runtime.&#8221;</p>
<p>This is a problem that&#8217;s caused a lot of suffering over the years, and it looks like Sun is *finally* addressing it with the &#8220;update N&#8221; release, incl. the Java Kernel (which lets you run your application after downloading only the required fragments of the JRE) and a bunch of other long-overdue updates.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg M</title>
		<link>http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-347</link>
		<dc:creator>Greg M</dc:creator>
		<pubDate>Sun, 30 Mar 2008 10:40:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-347</guid>
		<description>No offence meant, but you sound like a Haskell junkie who hasn't discovered/understood Haskell yet.</description>
		<content:encoded><![CDATA[<p>No offence meant, but you sound like a Haskell junkie who hasn&#8217;t discovered/understood Haskell yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Machine Assemblers is here to save the world &#187; Blog Archive &#187; &#8216;machine assembler&#8217; on the web</title>
		<link>http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-343</link>
		<dc:creator>Machine Assemblers is here to save the world &#187; Blog Archive &#187; &#8216;machine assembler&#8217; on the web</dc:creator>
		<pubDate>Sat, 29 Mar 2008 14:58:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-343</guid>
		<description>[...] http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/Only thirdly is it a way to command the machine (which, as you say, all languages, including assembler, are capable of). In that respect, one should choose a language firstly giving you maximum expressiveness (eg using an &#8230; [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] <a href="http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/Only" rel="nofollow">http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/Only</a> thirdly is it a way to command the machine (which, as you say, all languages, including assembler, are capable of). In that respect, one should choose a language firstly giving you maximum expressiveness (eg using an &#8230; [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cremes</title>
		<link>http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-337</link>
		<dc:creator>cremes</dc:creator>
		<pubDate>Fri, 28 Mar 2008 11:13:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.databasesandlife.com/programming-languages-is-newer-always-better-part-2/#comment-337</guid>
		<description>Okay, I think I get what you are saying now. Ultimately what it comes down to is that you prefer to give up some power &#38; flexibility for safety. That's a fine choice and a choice for which I do not care to criticize you or anyone else.

You are tired of writing unit tests. That's okay.

You are tired of waiting for scripting languages to go through their compilation on your prod server. That's okay.

You are tired of writing comments (or relying on fellow programmers to write comments) that clarify the intent of code so you don't shoot off your foot. That's okay.

You are tired of making your users download 15MB files for 1MB of functionality. That's okay.

You are tired of waiting for your processes go through their 2 minute startup even though they should run for days, weeks or months. Sure.

All of these positions are reasonable, but IMHO, none of these issues are onerous enough to make me want to change my environment. It kind of comes down to a matter of taste. 

You want a language and runtime environment with training wheels. :-)

I don't.</description>
		<content:encoded><![CDATA[<p>Okay, I think I get what you are saying now. Ultimately what it comes down to is that you prefer to give up some power &amp; flexibility for safety. That&#8217;s a fine choice and a choice for which I do not care to criticize you or anyone else.</p>
<p>You are tired of writing unit tests. That&#8217;s okay.</p>
<p>You are tired of waiting for scripting languages to go through their compilation on your prod server. That&#8217;s okay.</p>
<p>You are tired of writing comments (or relying on fellow programmers to write comments) that clarify the intent of code so you don&#8217;t shoot off your foot. That&#8217;s okay.</p>
<p>You are tired of making your users download 15MB files for 1MB of functionality. That&#8217;s okay.</p>
<p>You are tired of waiting for your processes go through their 2 minute startup even though they should run for days, weeks or months. Sure.</p>
<p>All of these positions are reasonable, but IMHO, none of these issues are onerous enough to make me want to change my environment. It kind of comes down to a matter of taste. </p>
<p>You want a language and runtime environment with training wheels. :-)</p>
<p>I don&#8217;t.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
