<?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: Are polyglot systems a good idea?</title>
	<atom:link href="http://www.cacoethes.co.uk/blog/software/are-polyglot-systems-a-good-idea/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cacoethes.co.uk/blog/software/are-polyglot-systems-a-good-idea</link>
	<description>A search for meaning in software and life</description>
	<lastBuildDate>Tue, 31 Aug 2010 09:23:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jeremy Flowers</title>
		<link>http://www.cacoethes.co.uk/blog/software/are-polyglot-systems-a-good-idea/comment-page-1#comment-213</link>
		<dc:creator>Jeremy Flowers</dc:creator>
		<pubDate>Sun, 30 Aug 2009 18:47:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=56#comment-213</guid>
		<description>Polyglot programming seems to a level of complexity too when it comes to compile time. Have a listen to Danno Ferrin on the Grailspodcast 83 when he talks about cross compiling. Effectively when you deal with n languages there&#039;s (2^n) -1 connections between the stubs created for each language. I was making my head spin!</description>
		<content:encoded><![CDATA[<p>Polyglot programming seems to a level of complexity too when it comes to compile time. Have a listen to Danno Ferrin on the Grailspodcast 83 when he talks about cross compiling. Effectively when you deal with n languages there&#8217;s (2^n) -1 connections between the stubs created for each language. I was making my head spin!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Delivering Business Value Through Ployglot Systems (part 1) &#124; Object Partners Inc</title>
		<link>http://www.cacoethes.co.uk/blog/software/are-polyglot-systems-a-good-idea/comment-page-1#comment-90</link>
		<dc:creator>Delivering Business Value Through Ployglot Systems (part 1) &#124; Object Partners Inc</dc:creator>
		<pubDate>Mon, 10 Aug 2009 14:45:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=56#comment-90</guid>
		<description>[...] answer to Peter Ledbrooks&#8217;s blog post &#8220;Are polyglot systems a good idea?&#8221; is [...]</description>
		<content:encoded><![CDATA[<p>[...] answer to Peter Ledbrooks&#8217;s blog post &#8220;Are polyglot systems a good idea?&#8221; is [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://www.cacoethes.co.uk/blog/software/are-polyglot-systems-a-good-idea/comment-page-1#comment-76</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Fri, 07 Aug 2009 14:36:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=56#comment-76</guid>
		<description>Groovy is a special case because its syntax is so similar to Java (as you say, it&#039;s pretty much a superset) and it uses the same class library (the JDK). Those are two of its main selling points.

That said, it&#039;s a dynamic language and therefore it behaves significantly differently to Java. Developers need to be aware that the compiler won&#039;t pick up type errors, which often causes confusion due to the optional static types. They also have to get used to not being able to navigate to method implementations when they are dynamically added to a class or object. On top of that, it still takes time to learn idiomatic Groovy.

Scala is very different to Java, even though it runs on the JVM. It has its own core library and it includes functional programming features, which some imperative programmers find very difficult to get their heads round.

As you say, though, we&#039;re still talking the Java platform in both cases (unless you use the .Net version of Scala), so there are few deployment and integration issues. I think we just need to clearly distinguish between polyglotism (multiple languages) and multiple platforms.</description>
		<content:encoded><![CDATA[<p>Groovy is a special case because its syntax is so similar to Java (as you say, it&#8217;s pretty much a superset) and it uses the same class library (the JDK). Those are two of its main selling points.</p>
<p>That said, it&#8217;s a dynamic language and therefore it behaves significantly differently to Java. Developers need to be aware that the compiler won&#8217;t pick up type errors, which often causes confusion due to the optional static types. They also have to get used to not being able to navigate to method implementations when they are dynamically added to a class or object. On top of that, it still takes time to learn idiomatic Groovy.</p>
<p>Scala is very different to Java, even though it runs on the JVM. It has its own core library and it includes functional programming features, which some imperative programmers find very difficult to get their heads round.</p>
<p>As you say, though, we&#8217;re still talking the Java platform in both cases (unless you use the .Net version of Scala), so there are few deployment and integration issues. I think we just need to clearly distinguish between polyglotism (multiple languages) and multiple platforms.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Burke</title>
		<link>http://www.cacoethes.co.uk/blog/software/are-polyglot-systems-a-good-idea/comment-page-1#comment-74</link>
		<dc:creator>Bill Burke</dc:creator>
		<pubDate>Fri, 07 Aug 2009 13:33:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=56#comment-74</guid>
		<description>I&#039;m not sure Groovy and Scala fit into my idea that Polyglotism is bad as they are both supersets of Java, no?  I was really thinking more of Ruby, Perl, Python, C, C++, Java where they all have different package structures, installation, runtimes, syntax, libraries, etc.</description>
		<content:encoded><![CDATA[<p>I&#8217;m not sure Groovy and Scala fit into my idea that Polyglotism is bad as they are both supersets of Java, no?  I was really thinking more of Ruby, Perl, Python, C, C++, Java where they all have different package structures, installation, runtimes, syntax, libraries, etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mac</title>
		<link>http://www.cacoethes.co.uk/blog/software/are-polyglot-systems-a-good-idea/comment-page-1#comment-64</link>
		<dc:creator>Mac</dc:creator>
		<pubDate>Wed, 05 Aug 2009 16:40:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.cacoethes.co.uk/blog/?p=56#comment-64</guid>
		<description>I think polyglot systems are a good idea, if used wisely. I&#039;ve always been an advocate of &quot;best tool for the job&quot;. 

But imagine a project where you are implementing a grails website using groovy, use java to implement services, use scala to handle message passing because of actor support, use clojure to implement the AI logic to predict the flight delay. Imagine what the code review session would be like.

The above is of course, a silly made up example. But in my current project, we are in fact using groovy, java and clojure. It has lead to some, uh, interesting code review sessions. :)</description>
		<content:encoded><![CDATA[<p>I think polyglot systems are a good idea, if used wisely. I&#8217;ve always been an advocate of &#8220;best tool for the job&#8221;. </p>
<p>But imagine a project where you are implementing a grails website using groovy, use java to implement services, use scala to handle message passing because of actor support, use clojure to implement the AI logic to predict the flight delay. Imagine what the code review session would be like.</p>
<p>The above is of course, a silly made up example. But in my current project, we are in fact using groovy, java and clojure. It has lead to some, uh, interesting code review sessions. <img src='http://www.cacoethes.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
