<?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: Testing Groovy code &#8211; an undesirable burden?</title>
	<atom:link href="http://www.cacoethes.co.uk/blog/groovyandgrails/243/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cacoethes.co.uk/blog/groovyandgrails/243</link>
	<description>A search for meaning in software and life</description>
	<lastBuildDate>Thu, 06 Oct 2011 21:33:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Choice of the week &#8211; 15/2010 &#171; Ivko&#39;s Blog</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/243/comment-page-1#comment-1009</link>
		<dc:creator>Choice of the week &#8211; 15/2010 &#171; Ivko&#39;s Blog</dc:creator>
		<pubDate>Sun, 18 Apr 2010 20:44:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=243#comment-1009</guid>
		<description>[...] The next blog post is kind of a sequel (though written by different person) to that from last week on JavaScript. This time it looks from the Groovy language perspective. It actually explains why preventing syntax or type mismatch errors that are usually caught by the compiler in the statically typed languages, does not require writing additional tests. You can see that the mainstream tests that you would write in a compiled language, would do the job of the compiler. [...]</description>
		<content:encoded><![CDATA[<p>[...] The next blog post is kind of a sequel (though written by different person) to that from last week on JavaScript. This time it looks from the Groovy language perspective. It actually explains why preventing syntax or type mismatch errors that are usually caught by the compiler in the statically typed languages, does not require writing additional tests. You can see that the mainstream tests that you would write in a compiled language, would do the job of the compiler. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/243/comment-page-1#comment-1005</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Wed, 14 Apr 2010 09:00:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=243#comment-1005</guid>
		<description>@Sakuraba That&#039;s another argument and a perfectly valid one. Does it make you more productive? Certainly compared to developing with a static language without such an IDE. I remember when I first used Eclipse and how much quicker development became because I didn&#039;t have to go through the compilation step.

But are you less productive if you use a dynamic language and take a test-first approach? I think it depends on how comprehensively you embrace the test-first philosophy. Also, don&#039;t ignore the benefits you get from the expressiveness of something like Groovy over Java and the newer IDE support that highlights potential missing methods and properties.

As I said, though, it&#039;s a different argument to the ones I focus on in this article. It&#039;s also an argument that boils down more to personal preference and the task at hand than anything else.

@Dierk That&#039;s mostly true. When you are integrating code across teams, a compiler can be particular useful to detect breaking changes in interfaces and the like. But IDE feedback is probably the main benefit people see.

Yes, you can get such feedback from the IDE with Groovy as I mentioned, but bear in mind that there&#039;s a significant difference between a compile error, which is very difficult to ignore, and the simple underlining of method or property. The trouble is, a lot of valid things end up being underlined, particularly if you use a lot of untyped variables, method arguments, and return values. I suspect pair programming can make a significant difference here!</description>
		<content:encoded><![CDATA[<p>@Sakuraba That&#8217;s another argument and a perfectly valid one. Does it make you more productive? Certainly compared to developing with a static language without such an IDE. I remember when I first used Eclipse and how much quicker development became because I didn&#8217;t have to go through the compilation step.</p>
<p>But are you less productive if you use a dynamic language and take a test-first approach? I think it depends on how comprehensively you embrace the test-first philosophy. Also, don&#8217;t ignore the benefits you get from the expressiveness of something like Groovy over Java and the newer IDE support that highlights potential missing methods and properties.</p>
<p>As I said, though, it&#8217;s a different argument to the ones I focus on in this article. It&#8217;s also an argument that boils down more to personal preference and the task at hand than anything else.</p>
<p>@Dierk That&#8217;s mostly true. When you are integrating code across teams, a compiler can be particular useful to detect breaking changes in interfaces and the like. But IDE feedback is probably the main benefit people see.</p>
<p>Yes, you can get such feedback from the IDE with Groovy as I mentioned, but bear in mind that there&#8217;s a significant difference between a compile error, which is very difficult to ignore, and the simple underlining of method or property. The trouble is, a lot of valid things end up being underlined, particularly if you use a lot of untyped variables, method arguments, and return values. I suspect pair programming can make a significant difference here!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sakuraba</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/243/comment-page-1#comment-1004</link>
		<dc:creator>Sakuraba</dc:creator>
		<pubDate>Wed, 14 Apr 2010 08:45:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=243#comment-1004</guid>
		<description>@Felipe
No, as I said, I write code in both language styles. I dont favor any over the other. I would e.g. much rather work an a Django project dthan working on a Seam project, despite having much more experience with Java than with Python. 

The biggest productivity driver is motivation and not a tool. In my experience however libraries written in dynamic languages require extensive documentation to make it easy to get started, because no IDE can tell me what methods you can invoke on which objects. If such documentation is missing, I think then static languages have an edge, because it is easier to build code nagivation tools for them, because a tool just knows which method is going to be dispatched too.


I favor maturity, developer usablity and proof that something has been put to the test much higher than what language it is written in.</description>
		<content:encoded><![CDATA[<p>@Felipe<br />
No, as I said, I write code in both language styles. I dont favor any over the other. I would e.g. much rather work an a Django project dthan working on a Seam project, despite having much more experience with Java than with Python. </p>
<p>The biggest productivity driver is motivation and not a tool. In my experience however libraries written in dynamic languages require extensive documentation to make it easy to get started, because no IDE can tell me what methods you can invoke on which objects. If such documentation is missing, I think then static languages have an edge, because it is easier to build code nagivation tools for them, because a tool just knows which method is going to be dispatched too.</p>
<p>I favor maturity, developer usablity and proof that something has been put to the test much higher than what language it is written in.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Blog bookmarks 04/14/2010 &#171; My Diigo bookmarks</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/243/comment-page-1#comment-1003</link>
		<dc:creator>Blog bookmarks 04/14/2010 &#171; My Diigo bookmarks</dc:creator>
		<pubDate>Wed, 14 Apr 2010 04:30:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=243#comment-1003</guid>
		<description>[...] Peter Ledbrook [...]</description>
		<content:encoded><![CDATA[<p>[...] Peter Ledbrook [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dierk König</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/243/comment-page-1#comment-1002</link>
		<dc:creator>Dierk König</dc:creator>
		<pubDate>Tue, 13 Apr 2010 19:07:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=243#comment-1002</guid>
		<description>Good blog post but not quite on the target. People don&#039;t seek compiler checks, the seek _IDE_ checks! 
And a decent IDE can highlight the code above to show where methods are known at editing time and where they are expected to be known only at runtime. 
As a programmer I can match this against my expectations.

In other words, in Groovy you can have as much checks as you want to have, albeit that the tool that enforces them is not the compiler.</description>
		<content:encoded><![CDATA[<p>Good blog post but not quite on the target. People don&#8217;t seek compiler checks, the seek _IDE_ checks!<br />
And a decent IDE can highlight the code above to show where methods are known at editing time and where they are expected to be known only at runtime.<br />
As a programmer I can match this against my expectations.</p>
<p>In other words, in Groovy you can have as much checks as you want to have, albeit that the tool that enforces them is not the compiler.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Felipe Cypriano</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/243/comment-page-1#comment-1001</link>
		<dc:creator>Felipe Cypriano</dc:creator>
		<pubDate>Tue, 13 Apr 2010 18:19:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=243#comment-1001</guid>
		<description>@Sakuraba
Do you think this missing error-as-you-type makes your productivity lower?</description>
		<content:encoded><![CDATA[<p>@Sakuraba<br />
Do you think this missing error-as-you-type makes your productivity lower?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sakuraba</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/243/comment-page-1#comment-1000</link>
		<dc:creator>Sakuraba</dc:creator>
		<pubDate>Tue, 13 Apr 2010 16:07:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=243#comment-1000</guid>
		<description>I write code in static and dynamic languages and you have not completely convinced me despite having written a very good  blog entry about the subject.


The main point that compile-time-type-checking-people make is the fact that you dont even have to run your tests to find out about the error, whereas in dynamic languages such information is impossible to find out, since anything can be changed/added at runtime.


In static systems you can tell wether your screws are in the right holes BEFORE the car touches the streets. Wether or not the engine works correctly is not the scope however.</description>
		<content:encoded><![CDATA[<p>I write code in static and dynamic languages and you have not completely convinced me despite having written a very good  blog entry about the subject.</p>
<p>The main point that compile-time-type-checking-people make is the fact that you dont even have to run your tests to find out about the error, whereas in dynamic languages such information is impossible to find out, since anything can be changed/added at runtime.</p>
<p>In static systems you can tell wether your screws are in the right holes BEFORE the car touches the streets. Wether or not the engine works correctly is not the scope however.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tweets that mention Peter Ledbrook -- Topsy.com</title>
		<link>http://www.cacoethes.co.uk/blog/groovyandgrails/243/comment-page-1#comment-999</link>
		<dc:creator>Tweets that mention Peter Ledbrook -- Topsy.com</dc:creator>
		<pubDate>Tue, 13 Apr 2010 15:35:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=243#comment-999</guid>
		<description>[...] This post was mentioned on Twitter by Dmitriy Kopylenko and pledbrook, groovytweets. groovytweets said: RT @pledbrook: Some thoughts on Groovy/Grails and testing: http://www.cacoethes.co.uk/blog/groovyandgrails/243 [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by Dmitriy Kopylenko and pledbrook, groovytweets. groovytweets said: RT @pledbrook: Some thoughts on Groovy/Grails and testing: <a href="http://www.cacoethes.co.uk/blog/groovyandgrails/243" rel="nofollow">http://www.cacoethes.co.uk/blog/groovyandgrails/243</a> [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

