<?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: Scala for Java Refugees Part 1: main(String[])</title>
	<atom:link href="http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/feed" rel="self" type="application/rss+xml" />
	<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1</link>
	<description>(permanently in beta)</description>
	<lastBuildDate>Sun, 29 Aug 2010 20:01:44 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: marcus</title>
		<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/comment-page-1#comment-5121</link>
		<dc:creator>marcus</dc:creator>
		<pubDate>Thu, 29 Jul 2010 18:57:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1#comment-5121</guid>
		<description>@alan

If you try to line up parameters, for example, a different tab size will screw up the formatting. By using TABs you force everyone to have the same tab size unless you never, never try to do any fancy formatting

See this example:

void funct(T1 par1,
TAB TAB T2 par2,
TAB TAB T3 par3) {
TAB body; TAB TAB TAB // coment
}

The code above will look fine in any editor if indented with spaces. If you indent it with tabs, you will have to use TABs with size 4 to make T1 and T2 line up (and if the function name changes, you will have to mix tabs and spaces). Same thing with the inline &quot;//coment&quot;, if you want to line it up with other comments, tabs won&#039;t do.</description>
		<content:encoded><![CDATA[<p>@alan</p>
<p>If you try to line up parameters, for example, a different tab size will screw up the formatting. By using TABs you force everyone to have the same tab size unless you never, never try to do any fancy formatting</p>
<p>See this example:</p>
<p>void funct(T1 par1,<br />
TAB TAB T2 par2,<br />
TAB TAB T3 par3) {<br />
TAB body; TAB TAB TAB // coment<br />
}</p>
<p>The code above will look fine in any editor if indented with spaces. If you indent it with tabs, you will have to use TABs with size 4 to make T1 and T2 line up (and if the function name changes, you will have to mix tabs and spaces). Same thing with the inline &#8220;//coment&#8221;, if you want to line it up with other comments, tabs won&#8217;t do.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alan</title>
		<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/comment-page-1#comment-5092</link>
		<dc:creator>alan</dc:creator>
		<pubDate>Wed, 23 Jun 2010 00:34:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1#comment-5092</guid>
		<description>At the risk of opening a can of worms... why does anybody think that spaces are better than tabs? I fail to see it; tabs allow everybody to pick their own indentation size without having a mess of different indentations when code is edited by more than one programmer (provided of course that everyone is using a modern editor that can support different tab sizes; I don&#039;t know of an editor that doesn&#039;t). If I want to have 8 spaces, why can&#039;t I? What if I really, really, want 6 spaces? I can&#039;t when people use spaces instead of tabs. It&#039;s like trying to force all editors to show scala keywords in a certain color.

Yes, I&#039;m somewhat upset... and this is kind of ranting, but really... please... for the love of everything sane and beautiful, just use tabs.</description>
		<content:encoded><![CDATA[<p>At the risk of opening a can of worms&#8230; why does anybody think that spaces are better than tabs? I fail to see it; tabs allow everybody to pick their own indentation size without having a mess of different indentations when code is edited by more than one programmer (provided of course that everyone is using a modern editor that can support different tab sizes; I don&#8217;t know of an editor that doesn&#8217;t). If I want to have 8 spaces, why can&#8217;t I? What if I really, really, want 6 spaces? I can&#8217;t when people use spaces instead of tabs. It&#8217;s like trying to force all editors to show scala keywords in a certain color.</p>
<p>Yes, I&#8217;m somewhat upset&#8230; and this is kind of ranting, but really&#8230; please&#8230; for the love of everything sane and beautiful, just use tabs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/comment-page-1#comment-5085</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Fri, 18 Jun 2010 21:00:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1#comment-5085</guid>
		<description>It looks very interesting I must admit but I still have some doubts:

Consider this code

args.foreach { arg =&gt;
  greeting += (arg + &quot; &quot;)
}


instead of

foreach (String arg : args) {
    greeting += arg + &quot; &quot;;
}


isn&#039;t the structure of the code more difficult to recognize when the foreach is not at the beginning of the line? The 2-space indentation also adds to this feeling. The structure can&#039;t be seen so quickly. And it gets even worse with the single-instruction closure:


args.foreach(arg =&gt; greeting += (arg + &quot; &quot;))


It&#039;s much more difficult to see the loop in a function containing this line. But I think that&#039;s very important since the number of (possibly nested) for loops reflects more or less directly the runtime performance of your code.

Also I&#039;m struggling with the fact, that things can be done in so much different ways. For example, you say one can still use the semicolons. Then everybody can do what he wants in this regard. I think it&#039;s highly desirable to have a language where things can only be done in one way because that forces everyone to do it exactly the same way. This reduces the sum of different syntax tricks I have to master in order to understand the language. It&#039;s also better if in a project team the source code always looks exactly the same way regardless of who has written it.

So, while I think there are really refreshing concepts here, I wouldn&#039;t be so sure if I would want to change to Scala only because it&#039;s supposed to be a &quot;better&quot; Java. There are also some studies that show, that programmers spent the fewest time with typing in code. So you can&#039;t really save so much time with fewer syntax. But you will loose a lot of time if the syntax is harder to understand ...</description>
		<content:encoded><![CDATA[<p>It looks very interesting I must admit but I still have some doubts:</p>
<p>Consider this code</p>
<p>args.foreach { arg =&gt;<br />
  greeting += (arg + &#8221; &#8220;)<br />
}</p>
<p>instead of</p>
<p>foreach (String arg : args) {<br />
    greeting += arg + &#8221; &#8220;;<br />
}</p>
<p>isn&#8217;t the structure of the code more difficult to recognize when the foreach is not at the beginning of the line? The 2-space indentation also adds to this feeling. The structure can&#8217;t be seen so quickly. And it gets even worse with the single-instruction closure:</p>
<p>args.foreach(arg =&gt; greeting += (arg + &#8221; &#8220;))</p>
<p>It&#8217;s much more difficult to see the loop in a function containing this line. But I think that&#8217;s very important since the number of (possibly nested) for loops reflects more or less directly the runtime performance of your code.</p>
<p>Also I&#8217;m struggling with the fact, that things can be done in so much different ways. For example, you say one can still use the semicolons. Then everybody can do what he wants in this regard. I think it&#8217;s highly desirable to have a language where things can only be done in one way because that forces everyone to do it exactly the same way. This reduces the sum of different syntax tricks I have to master in order to understand the language. It&#8217;s also better if in a project team the source code always looks exactly the same way regardless of who has written it.</p>
<p>So, while I think there are really refreshing concepts here, I wouldn&#8217;t be so sure if I would want to change to Scala only because it&#8217;s supposed to be a &#8220;better&#8221; Java. There are also some studies that show, that programmers spent the fewest time with typing in code. So you can&#8217;t really save so much time with fewer syntax. But you will loose a lot of time if the syntax is harder to understand &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Senthil</title>
		<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/comment-page-1#comment-4959</link>
		<dc:creator>Senthil</dc:creator>
		<pubDate>Mon, 05 Apr 2010 07:24:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1#comment-4959</guid>
		<description>Very Nice introduction... I like it very much. Will send this link to my friends as well :-)</description>
		<content:encoded><![CDATA[<p>Very Nice introduction&#8230; I like it very much. Will send this link to my friends as well <img src='http://www.codecommit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zillo</title>
		<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/comment-page-1#comment-4927</link>
		<dc:creator>Zillo</dc:creator>
		<pubDate>Sat, 23 Jan 2010 18:58:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1#comment-4927</guid>
		<description>We have both a Scala / Java environment in our office. The scala developers are very &quot;ivory tower&quot;. They manage their projects with vim, they sit around discussing byte code all day, but in general are good developers.  Problem is, for all the efficiencies that Scala apparently brings, they are months, even a year+ late on major projects.  Yet, the Java people are consistently on time.  The biggest reason I think is the editor.  The scala guys, take weeks or months to do a simple refactor, something it takes the Java guys minutes to do with eclipse.

Until the tools are there, Scala will have a tough time kicking Java out if the #1 spot for most deployed language in the world.  I&#039;d expect that unless Scala is acquired by SpringSource, its probably going to end up like Ruby. A quick climax and then a fast fall.</description>
		<content:encoded><![CDATA[<p>We have both a Scala / Java environment in our office. The scala developers are very &#8220;ivory tower&#8221;. They manage their projects with vim, they sit around discussing byte code all day, but in general are good developers.  Problem is, for all the efficiencies that Scala apparently brings, they are months, even a year+ late on major projects.  Yet, the Java people are consistently on time.  The biggest reason I think is the editor.  The scala guys, take weeks or months to do a simple refactor, something it takes the Java guys minutes to do with eclipse.</p>
<p>Until the tools are there, Scala will have a tough time kicking Java out if the #1 spot for most deployed language in the world.  I&#8217;d expect that unless Scala is acquired by SpringSource, its probably going to end up like Ruby. A quick climax and then a fast fall.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gerbre</title>
		<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/comment-page-1#comment-4891</link>
		<dc:creator>gerbre</dc:creator>
		<pubDate>Sat, 05 Sep 2009 17:30:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1#comment-4891</guid>
		<description>&gt; Scala makes it possible to invoke methods using several different syntaxes. 

How clever is this? From a concise language I would expect a minimal reduction to avoid comments about so many confusing syntax alternatives found here.</description>
		<content:encoded><![CDATA[<p>&gt; Scala makes it possible to invoke methods using several different syntaxes. </p>
<p>How clever is this? From a concise language I would expect a minimal reduction to avoid comments about so many confusing syntax alternatives found here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Klortho</title>
		<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/comment-page-1#comment-4878</link>
		<dc:creator>Klortho</dc:creator>
		<pubDate>Wed, 19 Aug 2009 03:05:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1#comment-4878</guid>
		<description>I, too, like most programmer grunts, I suppose, came to functional programming from the iterative world, although I did study lisp in school.  But I&#039;ve found that FP has really grown on me the more that I&#039;ve been exposed to it.  So much so that I can&#039;t help but cringe now when I see these kinds of iterative loops, especially when the FP equivalents are so elegant and clean.  So, I&#039;d like to offer up that this is the *right* way to code the example you give in this article:

val argsString = args.map(s =&gt; &quot;&#039;&quot; + s + &quot;&#039;&quot;).mkString(&quot;, &quot;)
println(&quot;Arguments:  &quot; + argsString)

It might be cryptic on first glance, to someone unfamiliar with Scala, but I think it&#039;s really worth it to understand how to do it this way, and why it&#039;s better in general.

Cheers!</description>
		<content:encoded><![CDATA[<p>I, too, like most programmer grunts, I suppose, came to functional programming from the iterative world, although I did study lisp in school.  But I&#8217;ve found that FP has really grown on me the more that I&#8217;ve been exposed to it.  So much so that I can&#8217;t help but cringe now when I see these kinds of iterative loops, especially when the FP equivalents are so elegant and clean.  So, I&#8217;d like to offer up that this is the *right* way to code the example you give in this article:</p>
<p>val argsString = args.map(s =&gt; &#8220;&#8216;&#8221; + s + &#8220;&#8216;&#8221;).mkString(&#8220;, &#8220;)<br />
println(&#8220;Arguments:  &#8221; + argsString)</p>
<p>It might be cryptic on first glance, to someone unfamiliar with Scala, but I think it&#8217;s really worth it to understand how to do it this way, and why it&#8217;s better in general.</p>
<p>Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Klortho</title>
		<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/comment-page-1#comment-4877</link>
		<dc:creator>Klortho</dc:creator>
		<pubDate>Wed, 19 Aug 2009 02:29:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1#comment-4877</guid>
		<description>Great article, but I have some nits to pick:

&gt; I prefer the term “closure”

Closures are not the same as anonymous functions (lambdas).  I agree it&#039;s a nicer term, and I prefer to use it too, because it sounds more erudite, but I think it&#039;s important to pick words according to what they actually mean, rather than what we&#039;d like them to mean.

Also, &quot;antecede&quot; is not an antonym of &quot;precede&quot;, it&#039;s a synonym.</description>
		<content:encoded><![CDATA[<p>Great article, but I have some nits to pick:</p>
<p>&gt; I prefer the term “closure”</p>
<p>Closures are not the same as anonymous functions (lambdas).  I agree it&#8217;s a nicer term, and I prefer to use it too, because it sounds more erudite, but I think it&#8217;s important to pick words according to what they actually mean, rather than what we&#8217;d like them to mean.</p>
<p>Also, &#8220;antecede&#8221; is not an antonym of &#8220;precede&#8221;, it&#8217;s a synonym.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Evans</title>
		<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/comment-page-1#comment-4874</link>
		<dc:creator>Evans</dc:creator>
		<pubDate>Fri, 14 Aug 2009 10:17:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1#comment-4874</guid>
		<description>This is one awesome article -
I have printed it out just so that I can really follow it and annotate the code with pen as I read along. In fact, I have been thinking about learning a JVM based language, and this seems to fit what I need. 

Played with Groovy a bit, but this seems to be the future. My initial problem with Scala was the Eclipse Plug in, but that has now been sorted.

Cheers for sharing :)</description>
		<content:encoded><![CDATA[<p>This is one awesome article -<br />
I have printed it out just so that I can really follow it and annotate the code with pen as I read along. In fact, I have been thinking about learning a JVM based language, and this seems to fit what I need. </p>
<p>Played with Groovy a bit, but this seems to be the future. My initial problem with Scala was the Eclipse Plug in, but that has now been sorted.</p>
<p>Cheers for sharing <img src='http://www.codecommit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roopinder</title>
		<link>http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1/comment-page-1#comment-4831</link>
		<dc:creator>Roopinder</dc:creator>
		<pubDate>Thu, 23 Apr 2009 13:00:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-1#comment-4831</guid>
		<description>IntelliJ has improved their Scala support. Does more than just basic syntax highlighting.

The plugin is here:

http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+for+IntelliJ+IDEA

List of features:

http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+0.2+features</description>
		<content:encoded><![CDATA[<p>IntelliJ has improved their Scala support. Does more than just basic syntax highlighting.</p>
<p>The plugin is here:</p>
<p><a href="http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+for+IntelliJ+IDEA" rel="nofollow">http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+for+IntelliJ+IDEA</a></p>
<p>List of features:</p>
<p><a href="http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+0.2+features" rel="nofollow">http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+0.2+features</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
