<?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: Revisited: No future for functional programming in 2008 &#8211; Scala, F#</title>
	<atom:link href="http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/feed/" rel="self" type="application/rss+xml" />
	<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/</link>
	<description></description>
	<lastBuildDate>Tue, 03 Jan 2012 15:08:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: BionicCyborg</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-567506</link>
		<dc:creator>BionicCyborg</dc:creator>
		<pubDate>Tue, 05 Jul 2011 05:50:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-567506</guid>
		<description>I think there is a future in functional programming. Obviously cell phones are hot Really not the target market for functional programmers.  Large scale server side programs this is where functional programs will live.
Of course that seems like an optimistic assessment. I program in main stream programs like C# , VB, and Python. (Lots of SQL)

Who is using functional programming?

 Amazon uses Erlang to implement SimplDB, Yahoo,Facebook T-Mobile , Motorola and of course Ericsson all use Erlang. 
If you have a single processor don&#039;t use functional Programming if you have 32 processors why wouldn&#039;t use all the cores?

It is a matter of scale!</description>
		<content:encoded><![CDATA[<p>I think there is a future in functional programming. Obviously cell phones are hot Really not the target market for functional programmers.  Large scale server side programs this is where functional programs will live.<br />
Of course that seems like an optimistic assessment. I program in main stream programs like C# , VB, and Python. (Lots of SQL)</p>
<p>Who is using functional programming?</p>
<p> Amazon uses Erlang to implement SimplDB, Yahoo,Facebook T-Mobile , Motorola and of course Ericsson all use Erlang.<br />
If you have a single processor don&#8217;t use functional Programming if you have 32 processors why wouldn&#8217;t use all the cores?</p>
<p>It is a matter of scale!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ian</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-290747</link>
		<dc:creator>ian</dc:creator>
		<pubDate>Thu, 13 May 2010 17:02:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-290747</guid>
		<description>thinking that something like scala and the playframework could easily take the world by storm here soon .. other than that -- yeh scala does need a few other killer apps -- they will come though -- scala really is the java that should have been imo</description>
		<content:encoded><![CDATA[<p>thinking that something like scala and the playframework could easily take the world by storm here soon .. other than that &#8212; yeh scala does need a few other killer apps &#8212; they will come though &#8212; scala really is the java that should have been imo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Harrop</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-210752</link>
		<dc:creator>Jon Harrop</dc:creator>
		<pubDate>Sat, 06 Dec 2008 08:30:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-210752</guid>
		<description>This year saw unprecedented innovation from Microsoft in functional programming, as seven years of work on the functional foundations of .NET culminated in serious uptake of .NET 3.5, C# 3.0, LINQ and the TPL this year as well as the first signs of F# coming to life in mainstream programming.

Amazon alone list 59 new books on C# 3.0, all of which are likely to cover the first-class lexical closures that make C# 3.0 as much a functional language as Scala.

.NET 3.5 is the first release to make extensive use of first-class functions throughout the core libraries (e.g. System.Func).

LINQ brings functional programming to the world of database programming.

The Task Parallel Library (CTP, July 2008) uses functional programming to provide easy-to-use constructs for data and task parallelism, like the Parallel.For higher-order function.

F# is undoubtedly Microsoft&#039;s boldest step in functional programming but it went way beyond &quot;promises&quot;, as you said. F# burst onto the scene following its September 2008 CTP and immediately gained as much traction as established functional languages like Haskell and even OCaml (see Google Trends or the job market).

F# has already seen the publication of the books Foundations of F#, Expert F# and F# for Scientists in 2008 as well as the announcements of F# in a Nutshell and Real World Functional Programming with examples in F#.

We decided to diversify our OCaml-only company in 2007. Our choice was between Scala, Haskell and F#. With the benefit of hindsight, we made absolutely the right choice with F#. I am glad to say that gambling entirely on F# is (literally) paying dividends for us now. I do not believe Scala would have been as lucrative and adopting Haskell would certainly have been a serious mistake.</description>
		<content:encoded><![CDATA[<p>This year saw unprecedented innovation from Microsoft in functional programming, as seven years of work on the functional foundations of .NET culminated in serious uptake of .NET 3.5, C# 3.0, LINQ and the TPL this year as well as the first signs of F# coming to life in mainstream programming.</p>
<p>Amazon alone list 59 new books on C# 3.0, all of which are likely to cover the first-class lexical closures that make C# 3.0 as much a functional language as Scala.</p>
<p>.NET 3.5 is the first release to make extensive use of first-class functions throughout the core libraries (e.g. System.Func).</p>
<p>LINQ brings functional programming to the world of database programming.</p>
<p>The Task Parallel Library (CTP, July 2008) uses functional programming to provide easy-to-use constructs for data and task parallelism, like the Parallel.For higher-order function.</p>
<p>F# is undoubtedly Microsoft&#8217;s boldest step in functional programming but it went way beyond &#8220;promises&#8221;, as you said. F# burst onto the scene following its September 2008 CTP and immediately gained as much traction as established functional languages like Haskell and even OCaml (see Google Trends or the job market).</p>
<p>F# has already seen the publication of the books Foundations of F#, Expert F# and F# for Scientists in 2008 as well as the announcements of F# in a Nutshell and Real World Functional Programming with examples in F#.</p>
<p>We decided to diversify our OCaml-only company in 2007. Our choice was between Scala, Haskell and F#. With the benefit of hindsight, we made absolutely the right choice with F#. I am glad to say that gambling entirely on F# is (literally) paying dividends for us now. I do not believe Scala would have been as lucrative and adopting Haskell would certainly have been a serious mistake.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wwc</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-206598</link>
		<dc:creator>wwc</dc:creator>
		<pubDate>Thu, 27 Nov 2008 14:33:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-206598</guid>
		<description>I know both languages: Scala since 2.0 and Clojure since its inception.  It may seem strange just looking at the syntax but I think Clojure has a better integration with Java than Scala.  Hickey designed Clojure to be a JVM language and it shows.  IMHO, I think Scala should drop CLR support and concentrate all its effort on the JVM like Clojure does.</description>
		<content:encoded><![CDATA[<p>I know both languages: Scala since 2.0 and Clojure since its inception.  It may seem strange just looking at the syntax but I think Clojure has a better integration with Java than Scala.  Hickey designed Clojure to be a JVM language and it shows.  IMHO, I think Scala should drop CLR support and concentrate all its effort on the JVM like Clojure does.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pk11</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-206588</link>
		<dc:creator>pk11</dc:creator>
		<pubDate>Thu, 27 Nov 2008 14:19:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-206588</guid>
		<description>&gt;Scala pollutes the method space of classes with lots of ugly methods. This makes using this classes horrible for Java developers (my opinion and experience)

&gt;Traits generate Java abstract classes and interface extension chains which are ugly and not clear to the Java side of things.

we always start with creating an interface like trait (which will compile to normal POJI and provide an easy entry point for java-&gt;scala calls) 

http://www.ibm.com/developerworks/java/library/j-scala04298.html

what i mean by the best compatibility (ok, one of the best): being able to write scala classes where one can import java libs and call java methods which take scala classes as arguments). on top of that: annotations, circular references and generics are working back and forth (ie java-&gt;scala and scala-&gt;java).


also the fact that advanced areas can be confusing in a language is a point which is valid for probably every language (including java, generics anyone?)</description>
		<content:encoded><![CDATA[<p>&gt;Scala pollutes the method space of classes with lots of ugly methods. This makes using this classes horrible for Java developers (my opinion and experience)</p>
<p>&gt;Traits generate Java abstract classes and interface extension chains which are ugly and not clear to the Java side of things.</p>
<p>we always start with creating an interface like trait (which will compile to normal POJI and provide an easy entry point for java-&gt;scala calls) </p>
<p><a href="http://www.ibm.com/developerworks/java/library/j-scala04298.html" rel="nofollow">http://www.ibm.com/developerworks/java/library/j-scala04298.html</a></p>
<p>what i mean by the best compatibility (ok, one of the best): being able to write scala classes where one can import java libs and call java methods which take scala classes as arguments). on top of that: annotations, circular references and generics are working back and forth (ie java-&gt;scala and scala-&gt;java).</p>
<p>also the fact that advanced areas can be confusing in a language is a point which is valid for probably every language (including java, generics anyone?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205488</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Tue, 25 Nov 2008 06:14:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205488</guid>
		<description>Good points:

&lt;i&gt;&quot;-IDE support (eclipse, netbeans and intellij [...])

- all of the well-known googlers disliked scala
(crazybob, cedric, guido and yegge) - that&#039;s certainly a bad barometer&quot;&lt;/i&gt;

But

&lt;i&gt;&quot;- Java interoperability  is probably the best among the JVM languages and it was getting better&quot;&lt;/i&gt;

I&#039;d say Groovys integration is (much) better. For mainly three reasons: 

The &quot;as&quot; syntax makes it easy to implement Java interfaces, especially one-method interfaces.

Scala pollutes the method space of classes with lots of ugly methods. This makes using this classes horrible for Java developers (my opinion and experience)

Traits generate Java abstract classes and interface extension chains which are ugly and not clear to the Java side of things.</description>
		<content:encoded><![CDATA[<p>Good points:</p>
<p><i>&#8220;-IDE support (eclipse, netbeans and intellij [...])</p>
<p>- all of the well-known googlers disliked scala<br />
(crazybob, cedric, guido and yegge) &#8211; that&#8217;s certainly a bad barometer&#8221;</i></p>
<p>But</p>
<p><i>&#8220;- Java interoperability  is probably the best among the JVM languages and it was getting better&#8221;</i></p>
<p>I&#8217;d say Groovys integration is (much) better. For mainly three reasons: </p>
<p>The &#8220;as&#8221; syntax makes it easy to implement Java interfaces, especially one-method interfaces.</p>
<p>Scala pollutes the method space of classes with lots of ugly methods. This makes using this classes horrible for Java developers (my opinion and experience)</p>
<p>Traits generate Java abstract classes and interface extension chains which are ugly and not clear to the Java side of things.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pk11</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205445</link>
		<dc:creator>pk11</dc:creator>
		<pubDate>Tue, 25 Nov 2008 02:50:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205445</guid>
		<description>as for scala&#039;s killer app:

maybe that&#039;s actually sun?
&quot;Sun has no immediate plans to submit the JSR for Java SE 7&quot; http://tinyurl.com/55t4qm

seriously, i think the fact that there won&#039;t be a new version of java (let alone one with language changes) within a few years will definitely increase the interest in scala.
Whether the current stigma  &#039;scala is too complex&#039; will be the common agreement that remains to be seen.

the positive effects in this year  were:
- books
- IDE support (eclipse, netbeans and intellij, personally i think intellij&#039;s is the best)
- twitter
- some buzz in the blogsphere
- Java interoperability  is probably the best among the JVM languages and it was getting better

the negative ones:
-all of the well-known googlers disliked scala
(crazybob, cedric, guido and yegge) - that&#039;s certainly a bad barometer
- lack of support from well-known IT shops


i, for one, am a happy scala user

(we  built a few webapps with scala while reusing many existing java libs &amp; relying on very strict anti-magic, java like syntax conventions)</description>
		<content:encoded><![CDATA[<p>as for scala&#8217;s killer app:</p>
<p>maybe that&#8217;s actually sun?<br />
&#8220;Sun has no immediate plans to submit the JSR for Java SE 7&#8243; <a href="http://tinyurl.com/55t4qm" rel="nofollow">http://tinyurl.com/55t4qm</a></p>
<p>seriously, i think the fact that there won&#8217;t be a new version of java (let alone one with language changes) within a few years will definitely increase the interest in scala.<br />
Whether the current stigma  &#8217;scala is too complex&#8217; will be the common agreement that remains to be seen.</p>
<p>the positive effects in this year  were:<br />
- books<br />
- IDE support (eclipse, netbeans and intellij, personally i think intellij&#8217;s is the best)<br />
- twitter<br />
- some buzz in the blogsphere<br />
- Java interoperability  is probably the best among the JVM languages and it was getting better</p>
<p>the negative ones:<br />
-all of the well-known googlers disliked scala<br />
(crazybob, cedric, guido and yegge) &#8211; that&#8217;s certainly a bad barometer<br />
- lack of support from well-known IT shops</p>
<p>i, for one, am a happy scala user</p>
<p>(we  built a few webapps with scala while reusing many existing java libs &amp; relying on very strict anti-magic, java like syntax conventions)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pk11</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205322</link>
		<dc:creator>pk11</dc:creator>
		<pubDate>Mon, 24 Nov 2008 18:49:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205322</guid>
		<description>&gt;@pk11: I also had no problems with Java like code. But going into deeper types, use the automatic setter/getter for attributes, leaving out braces etc. leads to problems.

http://www.nabble.com/Scala---Debate-f30218.html

looks like from the three things you mentioned two will be fixed in 2.8</description>
		<content:encoded><![CDATA[<p>&gt;@pk11: I also had no problems with Java like code. But going into deeper types, use the automatic setter/getter for attributes, leaving out braces etc. leads to problems.</p>
<p><a href="http://www.nabble.com/Scala---Debate-f30218.html" rel="nofollow">http://www.nabble.com/Scala&#8212;Debate-f30218.html</a></p>
<p>looks like from the three things you mentioned two will be fixed in 2.8</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205312</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Mon, 24 Nov 2008 17:33:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205312</guid>
		<description>&quot;As for Clojure: I have a certain fondness for Lisp and I applaud the effort to provide Lisp on the JVM, but realistically, Lisp has failed to gain any significant traction for decades and I&#039;m not seeing any reason to think that this is going to change any time soon.&quot;

Dito. For almost 15 years I carry one book from employer to employer (and which I own much longer): 

&quot;(List 1.5 Primer (By (Clark Weissmann)))&quot;, Dickenson Publishing, 1968 edition. 

I will look into Clojure as I&#039;m interested, but I&#039;m quite sure I&#039;ll never use it to earn money (Never say Never).</description>
		<content:encoded><![CDATA[<p>&#8220;As for Clojure: I have a certain fondness for Lisp and I applaud the effort to provide Lisp on the JVM, but realistically, Lisp has failed to gain any significant traction for decades and I&#8217;m not seeing any reason to think that this is going to change any time soon.&#8221;</p>
<p>Dito. For almost 15 years I carry one book from employer to employer (and which I own much longer): </p>
<p>&#8220;(List 1.5 Primer (By (Clark Weissmann)))&#8221;, Dickenson Publishing, 1968 edition. </p>
<p>I will look into Clojure as I&#8217;m interested, but I&#8217;m quite sure I&#8217;ll never use it to earn money (Never say Never).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cedric Beust</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205309</link>
		<dc:creator>Cedric Beust</dc:creator>
		<pubDate>Mon, 24 Nov 2008 17:24:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205309</guid>
		<description>&quot;Haskell’s many libraries demonstrates, being object-oriented is not necessary.&quot;

Well, since Haskell is a niche language, you are actually making the point that being object-oriented is necessary, and that any language that doesn&#039;t enable basic OO features is doomed to remain marginal.

As for Clojure: I have a certain fondness for Lisp and I applaud the effort to provide Lisp on the JVM, but realistically, Lisp has failed to gain any significant traction for decades and I&#039;m not seeing any reason to think that this is going to change any time soon.

-- 
Cedric</description>
		<content:encoded><![CDATA[<p>&#8220;Haskell’s many libraries demonstrates, being object-oriented is not necessary.&#8221;</p>
<p>Well, since Haskell is a niche language, you are actually making the point that being object-oriented is necessary, and that any language that doesn&#8217;t enable basic OO features is doomed to remain marginal.</p>
<p>As for Clojure: I have a certain fondness for Lisp and I applaud the effort to provide Lisp on the JVM, but realistically, Lisp has failed to gain any significant traction for decades and I&#8217;m not seeing any reason to think that this is going to change any time soon.</p>
<p>&#8211;<br />
Cedric</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205273</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Mon, 24 Nov 2008 13:51:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205273</guid>
		<description>@Rich: I&#039;m afraid to say anything, because talking to you I&#039;m quite out of my waters :-)</description>
		<content:encoded><![CDATA[<p>@Rich: I&#8217;m afraid to say anything, because talking to you I&#8217;m quite out of my waters :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205271</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Mon, 24 Nov 2008 13:33:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205271</guid>
		<description>@pk11: I also had no problems with Java like code. But going into deeper types, use the automatic setter/getter for attributes, leaving out braces etc. leads to problems.</description>
		<content:encoded><![CDATA[<p>@pk11: I also had no problems with Java like code. But going into deeper types, use the automatic setter/getter for attributes, leaving out braces etc. leads to problems.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pk11</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205264</link>
		<dc:creator>pk11</dc:creator>
		<pubDate>Mon, 24 Nov 2008 13:04:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205264</guid>
		<description>&gt;Scala is often hard to get compiled for beginners.

could you please back this up?

we have a team of three and we are following a very java-like coding style (so we are not using foo_ for anonymous functions or allowing multiple syntax versions for &quot;for&quot; etc.). so far I have not had any issues with reading other devs&#039; code. In fact the only issues i had so far were mostly related to working with java libs  (ie I did not know about the collection wrapper etc.)

as for martin&#039;s point:
I think he is saying that the language grammar is not more complex than c# or java as per the spec (which does not mean that the syntax can not be confusing).

but he raises a good point though, scala is not python, it&#039;s more similar to ruby -- in that sense that there are a lot of ways to achieve the same thing. so developer conventions are really important (same true for ruby)

(btw i use ruby, python, java and scala at the same time (not for the same project))</description>
		<content:encoded><![CDATA[<p>&gt;Scala is often hard to get compiled for beginners.</p>
<p>could you please back this up?</p>
<p>we have a team of three and we are following a very java-like coding style (so we are not using foo_ for anonymous functions or allowing multiple syntax versions for &#8220;for&#8221; etc.). so far I have not had any issues with reading other devs&#8217; code. In fact the only issues i had so far were mostly related to working with java libs  (ie I did not know about the collection wrapper etc.)</p>
<p>as for martin&#8217;s point:<br />
I think he is saying that the language grammar is not more complex than c# or java as per the spec (which does not mean that the syntax can not be confusing).</p>
<p>but he raises a good point though, scala is not python, it&#8217;s more similar to ruby &#8212; in that sense that there are a lot of ways to achieve the same thing. so developer conventions are really important (same true for ruby)</p>
<p>(btw i use ruby, python, java and scala at the same time (not for the same project))</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205158</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Mon, 24 Nov 2008 05:33:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205158</guid>
		<description>@pk11: Perhaps I&#039;m getting Martins summary wrong again, but it mainly looks like &quot;Won&#039;t change&quot;. Which is not very surprising because he designed the language the way it is.

In every thread where the topic comes up, Martins answers seems to be &quot;[...] , but I think the claims about complicated syntax have been somewhat exaggerated.&quot;

Not very encouraging. 

And from my feeling the syntax IS complicated in parts and confusing. I&#039;ve easily used more than 10 languages in real projects and can easily adapt, but Scala is often hard to get compiled for beginners.
Some of the points raised in the discussion are really not helping, like the optional (), foo_ and the usage of () in for.
</description>
		<content:encoded><![CDATA[<p>@pk11: Perhaps I&#8217;m getting Martins summary wrong again, but it mainly looks like &#8220;Won&#8217;t change&#8221;. Which is not very surprising because he designed the language the way it is.</p>
<p>In every thread where the topic comes up, Martins answers seems to be &#8220;[...] , but I think the claims about complicated syntax have been somewhat exaggerated.&#8221;</p>
<p>Not very encouraging. </p>
<p>And from my feeling the syntax IS complicated in parts and confusing. I&#8217;ve easily used more than 10 languages in real projects and can easily adapt, but Scala is often hard to get compiled for beginners.<br />
Some of the points raised in the discussion are really not helping, like the optional (), foo_ and the usage of () in for.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pk11</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205127</link>
		<dc:creator>pk11</dc:creator>
		<pubDate>Mon, 24 Nov 2008 03:24:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205127</guid>
		<description>&gt;Following one debate about Guidos post on the Scala debate list, &gt;there are many counter points raised. Sadly the bigger number of &gt;commentators want the language to stay the way it is. It seems only &gt;David R. MacIver wants to change the language to make it easier. I &gt;strongly agree with him and Guido that there are parts which are &gt;inconsistent, which need to be changed to get Scala into the &gt;mainstream.

hi stephan,

not sure if the statement above is true, please see:

http://www.nabble.com/Summary-and-response%3A-what-things-should-be-dropped-from-Scala--%28LONG%29-to20647368.html</description>
		<content:encoded><![CDATA[<p>&gt;Following one debate about Guidos post on the Scala debate list, &gt;there are many counter points raised. Sadly the bigger number of &gt;commentators want the language to stay the way it is. It seems only &gt;David R. MacIver wants to change the language to make it easier. I &gt;strongly agree with him and Guido that there are parts which are &gt;inconsistent, which need to be changed to get Scala into the &gt;mainstream.</p>
<p>hi stephan,</p>
<p>not sure if the statement above is true, please see:</p>
<p><a href="http://www.nabble.com/Summary-and-response%3A-what-things-should-be-dropped-from-Scala--%28LONG%29-to20647368.html" rel="nofollow">http://www.nabble.com/Summary-and-response%3A-what-things-should-be-dropped-from-Scala&#8211;%28LONG%29-to20647368.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julian Morrison</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205109</link>
		<dc:creator>Julian Morrison</dc:creator>
		<pubDate>Mon, 24 Nov 2008 02:11:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205109</guid>
		<description>@Rich - It&#039;s unfinished? Then I was mistaken. My bad.

Re: Scala libraries, there&#039;s a 1:1 mapping between a subset of Scala and Java, so if you stick to that subset then the resulting compiled API will be trivially identical in Scala and Java. Of course, you only have to use this subset on the &quot;outside&quot;. Internally, code can use FP, mixins, tail calling, etc.

Re: the JVM, my point is that Java stalling doesn&#039;t mean the JVM will stall. People will keep adding new stuff to the open source JVM, it just won&#039;t be Java stuff. I seriously doubt the JVM will stabilize.</description>
		<content:encoded><![CDATA[<p>@Rich &#8211; It&#8217;s unfinished? Then I was mistaken. My bad.</p>
<p>Re: Scala libraries, there&#8217;s a 1:1 mapping between a subset of Scala and Java, so if you stick to that subset then the resulting compiled API will be trivially identical in Scala and Java. Of course, you only have to use this subset on the &#8220;outside&#8221;. Internally, code can use FP, mixins, tail calling, etc.</p>
<p>Re: the JVM, my point is that Java stalling doesn&#8217;t mean the JVM will stall. People will keep adding new stuff to the open source JVM, it just won&#8217;t be Java stuff. I seriously doubt the JVM will stabilize.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich Hickey</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-205069</link>
		<dc:creator>Rich Hickey</dc:creator>
		<pubDate>Mon, 24 Nov 2008 00:35:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-205069</guid>
		<description>@Julian - Clojure&#039;s Java generation is still a work in progress. Ahead-of-time compilation is new, and creates for each Clojure namespace a Java class. You can declare the superclass and any interfaces that class implements, as well as additional methods, constructor signature etc. Defining methods is as simple as defining functions in the namespace. So, it is very idiomatic Clojure, and yields a perfectly normal Java class. If your methods return Clojure&#039;s native data structures, they look like java.util.Map/List/Collection/Iterable/Callable etc to Java consumers, and for anything Clojure specific there is a corresponding normal Java interface. You gain a lot as well, such as the ability to redefine/fix methods on the fly in a running program, and the ability to create objects with transactional state. Making that experience Java-like on the Clojure side is not an objective.

Yes, some things are still in contrib, or not yet done, but the objective is to allow full access to Java&#039;s model, without super- or sub-setting, on both the consumption and generation side, and I&#039;m fully confident that will be reached.

There will always be somewhat of an impedance mismatch between functional and OO, but I think there is an impedance mismatch on the way for OO programming in the face of multi-core, and to the degree people are doing mutable objects in Scala, it&#039;s coming their way as well.

I don&#039;t know Scala very well, but I think the question implied by the quote from the FAQ remains: if you use the additional capabilities of the Scala object model, idiomatically, what does that look like from Java? And if you eschew them, where&#039;s the benefit of Scala? Can you have your cake and eat it too? If you program in Scala in a functional style much as you might in Haskell, is that not as much of an impedance mismatch from the Java perspective as is Clojure?

As far as lingua franca, I think the importance of the stability and simplicity of the JVM bytecode and object model in the Java ecosystem&#039;s success cannot be underestimated. Java-the-language&#039;s &#039;stalling&#039; is a good, not bad, thing, as it becomes the C of the next generation. But much as C++ had to deal with C linkage, so too will Scala have to subsist on the JVM as-is for the indefinite future.</description>
		<content:encoded><![CDATA[<p>@Julian &#8211; Clojure&#8217;s Java generation is still a work in progress. Ahead-of-time compilation is new, and creates for each Clojure namespace a Java class. You can declare the superclass and any interfaces that class implements, as well as additional methods, constructor signature etc. Defining methods is as simple as defining functions in the namespace. So, it is very idiomatic Clojure, and yields a perfectly normal Java class. If your methods return Clojure&#8217;s native data structures, they look like java.util.Map/List/Collection/Iterable/Callable etc to Java consumers, and for anything Clojure specific there is a corresponding normal Java interface. You gain a lot as well, such as the ability to redefine/fix methods on the fly in a running program, and the ability to create objects with transactional state. Making that experience Java-like on the Clojure side is not an objective.</p>
<p>Yes, some things are still in contrib, or not yet done, but the objective is to allow full access to Java&#8217;s model, without super- or sub-setting, on both the consumption and generation side, and I&#8217;m fully confident that will be reached.</p>
<p>There will always be somewhat of an impedance mismatch between functional and OO, but I think there is an impedance mismatch on the way for OO programming in the face of multi-core, and to the degree people are doing mutable objects in Scala, it&#8217;s coming their way as well.</p>
<p>I don&#8217;t know Scala very well, but I think the question implied by the quote from the FAQ remains: if you use the additional capabilities of the Scala object model, idiomatically, what does that look like from Java? And if you eschew them, where&#8217;s the benefit of Scala? Can you have your cake and eat it too? If you program in Scala in a functional style much as you might in Haskell, is that not as much of an impedance mismatch from the Java perspective as is Clojure?</p>
<p>As far as lingua franca, I think the importance of the stability and simplicity of the JVM bytecode and object model in the Java ecosystem&#8217;s success cannot be underestimated. Java-the-language&#8217;s &#8217;stalling&#8217; is a good, not bad, thing, as it becomes the C of the next generation. But much as C++ had to deal with C linkage, so too will Scala have to subsist on the JVM as-is for the indefinite future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julian Morrison</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204966</link>
		<dc:creator>Julian Morrison</dc:creator>
		<pubDate>Sun, 23 Nov 2008 22:32:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204966</guid>
		<description>@Rich Hickey - you wrote the thing, you know it. I defer to you. Please read this as curiosity and confusion, not argument. &quot;I am only an egg.&quot;

When I say Scala is better suited for library dev, I&#039;m not thinking of OO (I&#039;m no more a fan of that than you are), I&#039;m thinking that Scala supersets the Java object model and extends in almost the same direction, while Clojure subsets it and extends in an orthogonal direction. (Again, this is not a preference ordering. I like Clojure&#039;s fastidiously minimal contact with the Java object model.) That means coding a Scala library for Java interop is matter of adhering to Java conventions in your public classes, while coding a Clojure library results in a rather flat and spartan Java interface.

Examples: emitting a class is in Clojure core, emitting an interface and an enum is only in clojure contrib, and I&#039;m not sure Clojure can consume or emit annotations at all. Scala can. (Also, Scala programs tend to be written in terms of objects - the impedance mismatch is lower, and the public interface makes internal sense in Scala.)

I&#039;m also confused by your saying Clojure can produce all-binary jars. The only info I&#039;ve found online is about producing jars full of binary classfiles that act as shims to included .clj files.

As for scripting, I think I phrased my comment badly - Clojure as a whole language obviously isn&#039;t only for scripting. The Java interop layer, however, does seem designed for scripting, with a focus on consumption rather than production.

You think Java will always be the JVM&#039;s lingua franca. I&#039;m much less certain. Java the language seems to be hitting something of a brick wall in 1.7, caused by the fundamentally non-extensible syntax just having one too many features crudely nailed on. If Java stalls, some other language will get to define the next iteration of the JVM bytecode and its object model, and I&#039;d not be surprised if that language was Scala.</description>
		<content:encoded><![CDATA[<p>@Rich Hickey &#8211; you wrote the thing, you know it. I defer to you. Please read this as curiosity and confusion, not argument. &#8220;I am only an egg.&#8221;</p>
<p>When I say Scala is better suited for library dev, I&#8217;m not thinking of OO (I&#8217;m no more a fan of that than you are), I&#8217;m thinking that Scala supersets the Java object model and extends in almost the same direction, while Clojure subsets it and extends in an orthogonal direction. (Again, this is not a preference ordering. I like Clojure&#8217;s fastidiously minimal contact with the Java object model.) That means coding a Scala library for Java interop is matter of adhering to Java conventions in your public classes, while coding a Clojure library results in a rather flat and spartan Java interface.</p>
<p>Examples: emitting a class is in Clojure core, emitting an interface and an enum is only in clojure contrib, and I&#8217;m not sure Clojure can consume or emit annotations at all. Scala can. (Also, Scala programs tend to be written in terms of objects &#8211; the impedance mismatch is lower, and the public interface makes internal sense in Scala.)</p>
<p>I&#8217;m also confused by your saying Clojure can produce all-binary jars. The only info I&#8217;ve found online is about producing jars full of binary classfiles that act as shims to included .clj files.</p>
<p>As for scripting, I think I phrased my comment badly &#8211; Clojure as a whole language obviously isn&#8217;t only for scripting. The Java interop layer, however, does seem designed for scripting, with a focus on consumption rather than production.</p>
<p>You think Java will always be the JVM&#8217;s lingua franca. I&#8217;m much less certain. Java the language seems to be hitting something of a brick wall in 1.7, caused by the fundamentally non-extensible syntax just having one too many features crudely nailed on. If Java stalls, some other language will get to define the next iteration of the JVM bytecode and its object model, and I&#8217;d not be surprised if that language was Scala.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Apocalisp</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204945</link>
		<dc:creator>Apocalisp</dc:creator>
		<pubDate>Sun, 23 Nov 2008 22:04:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204945</guid>
		<description>Add to that the fact that Scala isn&#039;t a purely functional programming language (i.e. referential transparency isn&#039;t enforced).

Let&#039;s all stop propagating the myth that there&#039;s a divide between functional and object-oriented programming. There&#039;s only implicitly vs explicitly knowing which functions your program is composed of. Programming is a single discipline.</description>
		<content:encoded><![CDATA[<p>Add to that the fact that Scala isn&#8217;t a purely functional programming language (i.e. referential transparency isn&#8217;t enforced).</p>
<p>Let&#8217;s all stop propagating the myth that there&#8217;s a divide between functional and object-oriented programming. There&#8217;s only implicitly vs explicitly knowing which functions your program is composed of. Programming is a single discipline.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich Hickey</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204935</link>
		<dc:creator>Rich Hickey</dc:creator>
		<pubDate>Sun, 23 Nov 2008 21:32:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204935</guid>
		<description>@Julian - This presumption that Scala is somehow more suitable for library implementors is founded upon what - its object orientation? As Don Stewart&#039;s earlier comment re: Haskell&#039;s many libraries demonstrates, being object-oriented is not necessary.

Clojure is not a &#039;scripting language&#039; any more than is Common Lisp. Its transparent access to Java is layered upon a set of facilities that should allow it to excel everywhere Lisp has traditionally - AI, scheduling, bioinformatics, simulation, knowledge management, etc, anywhere you face a hard problem and don&#039;t know the answer in advance. Transparent access to Java just keeps the trivial parts of those problems trivial.

Being Java&#039;s successor is also an intriguing concept - successor at what? Java is likely to remain a key piece of implementation infrastructure, and its simplified object model will remain a common bridge point for language and library interop. To the extent Scala diverges from Java&#039;s object model, its suitability for that role will diminish, i.e. it will be no different than any other language whose libraries can only be consumed by itself. From the Scala FAQ - &quot;Using a Scala class from Java can get tricky&quot;.

Clojure can produce all-binary Java-callable &#039;jarballs&#039;. All of its data structures implement standard Java interfaces. It does not have an object model other than Java&#039;s. You can extend classes and implement interfaces in Clojure. Nothing is likely to succeed Java as a library substrate on the JVM, but consuming Clojure from Java (and therefor other JVM langs) is easy.

Application development dominates library development, and all JVM languages compete there. It&#039;s true - Scala and Groovy will probably seem most familiar to Java devs. Clojure is for those looking to change the way they write software. All three can succeed without replacing Java, but if Java isn&#039;t being replaced, consumability via Java&#039;s object model will be a critical factor in suitability for library or mixed-language development.</description>
		<content:encoded><![CDATA[<p>@Julian &#8211; This presumption that Scala is somehow more suitable for library implementors is founded upon what &#8211; its object orientation? As Don Stewart&#8217;s earlier comment re: Haskell&#8217;s many libraries demonstrates, being object-oriented is not necessary.</p>
<p>Clojure is not a &#8217;scripting language&#8217; any more than is Common Lisp. Its transparent access to Java is layered upon a set of facilities that should allow it to excel everywhere Lisp has traditionally &#8211; AI, scheduling, bioinformatics, simulation, knowledge management, etc, anywhere you face a hard problem and don&#8217;t know the answer in advance. Transparent access to Java just keeps the trivial parts of those problems trivial.</p>
<p>Being Java&#8217;s successor is also an intriguing concept &#8211; successor at what? Java is likely to remain a key piece of implementation infrastructure, and its simplified object model will remain a common bridge point for language and library interop. To the extent Scala diverges from Java&#8217;s object model, its suitability for that role will diminish, i.e. it will be no different than any other language whose libraries can only be consumed by itself. From the Scala FAQ &#8211; &#8220;Using a Scala class from Java can get tricky&#8221;.</p>
<p>Clojure can produce all-binary Java-callable &#8216;jarballs&#8217;. All of its data structures implement standard Java interfaces. It does not have an object model other than Java&#8217;s. You can extend classes and implement interfaces in Clojure. Nothing is likely to succeed Java as a library substrate on the JVM, but consuming Clojure from Java (and therefor other JVM langs) is easy.</p>
<p>Application development dominates library development, and all JVM languages compete there. It&#8217;s true &#8211; Scala and Groovy will probably seem most familiar to Java devs. Clojure is for those looking to change the way they write software. All three can succeed without replacing Java, but if Java isn&#8217;t being replaced, consumability via Java&#8217;s object model will be a critical factor in suitability for library or mixed-language development.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204934</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Sun, 23 Nov 2008 21:27:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204934</guid>
		<description>Concerning your links - which I don&#039;t agree with: I&#039;m mainly on Rickards side, most languages should not be called OO but class-oriented.</description>
		<content:encoded><![CDATA[<p>Concerning your links &#8211; which I don&#8217;t agree with: I&#8217;m mainly on Rickards side, most languages should not be called OO but class-oriented.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204933</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Sun, 23 Nov 2008 21:22:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204933</guid>
		<description>&quot;Jar producers are so far from irrelevant that I’m shocked you can’t see it.&quot;

Jar producers are irrelevant as they are not a target of a Java successor. Ruby worked fine with C before people moved to Ruby for implementing libraries. Obviously people use Java because of the libraries, but not because they can create libraries for wider consumption. This is a fine difference. People will go on writing Java code consumable by a Java successor, independently of what the successor will be. 

People writing applications, e.g. a Swing or web application, and who currently use Java can easily use Clojure as their implementation language. They do not care if their code is consumable by others.</description>
		<content:encoded><![CDATA[<p>&#8220;Jar producers are so far from irrelevant that I’m shocked you can’t see it.&#8221;</p>
<p>Jar producers are irrelevant as they are not a target of a Java successor. Ruby worked fine with C before people moved to Ruby for implementing libraries. Obviously people use Java because of the libraries, but not because they can create libraries for wider consumption. This is a fine difference. People will go on writing Java code consumable by a Java successor, independently of what the successor will be. </p>
<p>People writing applications, e.g. a Swing or web application, and who currently use Java can easily use Clojure as their implementation language. They do not care if their code is consumable by others.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julian Morrison</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204932</link>
		<dc:creator>Julian Morrison</dc:creator>
		<pubDate>Sun, 23 Nov 2008 21:05:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204932</guid>
		<description>I wasn&#039;t so much shortening it as not addressing the part in which we already agree. Yes Clojure is obviously a Lisp. But who&#039;s putting it forward as a better Java?

Jar producers are so far from irrelevant that I&#039;m shocked you can&#039;t see it. Consumers are in the majority, but producers and their libraries are 99% of the reason anyone bothers using Java, and they have significantly different needs from consumers.

See also:
http://www.lispcast.com/drupal/node/55
http://memeagora.blogspot.com/2008/10/library-oriented-programming.html</description>
		<content:encoded><![CDATA[<p>I wasn&#8217;t so much shortening it as not addressing the part in which we already agree. Yes Clojure is obviously a Lisp. But who&#8217;s putting it forward as a better Java?</p>
<p>Jar producers are so far from irrelevant that I&#8217;m shocked you can&#8217;t see it. Consumers are in the majority, but producers and their libraries are 99% of the reason anyone bothers using Java, and they have significantly different needs from consumers.</p>
<p>See also:<br />
<a href="http://www.lispcast.com/drupal/node/55" rel="nofollow">http://www.lispcast.com/drupal/node/55</a><br />
<a href="http://memeagora.blogspot.com/2008/10/library-oriented-programming.html" rel="nofollow">http://memeagora.blogspot.com/2008/10/library-oriented-programming.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204929</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Sun, 23 Nov 2008 20:47:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204929</guid>
		<description>@Julian: Oh, I thought it was handled that way. 
&lt;i&gt;&quot;I’m curious who’s positioning Clojure as a Java successor. It doesn’t look that way to me.&quot;&lt;/i&gt; You&#039;re shortening my argument quite a bit which was &lt;i&gt;&quot;From my impression Clojure has two (judging from the blogosphere), a Lisp “implementation” and a Java successor&quot;&lt;/i&gt;. 

&lt;i&gt;&quot;It seems to me the Java world divides roughly into consumers and implementers of libraries in the form of prepackaged jarballs.&quot;&lt;/i&gt;

I&#039;m using Java since 1.0 and I&#039;ve never seen the Java world divide significantly into these two parts, what gave you that impression? Jar producers what you call them are primarily irrelevant. Most Java developers are consumers, this is what I call Java developers. And they write application code. So both Clojure and Scala target the same main demographic, people writing applications (currently in Java).</description>
		<content:encoded><![CDATA[<p>@Julian: Oh, I thought it was handled that way.<br />
<i>&#8220;I’m curious who’s positioning Clojure as a Java successor. It doesn’t look that way to me.&#8221;</i> You&#8217;re shortening my argument quite a bit which was <i>&#8220;From my impression Clojure has two (judging from the blogosphere), a Lisp “implementation” and a Java successor&#8221;</i>. </p>
<p><i>&#8220;It seems to me the Java world divides roughly into consumers and implementers of libraries in the form of prepackaged jarballs.&#8221;</i></p>
<p>I&#8217;m using Java since 1.0 and I&#8217;ve never seen the Java world divide significantly into these two parts, what gave you that impression? Jar producers what you call them are primarily irrelevant. Most Java developers are consumers, this is what I call Java developers. And they write application code. So both Clojure and Scala target the same main demographic, people writing applications (currently in Java).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julian Morrison</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204927</link>
		<dc:creator>Julian Morrison</dc:creator>
		<pubDate>Sun, 23 Nov 2008 20:32:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204927</guid>
		<description>I&#039;m curious who&#039;s positioning Clojure as a Java successor. It doesn&#039;t look that way to me.

Saying they&#039;re both after Java developers is too broad-brush and almost a truism.Java is the only serious player on the JVM right now. OF COURSE any new language wants to poach Java programmers. But Java programmers doing what?

It seems to me the Java world divides roughly into consumers and implementers of libraries in the form of prepackaged jarballs. Clojure only really targets the former (and it has an edge over Scala in simple directness), Scala targets both. Without doing that, how can you be a &quot;Java successor&quot;?</description>
		<content:encoded><![CDATA[<p>I&#8217;m curious who&#8217;s positioning Clojure as a Java successor. It doesn&#8217;t look that way to me.</p>
<p>Saying they&#8217;re both after Java developers is too broad-brush and almost a truism.Java is the only serious player on the JVM right now. OF COURSE any new language wants to poach Java programmers. But Java programmers doing what?</p>
<p>It seems to me the Java world divides roughly into consumers and implementers of libraries in the form of prepackaged jarballs. Clojure only really targets the former (and it has an edge over Scala in simple directness), Scala targets both. Without doing that, how can you be a &#8220;Java successor&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ok</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204925</link>
		<dc:creator>ok</dc:creator>
		<pubDate>Sun, 23 Nov 2008 20:17:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204925</guid>
		<description>Comparing languages by how many are on an IRC channel?  ##java itself only has a couple hundred folks, and it&#039;s the most popular programming language of all.

And about libraries, remember scala can use any java library.</description>
		<content:encoded><![CDATA[<p>Comparing languages by how many are on an IRC channel?  ##java itself only has a couple hundred folks, and it&#8217;s the most popular programming language of all.</p>
<p>And about libraries, remember scala can use any java library.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204913</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Sun, 23 Nov 2008 19:44:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204913</guid>
		<description>@Itay: &lt;i&gt;&quot;I wonder whether you came across meaningful (hopefully non-biased) data that confirm the statement.&quot;&lt;/i&gt;

No, just reading blogs and some following mailing lists, and there are no vocal users for Scala on the CLR. I know I got a bloody nose already for that statement in the past, but that&#039;s the impression I&#039;ve got.

I also remember that poll on the Scala website about build tools - Java based ones.

@Julian: &lt;i&gt;&quot;Scala and Clojure are rivals mainly for buzz. They aren’t particularly rivals as programming languages.&quot;&lt;/i&gt;

I think programming languages have a target market, otherwise they won&#039;t be used. From my impression Clojure has two (judging from the blogosphere), a Lisp &quot;implementation&quot; and a Java successor. Scala as a main target has Java developers (others seem to prefer Haskell, OCaml or F#). 

So they both are competing mainly (my impression again) for Java developers. And two functional (at least partly) languages which tout concurrency as one of their strenghs are rivals in my opinion.</description>
		<content:encoded><![CDATA[<p>@Itay: <i>&#8220;I wonder whether you came across meaningful (hopefully non-biased) data that confirm the statement.&#8221;</i></p>
<p>No, just reading blogs and some following mailing lists, and there are no vocal users for Scala on the CLR. I know I got a bloody nose already for that statement in the past, but that&#8217;s the impression I&#8217;ve got.</p>
<p>I also remember that poll on the Scala website about build tools &#8211; Java based ones.</p>
<p>@Julian: <i>&#8220;Scala and Clojure are rivals mainly for buzz. They aren’t particularly rivals as programming languages.&#8221;</i></p>
<p>I think programming languages have a target market, otherwise they won&#8217;t be used. From my impression Clojure has two (judging from the blogosphere), a Lisp &#8220;implementation&#8221; and a Java successor. Scala as a main target has Java developers (others seem to prefer Haskell, OCaml or F#). </p>
<p>So they both are competing mainly (my impression again) for Java developers. And two functional (at least partly) languages which tout concurrency as one of their strenghs are rivals in my opinion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julian Morrison</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204911</link>
		<dc:creator>Julian Morrison</dc:creator>
		<pubDate>Sun, 23 Nov 2008 19:34:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204911</guid>
		<description>Scala and Clojure are rivals mainly for buzz. They aren&#039;t particularly rivals as programming languages.

Scala is making a beeline for the role of king of the JVM, a drop-in replacement for Java. As such it follows the JVM&#039;s natural model a lot closer than Clojure, which really is a &quot;scripting&quot; language in the sense of parasitically orchestrating existing code. (Clojure is fast, but &quot;scripting&quot; is only slow by historical accident.)

Clojure is very powerful in consuming Java libraries but as far as I can tell it&#039;s really not suited for creating new ones for general usage. This is in direct contrast with Scala, whose design is explicitly &quot;the Scala runtime is nothing more than another dependency jarball&quot;).

Clojure tries to float serenely above Java, Scala mixes into it. They can succeed without poaching each other&#039;s users, because they&#039;re tools for completely different tasks.</description>
		<content:encoded><![CDATA[<p>Scala and Clojure are rivals mainly for buzz. They aren&#8217;t particularly rivals as programming languages.</p>
<p>Scala is making a beeline for the role of king of the JVM, a drop-in replacement for Java. As such it follows the JVM&#8217;s natural model a lot closer than Clojure, which really is a &#8220;scripting&#8221; language in the sense of parasitically orchestrating existing code. (Clojure is fast, but &#8220;scripting&#8221; is only slow by historical accident.)</p>
<p>Clojure is very powerful in consuming Java libraries but as far as I can tell it&#8217;s really not suited for creating new ones for general usage. This is in direct contrast with Scala, whose design is explicitly &#8220;the Scala runtime is nothing more than another dependency jarball&#8221;).</p>
<p>Clojure tries to float serenely above Java, Scala mixes into it. They can succeed without poaching each other&#8217;s users, because they&#8217;re tools for completely different tasks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Itay Maman</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204906</link>
		<dc:creator>Itay Maman</dc:creator>
		<pubDate>Sun, 23 Nov 2008 18:55:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204906</guid>
		<description>&quot;And they should drop .NET support. It looks like nobody uses it.&quot;

Personally, I want this statement to be true. My past experience with C# (admittedly, earlier versions) makes me like Java much better.

I wonder whether you came across meaningful (hopefully non-biased) data that confirm the statement.</description>
		<content:encoded><![CDATA[<p>&#8220;And they should drop .NET support. It looks like nobody uses it.&#8221;</p>
<p>Personally, I want this statement to be true. My past experience with C# (admittedly, earlier versions) makes me like Java much better.</p>
<p>I wonder whether you came across meaningful (hopefully non-biased) data that confirm the statement.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Don Stewart</title>
		<link>http://codemonkeyism.com/revisited-no-future-for-functional-programming-in-2008-scala-f/comment-page-1/#comment-204901</link>
		<dc:creator>Don Stewart</dc:creator>
		<pubDate>Sun, 23 Nov 2008 18:17:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=315#comment-204901</guid>
		<description>FWIW, this was a busy year for Haskell.

* O&#039;Reilly published &quot;Real World Haskell&quot;

* We reached 890 libraries and tools on http://hackage.haskell.org, up from 300 a year ago. The fastest growth in libraries seen so far, and on track to double the growth of 2007.

* The IRC channel reached a high of 566 users last week (compared with, say, 65 users in #scala)

* The Commercial Users of FP conference had the most Haskell speakers from industry so far, and the largest attendance. http://cufp.galois.com/2008/schedule.html

I&#039;d consider this the strongest growth year to date for the Haskell community.</description>
		<content:encoded><![CDATA[<p>FWIW, this was a busy year for Haskell.</p>
<p>* O&#8217;Reilly published &#8220;Real World Haskell&#8221;</p>
<p>* We reached 890 libraries and tools on <a href="http://hackage.haskell.org" rel="nofollow">http://hackage.haskell.org</a>, up from 300 a year ago. The fastest growth in libraries seen so far, and on track to double the growth of 2007.</p>
<p>* The IRC channel reached a high of 566 users last week (compared with, say, 65 users in #scala)</p>
<p>* The Commercial Users of FP conference had the most Haskell speakers from industry so far, and the largest attendance. <a href="http://cufp.galois.com/2008/schedule.html" rel="nofollow">http://cufp.galois.com/2008/schedule.html</a></p>
<p>I&#8217;d consider this the strongest growth year to date for the Haskell community.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk (user agent is rejected)
Database Caching 4/40 queries in 0.060 seconds using disk

Served from: codemonkeyism.com @ 2012-02-10 08:13:17 -->
