<?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/"
		xmlns:media="http://search.yahoo.com/mrss"
		>
<channel>
	<title>Comments on: It&#8217;s the tools, stupid!</title>
	<atom:link href="http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/feed" rel="self" type="application/rss+xml" />
	<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html</link>
	<description>Patrick Lightbody's personal blog</description>
	<lastBuildDate>Tue, 17 Aug 2010 05:51:56 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: AndrÃ¡s BÃ¡rthÃ¡zi</title>
		<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/comment-page-1#comment-655</link>
		<dc:creator>AndrÃ¡s BÃ¡rthÃ¡zi</dc:creator>
		<pubDate>Mon, 15 Aug 2005 09:01:35 +0000</pubDate>
		<guid isPermaLink="false">http://lightbody.net/blog/2005/7/its_the_tools_stupid.html#comment-655</guid>
		<description>Zsolt, you can try starting with Rails, then convert it and change to Java. Maybe it would work. But after some real experiments, you will fall in love with Ruby and Rails, and converting to Java will not be neccesarry. I know it, because I wanted to do it with Perl.
</description>
		<content:encoded><![CDATA[<p>Zsolt, you can try starting with Rails, then convert it and change to Java. Maybe it would work. But after some real experiments, you will fall in love with Ruby and Rails, and converting to Java will not be neccesarry. I know it, because I wanted to do it with Perl.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Beckford</title>
		<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/comment-page-1#comment-654</link>
		<dc:creator>Paul Beckford</dc:creator>
		<pubDate>Tue, 19 Jul 2005 10:17:32 +0000</pubDate>
		<guid isPermaLink="false">http://lightbody.net/blog/2005/7/its_the_tools_stupid.html#comment-654</guid>
		<description>Hi Christian,

Have you ever tried a dynamic language with a good supporting IDE (e.g. VW Smalltalk)? Try it and see what you think. Before Intelij can use your type system to help, you need to type in a hell of a lot of extra information first. Also there is a lot of stuff that a static language stops you doing, hence the need for patterns like factory, null object etc.

I know of no one who has tried both and feels that static languages are more productive (even using intelij).
</description>
		<content:encoded><![CDATA[<p>Hi Christian,</p>
<p>Have you ever tried a dynamic language with a good supporting <span class="caps">IDE </span>(e.g. VW Smalltalk)? Try it and see what you think. Before Intelij can use your type system to help, you need to type in a hell of a lot of extra information first. Also there is a lot of stuff that a static language stops you doing, hence the need for patterns like factory, null object etc.</p>
<p>I know of no one who has tried both and feels that static languages are more productive (even using intelij).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian Hvid</title>
		<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/comment-page-1#comment-653</link>
		<dc:creator>Christian Hvid</dc:creator>
		<pubDate>Tue, 19 Jul 2005 01:31:32 +0000</pubDate>
		<guid isPermaLink="false">http://lightbody.net/blog/2005/7/its_the_tools_stupid.html#comment-653</guid>
		<description>Heya Mike.

I wasnâ€™t trying to be controversial â€“ static typing helps intelligent IDEs. It is a fact. Heck. Even Fowler says so in his famous blurp on dynamic typing:

Another area where static typing is useful is that it allows programming environments to be much more helpful. The revelation here (as in so many things) was IntelliJ. With an IDE like this I really felt the type system was helping me. Even simple things like auto-completion are greatly helped by static types, and leading IDEs can do much more than that.

(From &lt;a href=&quot;http://martinfowler.com/bliki/DynamicTyping.html)&quot; rel=&quot;nofollow&quot;&gt;http://martinfowler.com/bliki/DynamicTyping.html)&lt;/a&gt;
</description>
		<content:encoded><![CDATA[<p>Heya Mike.</p>
<p>I wasn&acirc;€™t trying to be controversial &acirc;€“ static typing helps intelligent <span class="caps">IDE</span>s. It is a fact. Heck. Even Fowler says so in his famous blurp on dynamic typing:</p>
<p>Another area where static typing is useful is that it allows programming environments to be much more helpful. The revelation here (as in so many things) was IntelliJ. With an <span class="caps">IDE </span>like this I really felt the type system was helping me. Even simple things like auto-completion are greatly helped by static types, and leading <span class="caps">IDE</span>s can do much more than that.</p>
<p>(From <a href="http://martinfowler.com/bliki/DynamicTyping.html)" rel="nofollow">http://martinfowler.com/bliki/DynamicTyping.html)</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Beckford</title>
		<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/comment-page-1#comment-652</link>
		<dc:creator>Paul Beckford</dc:creator>
		<pubDate>Mon, 18 Jul 2005 03:09:54 +0000</pubDate>
		<guid isPermaLink="false">http://lightbody.net/blog/2005/7/its_the_tools_stupid.html#comment-652</guid>
		<description>Hi,

I&#039;m from a C/C++ background, and whilst C/Unix was great in its&#039; day, I think we&#039;ve got a bit stuck on the C legacy and need to see beyond C  derived languages. As an advocate of Agile development, I agree that productivity is significant, and dynamic languages are just more productive (and fun).

Also static languages don&#039;t really fully support OO semantics (IMHO). For full OO semantics I think that late binding of messages to methods at runtime is crucial (something overlooked in C++). The nearest Java gets to this is interfaces.

So ruby is a step in the right direction, but if people could just let go of the C like syntax the options increase.

Dynamic, pure 00, with a great class library and a great IDE? Sounds like Smalltalk!

I just do not understand why this obvious choice (to me at least) is so often overlooked.
</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I&#8217;m from a C/C++ background, and whilst C/Unix was great in its&#8217; day, I think we&#8217;ve got a bit stuck on the C legacy and need to see beyond C  derived languages. As an advocate of Agile development, I agree that productivity is significant, and dynamic languages are just more productive (and fun).</p>
<p>Also static languages don&#8217;t really fully support OO semantics (IMHO). For full OO semantics I think that late binding of messages to methods at runtime is crucial (something overlooked in C++). The nearest Java gets to this is interfaces.</p>
<p>So ruby is a step in the right direction, but if people could just let go of the C like syntax the options increase.</p>
<p>Dynamic, pure 00, with a great class library and a great <span class="caps">IDE</span>? Sounds like Smalltalk!</p>
<p>I just do not understand why this obvious choice (to me at least) is so often overlooked.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob</title>
		<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/comment-page-1#comment-651</link>
		<dc:creator>Rob</dc:creator>
		<pubDate>Sun, 17 Jul 2005 19:07:18 +0000</pubDate>
		<guid isPermaLink="false">http://lightbody.net/blog/2005/7/its_the_tools_stupid.html#comment-651</guid>
		<description>Christian: You do realize the first refactoring IDE is the Smalltalk Refactoring Browser, right?  The fact that the first refactoring tool support was created for a dynamic language kind of destroys your claim.
</description>
		<content:encoded><![CDATA[<p>Christian: You do realize the first refactoring <span class="caps">IDE </span>is the Smalltalk Refactoring Browser, right?  The fact that the first refactoring tool support was created for a dynamic language kind of destroys your claim.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Corneille</title>
		<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/comment-page-1#comment-650</link>
		<dc:creator>Mike Corneille</dc:creator>
		<pubDate>Sun, 17 Jul 2005 07:20:46 +0000</pubDate>
		<guid isPermaLink="false">http://lightbody.net/blog/2005/7/its_the_tools_stupid.html#comment-650</guid>
		<description>There is nothing in the Java language that makes it as heavy as the some of the so-called best practices make it.  It&#039;s proven to be as light weight as any scripting language such as beanshell -- in my mind Java is just a strong typed scripting language that can be pre-compiled.  Ruby has done a great job of showing the Java community that there is an easier, more efficient and more enjoyable way to write code.

The problem seems to be somewhere between a grotesque fascination with XML configuration files and the market-purported need for heavy application servers.  Java isn&#039;t heavy; it&#039;s how people use it that makes it seem heavy.

Thank you for pointing out that there is a better way to develop then to deploy an app before running it.  In the development team I work in we use a combination of Tomcat, Eclipse 3.1 and a project laid out like an expanded WAR to get all the benefits of so called code/alt-tab/refresh aka CAR (why not another TLA?) development.  When Tomcat can&#039;t handle a hotswap of the code the JVM terminates and restarts -- with moderately fast machine this restart is not noticeable.

Here&#039;s the rest of the environment for the heck of it.  All in-container unit tests are done with Jetty/http-lib, Hibernate/x-doclet is used for O/R mapping and a stripped down struts+velocity setup for the web framework.
</description>
		<content:encoded><![CDATA[<p>There is nothing in the Java language that makes it as heavy as the some of the so-called best practices make it.  It&#8217;s proven to be as light weight as any scripting language such as beanshell &#8212; in my mind Java is just a strong typed scripting language that can be pre-compiled.  Ruby has done a great job of showing the Java community that there is an easier, more efficient and more enjoyable way to write code.</p>
<p>The problem seems to be somewhere between a grotesque fascination with <span class="caps">XML </span>configuration files and the market-purported need for heavy application servers.  Java isn&#8217;t heavy; it&#8217;s how people use it that makes it seem heavy.</p>
<p>Thank you for pointing out that there is a better way to develop then to deploy an app before running it.  In the development team I work in we use a combination of Tomcat, Eclipse 3.1 and a project laid out like an expanded <span class="caps">WAR </span>to get all the benefits of so called code/alt-tab/refresh aka <span class="caps">CAR </span>(why not another <span class="caps">TLA</span>?) development.  When Tomcat can&#8217;t handle a hotswap of the code the <span class="caps">JVM </span>terminates and restarts &#8212; with moderately fast machine this restart is not noticeable.</p>
<p>Here&#8217;s the rest of the environment for the heck of it.  All in-container unit tests are done with Jetty/http-lib, Hibernate/x-doclet is used for O/R mapping and a stripped down struts+velocity setup for the web framework.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian Hvid</title>
		<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/comment-page-1#comment-649</link>
		<dc:creator>Christian Hvid</dc:creator>
		<pubDate>Sun, 17 Jul 2005 04:20:36 +0000</pubDate>
		<guid isPermaLink="false">http://lightbody.net/blog/2005/7/its_the_tools_stupid.html#comment-649</guid>
		<description>Hi all.

I have to disagree.

The language shapes and fundamentally defines what kind of tool support you can have.

Creating a refactoring tool like Idea for Ruby (or any other pure dynamic language) is impossible because you are severely limited on what you can statically reason about.

You will be left with tools that are little more than search and replace macros - loosing the &quot;semantic preserving&quot; guarantee that is what refactoring is all about.

Static typing has its strengths and weaknesses. It is more verbose and it can worsen the impedance mismatch between RM and OO.

But tool support: refactoring, UML-diagramming etc. is where it shines.
</description>
		<content:encoded><![CDATA[<p>Hi all.</p>
<p>I have to disagree.</p>
<p>The language shapes and fundamentally defines what kind of tool support you can have.</p>
<p>Creating a refactoring tool like Idea for Ruby (or any other pure dynamic language) is impossible because you are severely limited on what you can statically reason about.</p>
<p>You will be left with tools that are little more than search and replace macros &#8211; loosing the &#8220;semantic preserving&#8221; guarantee that is what refactoring is all about.</p>
<p>Static typing has its strengths and weaknesses. It is more verbose and it can worsen the impedance mismatch between RM and <span class="caps">OO.</span></p>
<p>But tool support: refactoring, <span class="caps">UML</span>-diagramming etc. is where it shines.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: xet7</title>
		<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/comment-page-1#comment-648</link>
		<dc:creator>xet7</dc:creator>
		<pubDate>Sat, 16 Jul 2005 10:48:06 +0000</pubDate>
		<guid isPermaLink="false">http://lightbody.net/blog/2005/7/its_the_tools_stupid.html#comment-648</guid>
		<description>Maybe this just means that rubyeclipse.sourceforge.net project could attract more development?

In freeride.rubyforge.org:s newest version 0.9.4. experimental refactoring support is deactivated because it doesn&#039;t work too well.

And, there is no Windows or Linux version for x86 of TextMate, so I&#039;m kind of lost what editor to use on Windows or Linux to code RoR.
</description>
		<content:encoded><![CDATA[<p>Maybe this just means that rubyeclipse.sourceforge.net project could attract more development?</p>
<p>In freeride.rubyforge.org:s newest version 0.9.4. experimental refactoring support is deactivated because it doesn&#8217;t work too well.</p>
<p>And, there is no Windows or Linux version for x86 of TextMate, so I&#8217;m kind of lost what editor to use on Windows or Linux to code RoR.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Heinemeier Hansson</title>
		<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/comment-page-1#comment-647</link>
		<dc:creator>David Heinemeier Hansson</dc:creator>
		<pubDate>Sat, 16 Jul 2005 02:48:16 +0000</pubDate>
		<guid isPermaLink="false">http://lightbody.net/blog/2005/7/its_the_tools_stupid.html#comment-647</guid>
		<description>It&#039;s great to see that you&#039;re warming up to the importance of productivity, Patrick. I think HotSwap sounds like an interesting approximation, but I&#039;d be pretty frustrated and disencouraged whenever I wanted to change interfaces. I don&#039;t at all work in a specify-all-upfront, then program-it-all-afterwards mode.

Anyway, I agree that good tools are nice. I liked IDEA a lot when I was doing some Java work. I obviously enjoy pushing productivity into the core tools (the language, the framework) rather than layering it on top. BUT, I&#039;d certainly like to have IDEA for Rails.

Good tools are important. Java is blessed to have IDEA and Eclipse.
</description>
		<content:encoded><![CDATA[<p>It&#8217;s great to see that you&#8217;re warming up to the importance of productivity, Patrick. I think HotSwap sounds like an interesting approximation, but I&#8217;d be pretty frustrated and disencouraged whenever I wanted to change interfaces. I don&#8217;t at all work in a specify-all-upfront, then program-it-all-afterwards mode.</p>
<p>Anyway, I agree that good tools are nice. I liked <span class="caps">IDEA </span>a lot when I was doing some Java work. I obviously enjoy pushing productivity into the core tools (the language, the framework) rather than layering it on top. <span class="caps">BUT,</span> I&#8217;d certainly like to have <span class="caps">IDEA </span>for Rails.</p>
<p>Good tools are important. Java is blessed to have <span class="caps">IDEA </span>and Eclipse.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Maarten Hazewinkel</title>
		<link>http://lightbody.net/blog/2005/07/its_the_tools_stupid.html/comment-page-1#comment-646</link>
		<dc:creator>Maarten Hazewinkel</dc:creator>
		<pubDate>Fri, 15 Jul 2005 21:05:26 +0000</pubDate>
		<guid isPermaLink="false">http://lightbody.net/blog/2005/7/its_the_tools_stupid.html#comment-646</guid>
		<description>HotSwap is mostly useful when you&#039;re doing algorithm changes. It&#039;s especially useful when you find a bug, break the execution in the problem method, fix the code, rebuild-and-swap, and then continue execution from the start of the method to check that it works better now.

It is much less useful when your (static) code structures are still in flux.

Essentially, the further you are in a project, the more useful it becomes. So don&#039;t try using it at the start of a project, but switch it on once your interfaces and object structures have settled down a little.

Maarten
</description>
		<content:encoded><![CDATA[<p>HotSwap is mostly useful when you&#8217;re doing algorithm changes. It&#8217;s especially useful when you find a bug, break the execution in the problem method, fix the code, rebuild-and-swap, and then continue execution from the start of the method to check that it works better now.</p>
<p>It is much less useful when your (static) code structures are still in flux.</p>
<p>Essentially, the further you are in a project, the more useful it becomes. So don&#8217;t try using it at the start of a project, but switch it on once your interfaces and object structures have settled down a little.</p>
<p>Maarten</p>
]]></content:encoded>
	</item>
</channel>
</rss>
