<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: LOTY Time Again: Scala or Clojure?!?!</title>
	<atom:link href="http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/feed/" rel="self" type="application/rss+xml" />
	<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/</link>
	<description>Thoughts on Java, Groovy, Grails, Agile Development, etc. etc. etc.</description>
	<lastBuildDate>Tue, 17 May 2011 16:24:45 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: 2010 in review: the automated analysis&#8230; &#171; Matt Stine&#039;s Blog</title>
		<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/#comment-266</link>
		<dc:creator><![CDATA[2010 in review: the automated analysis&#8230; &#171; Matt Stine&#039;s Blog]]></dc:creator>
		<pubDate>Mon, 03 Jan 2011 02:28:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-266</guid>
		<description><![CDATA[[...] LOTY Time Again: Scala or Clojure?!?! April 200917 comments [...]]]></description>
		<content:encoded><![CDATA[<p>[...] LOTY Time Again: Scala or Clojure?!?! April 200917 comments [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl</title>
		<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/#comment-64</link>
		<dc:creator><![CDATA[Carl]]></dc:creator>
		<pubDate>Tue, 06 Apr 2010 08:36:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-64</guid>
		<description><![CDATA[Another comment to/at Kanwa:

Perhaps a brief Googling of Scala didn&#039;t leave behind the correct impression. Kanwa worries about losing types in Scala. Nothing could be further from the truth! In fact, my personal impression of Scala is that it is a programming language built around an obsession with types.

Scala is one of those languages where &quot;everything is an object,&quot; including numeric constants, and they all have a type. There are cases where Scala will guess a type for you from context (this is called &quot;inference&quot;) but except in this case, everything is and needs to be very solidly typed.

Martin Odersky, the main author of Scala, is the same person who built the generics extensions for Java 1.5 (or so). Yes, his very code is in the Java runtime! Generics in Java is a bit half-assed for compatibility reasons; in Scala, he was able to pull all the stops, so Scala handles generic types very pedantically. In working with Scala, you will see messages about type related errors that other languages wouldn&#039;t even have known to detect! But on the upside, you do get some of that pleasant effect of (explicitly) statically typed languages: Once you get your program past the compiler, it&#039;s forced you to think hard enough about the code that chances are it&#039;s free of logic errors as well.

As for FOTY: Blech! Everybody and their dog are building new, improved mousetraps every week. Having absorbed a handful of them, I&#039;m starting to feel diminishing returns from chasing after ever newer ones. There comes a time when meta-meta-meta-programming is not more concise than actually coding what you mean.]]></description>
		<content:encoded><![CDATA[<p>Another comment to/at Kanwa:</p>
<p>Perhaps a brief Googling of Scala didn&#8217;t leave behind the correct impression. Kanwa worries about losing types in Scala. Nothing could be further from the truth! In fact, my personal impression of Scala is that it is a programming language built around an obsession with types.</p>
<p>Scala is one of those languages where &#8220;everything is an object,&#8221; including numeric constants, and they all have a type. There are cases where Scala will guess a type for you from context (this is called &#8220;inference&#8221;) but except in this case, everything is and needs to be very solidly typed.</p>
<p>Martin Odersky, the main author of Scala, is the same person who built the generics extensions for Java 1.5 (or so). Yes, his very code is in the Java runtime! Generics in Java is a bit half-assed for compatibility reasons; in Scala, he was able to pull all the stops, so Scala handles generic types very pedantically. In working with Scala, you will see messages about type related errors that other languages wouldn&#8217;t even have known to detect! But on the upside, you do get some of that pleasant effect of (explicitly) statically typed languages: Once you get your program past the compiler, it&#8217;s forced you to think hard enough about the code that chances are it&#8217;s free of logic errors as well.</p>
<p>As for FOTY: Blech! Everybody and their dog are building new, improved mousetraps every week. Having absorbed a handful of them, I&#8217;m starting to feel diminishing returns from chasing after ever newer ones. There comes a time when meta-meta-meta-programming is not more concise than actually coding what you mean.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/#comment-63</link>
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Thu, 12 Nov 2009 13:40:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-63</guid>
		<description><![CDATA[@Kanwa
Please at least do a little bit of Google leg work before commenting on these languages.  You state that:

&quot;
Stick to Java as you will face problems related to data type.

Eg: Can you tell me what types are passed here in the function argument

public void runMyFunc(dob, favy)
{

}
&quot;

While your argument is one that I would agree with (loss of legibility due to lack of types) Scala does not suffer from this problem - your example would have to look something like the following:

def runMyFunc(dob: Date, favy: Int) {}

Looks pretty statically typed to me!

Later you make this comment:

&quot;
What is this type-safe way they mentioned? you know better :-)
&quot;

Exactly *what* are you talking about?  Do you have a different definition of type safety than everybody else?  Perhaps it would interest you to know that Scala is *more* strict about types than is Java.

Next time use The Google.  It is your friend.]]></description>
		<content:encoded><![CDATA[<p>@Kanwa<br />
Please at least do a little bit of Google leg work before commenting on these languages.  You state that:</p>
<p>&#8221;<br />
Stick to Java as you will face problems related to data type.</p>
<p>Eg: Can you tell me what types are passed here in the function argument</p>
<p>public void runMyFunc(dob, favy)<br />
{</p>
<p>}<br />
&#8221;</p>
<p>While your argument is one that I would agree with (loss of legibility due to lack of types) Scala does not suffer from this problem &#8211; your example would have to look something like the following:</p>
<p>def runMyFunc(dob: Date, favy: Int) {}</p>
<p>Looks pretty statically typed to me!</p>
<p>Later you make this comment:</p>
<p>&#8221;<br />
What is this type-safe way they mentioned? you know better <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
&#8221;</p>
<p>Exactly *what* are you talking about?  Do you have a different definition of type safety than everybody else?  Perhaps it would interest you to know that Scala is *more* strict about types than is Java.</p>
<p>Next time use The Google.  It is your friend.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mawdo</title>
		<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/#comment-62</link>
		<dc:creator><![CDATA[mawdo]]></dc:creator>
		<pubDate>Sun, 01 Nov 2009 16:59:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-62</guid>
		<description><![CDATA[I&#039;m at a similar stage and have taken a look a detailed clojure [and an inital squint at scala and erlang] and have been pretty impressed - clojure feels my natural next step having work a long time with traditional OO and more recently with ruby and DSLs - I&#039;ve been describing my ruby based DSLs a kind of macros that inflate my ruby env - a principle you&#039;ll see embedded in clojure - the other shift clojure brings for me is functional programming and I&#039;m trying real hard by practicing thinking in this way - its kinda of like the way you had to force yourself to think set-level RDBMS or the XSLT processing model in the past

ruby reignited my programming fire - clojure have added another boost ;-)]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m at a similar stage and have taken a look a detailed clojure [and an inital squint at scala and erlang] and have been pretty impressed &#8211; clojure feels my natural next step having work a long time with traditional OO and more recently with ruby and DSLs &#8211; I&#8217;ve been describing my ruby based DSLs a kind of macros that inflate my ruby env &#8211; a principle you&#8217;ll see embedded in clojure &#8211; the other shift clojure brings for me is functional programming and I&#8217;m trying real hard by practicing thinking in this way &#8211; its kinda of like the way you had to force yourself to think set-level RDBMS or the XSLT processing model in the past</p>
<p>ruby reignited my programming fire &#8211; clojure have added another boost <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kanwa</title>
		<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/#comment-61</link>
		<dc:creator><![CDATA[kanwa]]></dc:creator>
		<pubDate>Mon, 31 Aug 2009 04:19:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-61</guid>
		<description><![CDATA[Oh Telo!

Sorry if I sounded wrong. I did not mean to say that Scala is a scripting language.
I just meant that don&#039;t learn scala (or) scripting languages.

For the quote you mentioned &quot;Scala is a static typed language&quot; part, I beg to differ
as I found this in the home page of scala under Introduction:

&quot;Scala is a general purpose programming language designed to express common
programming patterns in a concise, elegant, and type-safe way.&quot;

What is this type-safe way they mentioned? you know better :-)

Thanks
Kanwa]]></description>
		<content:encoded><![CDATA[<p>Oh Telo!</p>
<p>Sorry if I sounded wrong. I did not mean to say that Scala is a scripting language.<br />
I just meant that don&#8217;t learn scala (or) scripting languages.</p>
<p>For the quote you mentioned &#8220;Scala is a static typed language&#8221; part, I beg to differ<br />
as I found this in the home page of scala under Introduction:</p>
<p>&#8220;Scala is a general purpose programming language designed to express common<br />
programming patterns in a concise, elegant, and type-safe way.&#8221;</p>
<p>What is this type-safe way they mentioned? you know better <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Thanks<br />
Kanwa</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tek</title>
		<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/#comment-60</link>
		<dc:creator><![CDATA[tek]]></dc:creator>
		<pubDate>Sun, 16 Aug 2009 15:42:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-60</guid>
		<description><![CDATA[@Kanwa: Scala is a static typed language, no &quot;scripting lang&quot; or dynamic lang.]]></description>
		<content:encoded><![CDATA[<p>@Kanwa: Scala is a static typed language, no &#8220;scripting lang&#8221; or dynamic lang.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kanwa</title>
		<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/#comment-59</link>
		<dc:creator><![CDATA[Kanwa]]></dc:creator>
		<pubDate>Fri, 07 Aug 2009 11:48:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-59</guid>
		<description><![CDATA[Please don&#039;t attempt Scala or Clojure. Neither any scripting lang.

Stick to Java as you will face problems related to data type.

Eg: Can you tell me what types are passed here in the function argument

      public void runMyFunc(dob, favy)
     {

      }

If long code(&gt; 500 lines) like the above one is written, we never will understand
what&#039;s happening in the code and worst if you check your code after say two
months, you will weep to understand the code because you don&#039;t know what is
dob or favy is.

You will break your head on try to figure out what &quot;dob&quot; is --
an object or int or what?

Your LOTY shud be FOTY (F- Framework of the year)

Cheers,
Kanwa]]></description>
		<content:encoded><![CDATA[<p>Please don&#8217;t attempt Scala or Clojure. Neither any scripting lang.</p>
<p>Stick to Java as you will face problems related to data type.</p>
<p>Eg: Can you tell me what types are passed here in the function argument</p>
<p>      public void runMyFunc(dob, favy)<br />
     {</p>
<p>      }</p>
<p>If long code(&gt; 500 lines) like the above one is written, we never will understand<br />
what&#8217;s happening in the code and worst if you check your code after say two<br />
months, you will weep to understand the code because you don&#8217;t know what is<br />
dob or favy is.</p>
<p>You will break your head on try to figure out what &#8220;dob&#8221; is &#8211;<br />
an object or int or what?</p>
<p>Your LOTY shud be FOTY (F- Framework of the year)</p>
<p>Cheers,<br />
Kanwa</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anthony</title>
		<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/#comment-58</link>
		<dc:creator><![CDATA[Anthony]]></dc:creator>
		<pubDate>Fri, 12 Jun 2009 16:36:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-58</guid>
		<description><![CDATA[If your goal is to learn and expand your mind, definitely Clojure.
Nothing like a Lisp to show you how powerful a programming language can really be.
If you go the Scala route, you&#039;ll just end up using the same constructs you are comfortable with, so where&#039;s the learning?]]></description>
		<content:encoded><![CDATA[<p>If your goal is to learn and expand your mind, definitely Clojure.<br />
Nothing like a Lisp to show you how powerful a programming language can really be.<br />
If you go the Scala route, you&#8217;ll just end up using the same constructs you are comfortable with, so where&#8217;s the learning?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg</title>
		<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/#comment-57</link>
		<dc:creator><![CDATA[Greg]]></dc:creator>
		<pubDate>Tue, 02 Jun 2009 16:53:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-57</guid>
		<description><![CDATA[As much as I&#039;m interested in scala, and am looking at how to &quot;sneak it in&quot; to my current project, I say go in deep for clojure. Why/how?

I stumbled across a fantastic online book &quot;Practical Common Lisp&quot; http://gigamonkeys.com/book. It shows real-world samples of using Lisp, including writing a unit test framework in less than 50 lines of code, along with an MP3 database and HTML generation library. At least the introduction chapter. It hooked me.

Now for the kicker, another guy wrote a corresponding blog, showing the equivalent solutions in Clojure! http://blog.thinkrelevance.com/2008/9/16/pcl-clojure.]]></description>
		<content:encoded><![CDATA[<p>As much as I&#8217;m interested in scala, and am looking at how to &#8220;sneak it in&#8221; to my current project, I say go in deep for clojure. Why/how?</p>
<p>I stumbled across a fantastic online book &#8220;Practical Common Lisp&#8221; <a href="http://gigamonkeys.com/book" rel="nofollow">http://gigamonkeys.com/book</a>. It shows real-world samples of using Lisp, including writing a unit test framework in less than 50 lines of code, along with an MP3 database and HTML generation library. At least the introduction chapter. It hooked me.</p>
<p>Now for the kicker, another guy wrote a corresponding blog, showing the equivalent solutions in Clojure! <a href="http://blog.thinkrelevance.com/2008/9/16/pcl-clojure" rel="nofollow">http://blog.thinkrelevance.com/2008/9/16/pcl-clojure</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#160; LOTY&#8230;Part Deux&#160;by&#160;Matt Stine&#8217;s Blog</title>
		<link>http://mattstine.com/2009/04/02/loty-time-again-scala-or-clojure/#comment-56</link>
		<dc:creator><![CDATA[&#160; LOTY&#8230;Part Deux&#160;by&#160;Matt Stine&#8217;s Blog]]></dc:creator>
		<pubDate>Tue, 07 Apr 2009 03:32:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.mattstine.com/?p=113#comment-56</guid>
		<description><![CDATA[[...] A few days ago I pontificated on my need to choose a new &#8220;Language of the Year.&#8221; Right now I&#8217;m attempting to choose between Scala and Clojure. If nothing else, I&#8217;ve learned from this exercise that asking the community for feedback is a GOOD thing. Your comments have been very helpful. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] A few days ago I pontificated on my need to choose a new &#8220;Language of the Year.&#8221; Right now I&#8217;m attempting to choose between Scala and Clojure. If nothing else, I&#8217;ve learned from this exercise that asking the community for feedback is a GOOD thing. Your comments have been very helpful. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

