<?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: Common Lisp, Clojure, and seriousness.</title>
	<atom:link href="http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 02 Sep 2010 16:54:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Does anyone still think of Clojure as a toy language? &#124; Smash Company</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-15989</link>
		<dc:creator>Does anyone still think of Clojure as a toy language? &#124; Smash Company</dc:creator>
		<pubDate>Thu, 02 Sep 2010 16:54:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-15989</guid>
		<description>[...] looking for some Clojure info, I stumbled on this old 3 Coins post, from early 2009: Brian Carper described a few days ago, how Clojure is better (for him) than [...]</description>
		<content:encoded><![CDATA[<p>[...] looking for some Clojure info, I stumbled on this old 3 Coins post, from early 2009: Brian Carper described a few days ago, how Clojure is better (for him) than [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edward Tate</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-8754</link>
		<dc:creator>Edward Tate</dc:creator>
		<pubDate>Mon, 25 Jan 2010 14:34:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-8754</guid>
		<description>As someone who uses Common Lisp to put grub on the table, I would say that using Lisp to do serious work works well. And I actually like CFFI. :) Boy am I glad to have left the C++ / C# / Java / Python etc world behind.

I think the community that drifts from CL towards Clojure are those that deeply appreciate the JVM. Personally, I would have preferred Richs efforts to have taken place in SBCL, or one of the existing CL implementations. It definitely would have improved the state of Lisp VMs / Lisp libraries. Paul Graham also could have gone there - but I suppose his changes are purely syntactical anyway.  

Its funny because five years ago I had a lecturer who was addicted to C#, and when we spoke about Lisp he called it a Toy LanguageTM. His next question, which pushed his previous statement into the land of questionability, was: &quot;But does it support interfaces?&quot;.</description>
		<content:encoded><![CDATA[<p>As someone who uses Common Lisp to put grub on the table, I would say that using Lisp to do serious work works well. And I actually like CFFI. :) Boy am I glad to have left the C++ / C# / Java / Python etc world behind.</p>
<p>I think the community that drifts from CL towards Clojure are those that deeply appreciate the JVM. Personally, I would have preferred Richs efforts to have taken place in SBCL, or one of the existing CL implementations. It definitely would have improved the state of Lisp VMs / Lisp libraries. Paul Graham also could have gone there &#8211; but I suppose his changes are purely syntactical anyway.  </p>
<p>Its funny because five years ago I had a lecturer who was addicted to C#, and when we spoke about Lisp he called it a Toy LanguageTM. His next question, which pushed his previous statement into the land of questionability, was: &#8220;But does it support interfaces?&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kaveh Shahbazian</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-4628</link>
		<dc:creator>Kaveh Shahbazian</dc:creator>
		<pubDate>Tue, 08 Sep 2009 18:45:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-4628</guid>
		<description>(
Whatever personal programming story I have and stories I saw ... to the core concept, concerning me at the moment: 
)

LISP IS A MYTH! Everything I have heard about Lisp is just a myth and no Lisp Development Environment (LDE?) exists out there; no stable enough implementation; no real success story; it is just PG and copies of that! After 50 years if really Lisp has anything &quot;pragmatic&quot; to offer, I (for one) should not programming in C# (Or Java, PHP, ...) by now.

(
And I know: every cool idea is a Lisp idea and all people out there are thieves! It is just there is no stable Lisp implementation of the idea and Lisp was so busy with being elegant that could not waste time with being pragmatic.
)

Note: Maybe it never happens to me to develop in a dynamic language. But this harsh rant on Lisp (and it&#039;s community) is an extremely obsessive and positive one. So to Lisp community: Clojure is not a toy language; it is a usable Lisp and that&#039;s you do not like about it.</description>
		<content:encoded><![CDATA[<p>(<br />
Whatever personal programming story I have and stories I saw &#8230; to the core concept, concerning me at the moment:<br />
)</p>
<p>LISP IS A MYTH! Everything I have heard about Lisp is just a myth and no Lisp Development Environment (LDE?) exists out there; no stable enough implementation; no real success story; it is just PG and copies of that! After 50 years if really Lisp has anything &#8220;pragmatic&#8221; to offer, I (for one) should not programming in C# (Or Java, PHP, &#8230;) by now.</p>
<p>(<br />
And I know: every cool idea is a Lisp idea and all people out there are thieves! It is just there is no stable Lisp implementation of the idea and Lisp was so busy with being elegant that could not waste time with being pragmatic.<br />
)</p>
<p>Note: Maybe it never happens to me to develop in a dynamic language. But this harsh rant on Lisp (and it&#8217;s community) is an extremely obsessive and positive one. So to Lisp community: Clojure is not a toy language; it is a usable Lisp and that&#8217;s you do not like about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Maciej</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-4492</link>
		<dc:creator>Maciej</dc:creator>
		<pubDate>Wed, 02 Sep 2009 19:37:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-4492</guid>
		<description>C++ has a pretty comprehensive standard, and — as far as I know, if I&#039;m mistaken, prove me wrong — no full implementation of it at all.  LOOP macro is also pretty well defined by ANSI and CLHS.  The &quot;math&quot; argument is *very* abstract and I have no idea what author actually meant — as I understand it, the &quot;specification&quot; (theorem — its hypothesis and conclusion) is pretty separate from &quot;implementation&quot; (proof of the theorem), and there are indeed multiple proofs for many theorems.  I really can&#039;t imagine what is Graham&#039;s point here, since all examples are wrong, and &quot;making specification and implementation identical&quot; does not seem to be equal to &quot;implementation-defined&quot;.  See, for example, literate programming, great example of which is TeX - reference implementation contained within a specification.</description>
		<content:encoded><![CDATA[<p>C++ has a pretty comprehensive standard, and — as far as I know, if I&#8217;m mistaken, prove me wrong — no full implementation of it at all.  LOOP macro is also pretty well defined by ANSI and CLHS.  The &#8220;math&#8221; argument is *very* abstract and I have no idea what author actually meant — as I understand it, the &#8220;specification&#8221; (theorem — its hypothesis and conclusion) is pretty separate from &#8220;implementation&#8221; (proof of the theorem), and there are indeed multiple proofs for many theorems.  I really can&#8217;t imagine what is Graham&#8217;s point here, since all examples are wrong, and &#8220;making specification and implementation identical&#8221; does not seem to be equal to &#8220;implementation-defined&#8221;.  See, for example, literate programming, great example of which is TeX &#8211; reference implementation contained within a specification.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Soeren</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-4484</link>
		<dc:creator>Soeren</dc:creator>
		<pubDate>Wed, 02 Sep 2009 11:55:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-4484</guid>
		<description>It may sound rather dubious to say that the only spec for something
is its implementation.  It sounds like the sort of thing one might
say about C++, or the Common Lisp loop macro.  But that&#039;s also how
math works.  If the implementation is sufficiently abstract, it
starts to be a good idea to make specification and implementation
identical.

From Paul Grahams Arc tutorial. So he&#039;s abandoned seriousness as well then?</description>
		<content:encoded><![CDATA[<p>It may sound rather dubious to say that the only spec for something<br />
is its implementation.  It sounds like the sort of thing one might<br />
say about C++, or the Common Lisp loop macro.  But that&#8217;s also how<br />
math works.  If the implementation is sufficiently abstract, it<br />
starts to be a good idea to make specification and implementation<br />
identical.</p>
<p>From Paul Grahams Arc tutorial. So he&#8217;s abandoned seriousness as well then?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: æon</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-590</link>
		<dc:creator>æon</dc:creator>
		<pubDate>Thu, 23 Apr 2009 07:34:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-590</guid>
		<description>I might be projecting my own views onto you, but I suspect that you&#039;re using a very idiosyncratic and almost fictional definition of seriousness. The kind that used to be glorified in the hard science fiction mostly -- grownups doing important work, solving hard problems towards the long term betterment of human kind. When we send starships to distant galaxies, the ship support and navigation system will be written in common lisp ;) Or perhaps lisp is the language Hari Seldon, from Asimov&#039;s Foundation Trilogy, would&#039;ve used to model the psychohistorical development of the empire in the next few thousand years. Or the scenario that you brought up (for some reason I&#039;ve heard that more then once from various lispers) -- being able to reconstruct lisp code after this civilization gets replaced by the next one. I think Naggum in his more general rants laments the disappearance of that kind of seriousness. (this rant for example http://groups.google.com/group/comp.lang.lisp/msg/856bccf3eff6ab53 ) His posts made me appreciate common lisp from that perspective.

As such I suspect that your notion of seriousness will be misunderstood (certainly one can write business oriented, &quot;serious&quot; code in clojure or jruby or whatnot). More importantly it&#039;s not even common lisp specific-- it has to do with the priorities of the &quot;free market&quot; instant gratification globalized society that we live in.</description>
		<content:encoded><![CDATA[<p>I might be projecting my own views onto you, but I suspect that you&#8217;re using a very idiosyncratic and almost fictional definition of seriousness. The kind that used to be glorified in the hard science fiction mostly &#8212; grownups doing important work, solving hard problems towards the long term betterment of human kind. When we send starships to distant galaxies, the ship support and navigation system will be written in common lisp ;) Or perhaps lisp is the language Hari Seldon, from Asimov&#8217;s Foundation Trilogy, would&#8217;ve used to model the psychohistorical development of the empire in the next few thousand years. Or the scenario that you brought up (for some reason I&#8217;ve heard that more then once from various lispers) &#8212; being able to reconstruct lisp code after this civilization gets replaced by the next one. I think Naggum in his more general rants laments the disappearance of that kind of seriousness. (this rant for example <a href="http://groups.google.com/group/comp.lang.lisp/msg/856bccf3eff6ab53" rel="nofollow">http://groups.google.com/group/comp.lang.lisp/msg/856bccf3eff6ab53</a> ) His posts made me appreciate common lisp from that perspective.</p>
<p>As such I suspect that your notion of seriousness will be misunderstood (certainly one can write business oriented, &#8220;serious&#8221; code in clojure or jruby or whatnot). More importantly it&#8217;s not even common lisp specific&#8211; it has to do with the priorities of the &#8220;free market&#8221; instant gratification globalized society that we live in.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Slobodan</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-490</link>
		<dc:creator>Slobodan</dc:creator>
		<pubDate>Fri, 03 Apr 2009 12:19:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-490</guid>
		<description>The best things to do when there is a flame war is not to respond. If someone finds some lisp dialect better for solving his problem then let him use it. But there were, are and always will be other choices. Lisp is the language of liberty. If any lisp dialects succeeds to enter the mainstream it would be a great news for all the lispers.</description>
		<content:encoded><![CDATA[<p>The best things to do when there is a flame war is not to respond. If someone finds some lisp dialect better for solving his problem then let him use it. But there were, are and always will be other choices. Lisp is the language of liberty. If any lisp dialects succeeds to enter the mainstream it would be a great news for all the lispers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oziel</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-42</link>
		<dc:creator>Oziel</dc:creator>
		<pubDate>Mon, 02 Feb 2009 00:20:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-42</guid>
		<description>I agree with him in regards of the reliability, and the new languages should have &quot;some sort&quot; of backward compatibility as Java and C# does, however the JVM is stable enough, and with just a little coordination this problem should be solved.

What i mean is, before the 1.0 relase all things should be tried, after that caution should prevail.</description>
		<content:encoded><![CDATA[<p>I agree with him in regards of the reliability, and the new languages should have &#8220;some sort&#8221; of backward compatibility as Java and C# does, however the JVM is stable enough, and with just a little coordination this problem should be solved.</p>
<p>What i mean is, before the 1.0 relase all things should be tried, after that caution should prevail.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-41</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Sun, 01 Feb 2009 20:12:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-41</guid>
		<description>&gt; A language, to be considered serious, needs to be self-sufficient, a serious language can’t be a mere parasite on some host language or environment [...]

To be considered serious by *you*, maybe--but that is an incredibly narrow-minded definition of &quot;serious&quot;.</description>
		<content:encoded><![CDATA[<p>&gt; A language, to be considered serious, needs to be self-sufficient, a serious language can’t be a mere parasite on some host language or environment [...]</p>
<p>To be considered serious by *you*, maybe&#8211;but that is an incredibly narrow-minded definition of &#8220;serious&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Maciej</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-39</link>
		<dc:creator>Maciej</dc:creator>
		<pubDate>Sun, 01 Feb 2009 16:17:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-39</guid>
		<description>@Julian Morrison

Self-hosting in and of itself has no direcly practical goals, but it ensures that language is expressive enough to hold its own definition, and that language&#039;s definition doesn&#039;t implicitly depend on other language&#039;s semantics (e.g. Clojure depends heavily on Java (the language, not the VM) interfaces behaviour).  Dependence on single language together with being implementation defined leads to unclear behaviour, where parts of semantics, esp. language core semantics, come from wholly different language.

@Luc Préfontaine

Congrats on putting Clojure in production!  Seriously.  Please, read my explanation above: I didn&#039;t intend to dismiss Clojure, and I think other examples of languages I called “toy” (Perl, Tcl, TeX) should tell that clear enough.  It doesn’t mean it’s unsuitable for production, or anything; it only means that convenience of single, Java-based implementation has its price.  Simple trade-off, if Clojure (or any other tool) solves your problem, good for you.  I just think Clojure has potential to actually become a hundred-year language, for which it would have to grow out of implementation-defined functional programming layer on top of Java.

@Bill Robertson

I used CL in my job: I hacked Embeddable CL (&lt;a href=&quot;http://ecls.sf.net/&quot; rel=&quot;nofollow&quot;&gt;http://ecls.sf.net/&lt;/a&gt;) to be used in embedded Linux boxes, and later I developed and maintained UnCommon Web based (&lt;a href=&quot;http://common-lisp.net/project/ucw/&quot; rel=&quot;nofollow&quot;&gt;http://common-lisp.net/project/ucw/&lt;/a&gt;) middleware web-app, contributing to UCW itself.  I also completed a Google Summer of Code project in CL: http://common-lisp.net/project/cl-openid/.  At the moment, I don’t use Lisp professionally (only hobbyist/university stuff, mostly Web: Hunchentoot/Postmodern, with a vision of completing my own toolbox-framework on top of those), but I plan to go back to using Lisp (CL or Clojure, whichever is more handy for the problem at hand) as soon as possible.

@Tom Faulhaber

To get things straight first, you seem to be mistaking me with Maciej Cegłowski of idlewords.com, who wrote the “Controlled tango into terrain” post.  I have the same name, but that’s all to it.  The post, however, seems interesting (didn’t finish reading it yet), thanks for the link. :)

I think you’re right, words I used may seem pejorative.  Too much Usenet flame wars, I think, I got used to phrase myself in a direct way, which may be misread.  The “toy” word was just first that I had on my mind, with no offense intended.  And for “parasite” thing, the intended meaning was not pejorative: being a parasite is just an evolutionary strategy, and since we’re talking about languages/libraries/platforms ‘ecosystem’, it seemed natural way to say what I meant: a strategy as good as any other, having its merits and downsides, and having a potential to evolve into a commensalism, mutualism, or to grow out of strict dependence (which is what I hope will happen, Clojure is too good a language to stay hard-wired to a single host).

A side note on parasite thing: when I was taking a university course in molecular evolution, professor said in one of the lectures that in these days cats can be considered parasites feeding off humans.  Not literally eating people, of course, but cats held as pets provide no actual value besides being cute, yet we feed them, and keep them warm and healthy.  Cats co-evolved with humans and some of them successfully employ this kind of strategy, and it doesn’t seem to me there’s anything wrong with it.  I personally find this view fascinating.</description>
		<content:encoded><![CDATA[<p>@Julian Morrison</p>
<p>Self-hosting in and of itself has no direcly practical goals, but it ensures that language is expressive enough to hold its own definition, and that language&#8217;s definition doesn&#8217;t implicitly depend on other language&#8217;s semantics (e.g. Clojure depends heavily on Java (the language, not the VM) interfaces behaviour).  Dependence on single language together with being implementation defined leads to unclear behaviour, where parts of semantics, esp. language core semantics, come from wholly different language.</p>
<p>@Luc Préfontaine</p>
<p>Congrats on putting Clojure in production!  Seriously.  Please, read my explanation above: I didn&#8217;t intend to dismiss Clojure, and I think other examples of languages I called “toy” (Perl, Tcl, TeX) should tell that clear enough.  It doesn’t mean it’s unsuitable for production, or anything; it only means that convenience of single, Java-based implementation has its price.  Simple trade-off, if Clojure (or any other tool) solves your problem, good for you.  I just think Clojure has potential to actually become a hundred-year language, for which it would have to grow out of implementation-defined functional programming layer on top of Java.</p>
<p>@Bill Robertson</p>
<p>I used CL in my job: I hacked Embeddable CL (<a href="http://ecls.sf.net/" rel="nofollow">http://ecls.sf.net/</a>) to be used in embedded Linux boxes, and later I developed and maintained UnCommon Web based (<a href="http://common-lisp.net/project/ucw/" rel="nofollow">http://common-lisp.net/project/ucw/</a>) middleware web-app, contributing to UCW itself.  I also completed a Google Summer of Code project in CL: <a href="http://common-lisp.net/project/cl-openid/" rel="nofollow">http://common-lisp.net/project/cl-openid/</a>.  At the moment, I don’t use Lisp professionally (only hobbyist/university stuff, mostly Web: Hunchentoot/Postmodern, with a vision of completing my own toolbox-framework on top of those), but I plan to go back to using Lisp (CL or Clojure, whichever is more handy for the problem at hand) as soon as possible.</p>
<p>@Tom Faulhaber</p>
<p>To get things straight first, you seem to be mistaking me with Maciej Cegłowski of idlewords.com, who wrote the “Controlled tango into terrain” post.  I have the same name, but that’s all to it.  The post, however, seems interesting (didn’t finish reading it yet), thanks for the link. :)</p>
<p>I think you’re right, words I used may seem pejorative.  Too much Usenet flame wars, I think, I got used to phrase myself in a direct way, which may be misread.  The “toy” word was just first that I had on my mind, with no offense intended.  And for “parasite” thing, the intended meaning was not pejorative: being a parasite is just an evolutionary strategy, and since we’re talking about languages/libraries/platforms ‘ecosystem’, it seemed natural way to say what I meant: a strategy as good as any other, having its merits and downsides, and having a potential to evolve into a commensalism, mutualism, or to grow out of strict dependence (which is what I hope will happen, Clojure is too good a language to stay hard-wired to a single host).</p>
<p>A side note on parasite thing: when I was taking a university course in molecular evolution, professor said in one of the lectures that in these days cats can be considered parasites feeding off humans.  Not literally eating people, of course, but cats held as pets provide no actual value besides being cute, yet we feed them, and keep them warm and healthy.  Cats co-evolved with humans and some of them successfully employ this kind of strategy, and it doesn’t seem to me there’s anything wrong with it.  I personally find this view fascinating.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
