<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: It&#8217;s not about the language, people&#8230;.</title>
	<atom:link href="http://www.gridshore.nl/2009/01/26/its-not-about-the-language-people/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gridshore.nl/2009/01/26/its-not-about-the-language-people/</link>
	<description>A weblog about software engineering, Architecture, Technology an other things we like.</description>
	<lastBuildDate>Sat, 28 Jan 2012 20:11:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Gerbrand van Dieijen</title>
		<link>http://www.gridshore.nl/2009/01/26/its-not-about-the-language-people/comment-page-1/#comment-15637</link>
		<dc:creator>Gerbrand van Dieijen</dc:creator>
		<pubDate>Sat, 31 Jan 2009 12:12:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.gridshore.nl/2009/01/26/its-not-about-the-language-people/#comment-15637</guid>
		<description>Hello Ben,

I think we think the same on good software. The best software is software that satisfies the customer (or better said: the user) best. Both now (in usage) as in the future (as in being extensible, robust and scalable) .
Language and compiler design are good subjects to see &#039;beyond&#039; a programming language and tool.</description>
		<content:encoded><![CDATA[<p>Hello Ben,</p>
<p>I think we think the same on good software. The best software is software that satisfies the customer (or better said: the user) best. Both now (in usage) as in the future (as in being extensible, robust and scalable) .<br />
Language and compiler design are good subjects to see &#8216;beyond&#8217; a programming language and tool.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://www.gridshore.nl/2009/01/26/its-not-about-the-language-people/comment-page-1/#comment-15634</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Sat, 31 Jan 2009 10:32:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.gridshore.nl/2009/01/26/its-not-about-the-language-people/#comment-15634</guid>
		<description>Gerbrand,

I sort of agree with you a little bit up to &quot;The best software is developed by the best software developers.&quot; After that you lose me.

First of all, what do you consider the &quot;best software&quot;? Is that software that was written to squeeze every last drop out of every last feature of its programming language, or is that software that correctly and clearly expresses the problem domain and the solutions within that domain? Is software more readable because it is written clearly, with descriptive names and objects (in a mathematical sense, not an OOP sense) that use the domain language -- or because the program is short? If a program requires maintenance due to a threading bug, is it more likely that bug was caused by the multiprogramming model of the language, or because the developer didn&#039;t correctly synchronize the parallel components of the program (and I don&#039;t mean mechanically synchronize in the sense of syntax, I mean that it&#039;s more likely his chosen solution to the problem is wrong)?

That aside, what gives you the idea that there is something like a &quot;best programming language&quot;? Any problem domain has a set of optimal languages for that domain (i.e. a set of languages optimally suited to solving the problems of that domain). Object-oriented languages happen to be well-suited to business software, which is usually an interaction between business entities. But if I were working on scientific software, at least for the computational core, I probably wouldn&#039;t rely on Java as much as on Haskell. Or LISP, for AI.
However, as Michael Yuan points out, in software engineering the fact that a language is technically more suited to a problem is not even always a deciding factor. If an organisation has standardized on Java, you will have to use Java to work for them. Even if you happen to feel Ruby is a better language. In other words, software engineering is about more than the concerns of a single program. And that is where you need a software engineer rather than a software developer: you need someone who sees that code quality lives in design and domain expression, not in language syntax.

Back when I was in university, there was a course on programming language concepts. That course taught us about the different concepts of programming language and illustrated how they were implemented in different languages. The goal of the course was to prepare us to learn any programming language necessary, fast. And the reason for the course is what I said above: it&#039;s ludicrous to think that you&#039;ll never have to deal with more than one language or that one language is the be-all and end-all of things -- or even &quot;the best&quot;. I&#039;d go so far as to say that such belief is a handicap to any software engineer.

Finally, I agree that the best software is developed by the best software developers. However, I think &quot;the best software developers&quot; probably means something different to me than to you. I would consider the best software developers the ones that form the team that has the best mix of experience, is the most willing to learn and consider different ideas and approaches and is the most focused on domain concept (the domain language) rather than on domain implementation (the programming language syntax).

BTW, I didn&#039;t say the difference between Java, Ruby and Haskell was small. The difference between Haskell and Java is huge -- fundamental even, since they are based on different computational models. What I said was that if your grasp of the domain is firm, you will be able to express it in whatever language you happen to be using.</description>
		<content:encoded><![CDATA[<p>Gerbrand,</p>
<p>I sort of agree with you a little bit up to &#8220;The best software is developed by the best software developers.&#8221; After that you lose me.</p>
<p>First of all, what do you consider the &#8220;best software&#8221;? Is that software that was written to squeeze every last drop out of every last feature of its programming language, or is that software that correctly and clearly expresses the problem domain and the solutions within that domain? Is software more readable because it is written clearly, with descriptive names and objects (in a mathematical sense, not an OOP sense) that use the domain language &#8212; or because the program is short? If a program requires maintenance due to a threading bug, is it more likely that bug was caused by the multiprogramming model of the language, or because the developer didn&#8217;t correctly synchronize the parallel components of the program (and I don&#8217;t mean mechanically synchronize in the sense of syntax, I mean that it&#8217;s more likely his chosen solution to the problem is wrong)?</p>
<p>That aside, what gives you the idea that there is something like a &#8220;best programming language&#8221;? Any problem domain has a set of optimal languages for that domain (i.e. a set of languages optimally suited to solving the problems of that domain). Object-oriented languages happen to be well-suited to business software, which is usually an interaction between business entities. But if I were working on scientific software, at least for the computational core, I probably wouldn&#8217;t rely on Java as much as on Haskell. Or LISP, for AI.<br />
However, as Michael Yuan points out, in software engineering the fact that a language is technically more suited to a problem is not even always a deciding factor. If an organisation has standardized on Java, you will have to use Java to work for them. Even if you happen to feel Ruby is a better language. In other words, software engineering is about more than the concerns of a single program. And that is where you need a software engineer rather than a software developer: you need someone who sees that code quality lives in design and domain expression, not in language syntax.</p>
<p>Back when I was in university, there was a course on programming language concepts. That course taught us about the different concepts of programming language and illustrated how they were implemented in different languages. The goal of the course was to prepare us to learn any programming language necessary, fast. And the reason for the course is what I said above: it&#8217;s ludicrous to think that you&#8217;ll never have to deal with more than one language or that one language is the be-all and end-all of things &#8212; or even &#8220;the best&#8221;. I&#8217;d go so far as to say that such belief is a handicap to any software engineer.</p>
<p>Finally, I agree that the best software is developed by the best software developers. However, I think &#8220;the best software developers&#8221; probably means something different to me than to you. I would consider the best software developers the ones that form the team that has the best mix of experience, is the most willing to learn and consider different ideas and approaches and is the most focused on domain concept (the domain language) rather than on domain implementation (the programming language syntax).</p>
<p>BTW, I didn&#8217;t say the difference between Java, Ruby and Haskell was small. The difference between Haskell and Java is huge &#8212; fundamental even, since they are based on different computational models. What I said was that if your grasp of the domain is firm, you will be able to express it in whatever language you happen to be using.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gerbrand van Dieijen</title>
		<link>http://www.gridshore.nl/2009/01/26/its-not-about-the-language-people/comment-page-1/#comment-15604</link>
		<dc:creator>Gerbrand van Dieijen</dc:creator>
		<pubDate>Fri, 30 Jan 2009 10:15:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.gridshore.nl/2009/01/26/its-not-about-the-language-people/#comment-15604</guid>
		<description>I a bit of provocative posting. The best software is developed by the best software developers. The best software developers want to develop in the best programming language, using the best tools. So the programming language *is* important.

Developing good software is possible in any language, but good developers prefer to program in a language that is concise, using software development tools and environments that don&#039;t waste their time.

I don&#039;t agree the difference between those languages is small. Features as closures, actor-model as alternative for mediocre threading model, ability to program functional, advanced typing system, ability to extend the language allow developers to program software that consists of fewer lines of code and that is much more readable.
All in all, software development is a continuous process in any company. This means software not only has to be build &#039;in time&#039; and &#039;in budget&#039;, but also that software can be extended and maintained easily.

However, I agree that many problems in current software development can&#039;t be solved by just switching language.</description>
		<content:encoded><![CDATA[<p>I a bit of provocative posting. The best software is developed by the best software developers. The best software developers want to develop in the best programming language, using the best tools. So the programming language *is* important.</p>
<p>Developing good software is possible in any language, but good developers prefer to program in a language that is concise, using software development tools and environments that don&#8217;t waste their time.</p>
<p>I don&#8217;t agree the difference between those languages is small. Features as closures, actor-model as alternative for mediocre threading model, ability to program functional, advanced typing system, ability to extend the language allow developers to program software that consists of fewer lines of code and that is much more readable.<br />
All in all, software development is a continuous process in any company. This means software not only has to be build &#8216;in time&#8217; and &#8216;in budget&#8217;, but also that software can be extended and maintained easily.</p>
<p>However, I agree that many problems in current software development can&#8217;t be solved by just switching language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frederic Daoud</title>
		<link>http://www.gridshore.nl/2009/01/26/its-not-about-the-language-people/comment-page-1/#comment-14794</link>
		<dc:creator>Frederic Daoud</dc:creator>
		<pubDate>Tue, 27 Jan 2009 13:15:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.gridshore.nl/2009/01/26/its-not-about-the-language-people/#comment-14794</guid>
		<description>Thanks for the excellent post, Ben. It drives some very important points home, and I think many developers would benefit from taking a step back and seeing the big picture to software development, as you describe.</description>
		<content:encoded><![CDATA[<p>Thanks for the excellent post, Ben. It drives some very important points home, and I think many developers would benefit from taking a step back and seeing the big picture to software development, as you describe.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

