<?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 for Three of Coins</title>
	<atom:link href="http://www.3ofcoins.net/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.3ofcoins.net</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 08 Nov 2011 22:21:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>Comment on Common Lisp, Clojure, and seriousness. by Dude</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-45634</link>
		<dc:creator>Dude</dc:creator>
		<pubDate>Tue, 08 Nov 2011 22:21:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-45634</guid>
		<description>Clojure is optimized for the slick one-page example. The basic idea is &quot;Let&#039;s create a Lisp-like language, but one which is a champion in programming language duels where the contest revolves around solving trivial tasks in half a page of code. A key requirement is beat functional languages using identical approaches.&quot;

Clojure is good for Lisp because most Blub programmers and their managers only understand programming language contests based on solving a task in a page of code.

Go Clojure!</description>
		<content:encoded><![CDATA[<p>Clojure is optimized for the slick one-page example. The basic idea is &#8220;Let&#8217;s create a Lisp-like language, but one which is a champion in programming language duels where the contest revolves around solving trivial tasks in half a page of code. A key requirement is beat functional languages using identical approaches.&#8221;</p>
<p>Clojure is good for Lisp because most Blub programmers and their managers only understand programming language contests based on solving a task in a page of code.</p>
<p>Go Clojure!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Yaclml in pictures, part II: Templating by Anton Vodonsov</title>
		<link>http://www.3ofcoins.net/2010/01/21/yaclml-in-pictures-part-ii-templating/comment-page-1/#comment-36110</link>
		<dc:creator>Anton Vodonsov</dc:creator>
		<pubDate>Sat, 13 Aug 2011 02:47:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=94#comment-36110</guid>
		<description>Hello Maciej.


Have you ever used google closure-templates (or it&#039;s lisp implementation, cl-closure-templates)? Can you say, is closure-templates templating solution better or not that TAL?

Best regards,
- Anton</description>
		<content:encoded><![CDATA[<p>Hello Maciej.</p>
<p>Have you ever used google closure-templates (or it&#8217;s lisp implementation, cl-closure-templates)? Can you say, is closure-templates templating solution better or not that TAL?</p>
<p>Best regards,<br />
- Anton</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Common Lisp, Clojure, and seriousness. by Michael</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-28371</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Thu, 14 Apr 2011 00:42:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-28371</guid>
		<description>I&#039;m aware the article is two years old. But it probably gets a lot of hits still. if you search &quot;clojure vs. common lisp&quot; on Google, it usually comes up in the top 5 or 6 results, so I imagine it will continue to be read frequently.

I think characterizing Clojure as &quot;sugar coating&quot; over Java is really not accurate. Most of Clojure is written in Clojure, including its data structures such as hash maps, vectors, and lists. These are not Java&#039;s hash maps, vectors, or lists. They are new ones that were written in Clojure. Also keep in mind that Clojure supports first class functions and software transactional memory--both things that you really can&#039;t do in Java code without resorting to really deep black magic with the reflection and introspection APIs.

As far as elegance, I think that is debatable as well. Clojure is somewhat more &quot;functionally pure&quot; than CL. And being a lisp-1, I think it&#039;s possible to write more elegant code in clojure since you don&#039;t have to use (funcall). Clojure&#039;s support for STM also makes it possible to write some very elegant code.

Of course, elegance is largely a matter of personal taste. And we aren&#039;t likely to shed any new light on the lisp-1 vs. lisp-2 debate.

But really, I think it&#039;s unfair to call Clojure syntactic sugar for Java, given that Clojure can do a lot of things that most mere mortals wouldn&#039;t even attempt to do in Java.</description>
		<content:encoded><![CDATA[<p>I&#8217;m aware the article is two years old. But it probably gets a lot of hits still. if you search &#8220;clojure vs. common lisp&#8221; on Google, it usually comes up in the top 5 or 6 results, so I imagine it will continue to be read frequently.</p>
<p>I think characterizing Clojure as &#8220;sugar coating&#8221; over Java is really not accurate. Most of Clojure is written in Clojure, including its data structures such as hash maps, vectors, and lists. These are not Java&#8217;s hash maps, vectors, or lists. They are new ones that were written in Clojure. Also keep in mind that Clojure supports first class functions and software transactional memory&#8211;both things that you really can&#8217;t do in Java code without resorting to really deep black magic with the reflection and introspection APIs.</p>
<p>As far as elegance, I think that is debatable as well. Clojure is somewhat more &#8220;functionally pure&#8221; than CL. And being a lisp-1, I think it&#8217;s possible to write more elegant code in clojure since you don&#8217;t have to use (funcall). Clojure&#8217;s support for STM also makes it possible to write some very elegant code.</p>
<p>Of course, elegance is largely a matter of personal taste. And we aren&#8217;t likely to shed any new light on the lisp-1 vs. lisp-2 debate.</p>
<p>But really, I think it&#8217;s unfair to call Clojure syntactic sugar for Java, given that Clojure can do a lot of things that most mere mortals wouldn&#8217;t even attempt to do in Java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Common Lisp, Clojure, and seriousness. by Maciej</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-28361</link>
		<dc:creator>Maciej</dc:creator>
		<pubDate>Wed, 13 Apr 2011 19:02:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-28361</guid>
		<description>This article is over two years old, and while I still hold some points expressed here (having a standard is good; being implementation defined is bad and risky; piggybacking on somebody else&#039;s standard and claiming to be a separate tool doesn&#039;t seem right; etc), I admit I&#039;ve overtrolled here a bit. Also, Clojure has matured a lot over these two years: it is (at least partially, I&#039;m not sure) self-hosted and seems not to be as implementation-defined as it used to be.
Michael: your points are completely valid. Clojure is a good, useful and every month more mature tool. Large part of its usefulness comes from it being defined in terms of a different tool; this is why I consider it a &quot;toy language&quot; (it&#039;s an unfortunate name, but let&#039;s stick with it): it does not define its own space, but it is merely a sugar coating over JVM the VM, Java&#039;s runtime libraries and APIs. JVM as a platform is fine; dependence on Java&#039;s runtime libraries, while it boosts immediate usefulness, seems to make Clojure just a nice frontend. I don&#039;t argue whether it&#039;s good or bad: at this moment, in terms of real-world productivity, Clojure is probably way more useful than CL. I was concerned about theoretical stuff like elegance, self-containedness, self-sustainability, etc.
I was writing not from engineer&#039;s point of view, but from computer science student&#039;s point of view. From engineers point of view (especially now, two years ahead), Clojure seems a better tool to use in most cases; to a CS student, it seemed underspecified, not really defined, piggybacking on other tools and pulling its usefulness from their popularity. Immediately useful - maybe, but not nearly as elegant, independent and complete as CL. Engineer&#039;s toy.
Now - two years later and no longer a student for most of that time - I admit that my point of view had its flaws, and on top of that I have chosen quite inflammable and unfortunate wording. In real life and real work - right, Clojure is more useful, even if it&#039;s not as beautiful and independent as CL.</description>
		<content:encoded><![CDATA[<p>This article is over two years old, and while I still hold some points expressed here (having a standard is good; being implementation defined is bad and risky; piggybacking on somebody else&#8217;s standard and claiming to be a separate tool doesn&#8217;t seem right; etc), I admit I&#8217;ve overtrolled here a bit. Also, Clojure has matured a lot over these two years: it is (at least partially, I&#8217;m not sure) self-hosted and seems not to be as implementation-defined as it used to be.<br />
Michael: your points are completely valid. Clojure is a good, useful and every month more mature tool. Large part of its usefulness comes from it being defined in terms of a different tool; this is why I consider it a &#8220;toy language&#8221; (it&#8217;s an unfortunate name, but let&#8217;s stick with it): it does not define its own space, but it is merely a sugar coating over JVM the VM, Java&#8217;s runtime libraries and APIs. JVM as a platform is fine; dependence on Java&#8217;s runtime libraries, while it boosts immediate usefulness, seems to make Clojure just a nice frontend. I don&#8217;t argue whether it&#8217;s good or bad: at this moment, in terms of real-world productivity, Clojure is probably way more useful than CL. I was concerned about theoretical stuff like elegance, self-containedness, self-sustainability, etc.<br />
I was writing not from engineer&#8217;s point of view, but from computer science student&#8217;s point of view. From engineers point of view (especially now, two years ahead), Clojure seems a better tool to use in most cases; to a CS student, it seemed underspecified, not really defined, piggybacking on other tools and pulling its usefulness from their popularity. Immediately useful &#8211; maybe, but not nearly as elegant, independent and complete as CL. Engineer&#8217;s toy.<br />
Now &#8211; two years later and no longer a student for most of that time &#8211; I admit that my point of view had its flaws, and on top of that I have chosen quite inflammable and unfortunate wording. In real life and real work &#8211; right, Clojure is more useful, even if it&#8217;s not as beautiful and independent as CL.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Common Lisp, Clojure, and seriousness. by Michael</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-28227</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Mon, 11 Apr 2011 02:30:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-28227</guid>
		<description>One more issue I forgot to mention. I think your concern about whether clojure will still work on the next release of the JVM is unfounded. At least unfounded as the concern that your CL compiler, or GCC won&#039;t work on Intel&#039;s next processor is. Both intel, and Sun / Oracle have made commitments to guarantee backward compatibility. So if you are concerned about clojure not working on the next version of the JVM, you also have to raise the same concerns about Intel breaking backward compatibility with their next CPU.

With a CL compiler, the problem is even more insidious. Will your CL compiler still work on the next version of Linux? Especially if the Linux APIs have changed? With Clojure, as long as there is a compatible JVM for any given platform, Clojure will work. No matter how much the underlying platform changes.

So again, I think when it comes to future-proofing your investment, once again, Clojure comes out on top.

I&#039;m not sure how you can claim, given everything I have pointed out, that Clojure is a toy. It&#039;s clearly a serious language that is getting serious attention in the enterprise environment. And thats something that quite frankly, CL has largely failed to do.</description>
		<content:encoded><![CDATA[<p>One more issue I forgot to mention. I think your concern about whether clojure will still work on the next release of the JVM is unfounded. At least unfounded as the concern that your CL compiler, or GCC won&#8217;t work on Intel&#8217;s next processor is. Both intel, and Sun / Oracle have made commitments to guarantee backward compatibility. So if you are concerned about clojure not working on the next version of the JVM, you also have to raise the same concerns about Intel breaking backward compatibility with their next CPU.</p>
<p>With a CL compiler, the problem is even more insidious. Will your CL compiler still work on the next version of Linux? Especially if the Linux APIs have changed? With Clojure, as long as there is a compatible JVM for any given platform, Clojure will work. No matter how much the underlying platform changes.</p>
<p>So again, I think when it comes to future-proofing your investment, once again, Clojure comes out on top.</p>
<p>I&#8217;m not sure how you can claim, given everything I have pointed out, that Clojure is a toy. It&#8217;s clearly a serious language that is getting serious attention in the enterprise environment. And thats something that quite frankly, CL has largely failed to do.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Common Lisp, Clojure, and seriousness. by Michael</title>
		<link>http://www.3ofcoins.net/2009/01/30/common-lisp-clojure-and-seriousness/comment-page-1/#comment-28224</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Mon, 11 Apr 2011 01:28:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=78#comment-28224</guid>
		<description>I realize this is old, but it came up at the top of a Google search. So here goes.

First, I think your definition of &quot;serious&quot; language is somewhat flawed, and I think you place too much value on having a standard. Sure, CL has an ANSI standard. But it leaves so much undefined that there are still serious incompatibilities between the different CL implementations, and no guarantee code you develop for one will work in another. For example, the SBCL socket API, and the CLISP socket API, are very different. This has resulted in having to create compatibility layers such as usocket in order to write portable socket code in CL.

Clojure, on the other hand takes advantage of the Java socket API. And the Java socket API is the same on all Java implementations running on all platforms. So whether you are using Sun Java. OpenJDK, IBM Java, or GCJ, you can be sure that the socket API will be the same on all of those platforms. So even though CL has a standard, Clojure still comes out ahead as far as guaranteeing portability.

I also think you are greatly underestimating the value of Clojure being built on the JVM. The very fact that it is built on the JVM and can leverage existing Java code bases is what gives it a very good chance of becoming a &quot;serious&quot; language. On the other hand, many of the languages that have ANSI standards are basically academic toys that are difficult to use in the real world because of their inability to integrate with existing systems, as well as their lack of useful libraries to solve common day to day problems.

When talking about Java, it&#039;s important to distinguish between Java the platform, and Java the language. Java the platform is still very powerful, flexible, and offers a lot of advantages.

Java the language, on the other hand, has run its course except for systems programming. It was great for it&#039;s time. But by modern dynamic language standards, it&#039;s verbose, very complicated, and no one really wants to write new code in it. But there are billions of lines of Java infrastructure already in place. Rewriting all of it would both be cost prohibitive, and time prohibitive.

And this is where Clojure comes in, and why it is so powerful. With Clojure, I get a modern lisp that gives me all the benefits of functional programming that I can write new code in. That new code can integrate seamlessly into my existing Java infrastructure. And I&#039;d say that makes Clojure a serious language ready to real work. Not a &quot;toy&quot;.

I&#039;ve got nothing against CL. But lets face it. It&#039;s rather difficult to use CL in the real world. It doesn&#039;t play nice with existing infrastructures built on Java or .NET. Despite having a standard, the standard is largely incomplete; and so different implementations are deeply fragmented anyway and often incompatible when it comes to things like sockets (as I mentioned above). And then there are the deployment issues. Sure I can write a a Web app in CL, but there is no standard way to deploy it. There are several CL Web servers out there, but once again, they aren&#039;t compatible with each other as far as how you are expected to write your code. Clojure wins here as well, as Web apps written in Clojure can be deployed under any standards compliant Java Servlet container.

Again, I have nothing against CL. but when it comes down to it, I really think Clojure is going to be the lisp that gets taken seriously--specifically because of it&#039;s close relationship with the JVM (and now with the CLR).</description>
		<content:encoded><![CDATA[<p>I realize this is old, but it came up at the top of a Google search. So here goes.</p>
<p>First, I think your definition of &#8220;serious&#8221; language is somewhat flawed, and I think you place too much value on having a standard. Sure, CL has an ANSI standard. But it leaves so much undefined that there are still serious incompatibilities between the different CL implementations, and no guarantee code you develop for one will work in another. For example, the SBCL socket API, and the CLISP socket API, are very different. This has resulted in having to create compatibility layers such as usocket in order to write portable socket code in CL.</p>
<p>Clojure, on the other hand takes advantage of the Java socket API. And the Java socket API is the same on all Java implementations running on all platforms. So whether you are using Sun Java. OpenJDK, IBM Java, or GCJ, you can be sure that the socket API will be the same on all of those platforms. So even though CL has a standard, Clojure still comes out ahead as far as guaranteeing portability.</p>
<p>I also think you are greatly underestimating the value of Clojure being built on the JVM. The very fact that it is built on the JVM and can leverage existing Java code bases is what gives it a very good chance of becoming a &#8220;serious&#8221; language. On the other hand, many of the languages that have ANSI standards are basically academic toys that are difficult to use in the real world because of their inability to integrate with existing systems, as well as their lack of useful libraries to solve common day to day problems.</p>
<p>When talking about Java, it&#8217;s important to distinguish between Java the platform, and Java the language. Java the platform is still very powerful, flexible, and offers a lot of advantages.</p>
<p>Java the language, on the other hand, has run its course except for systems programming. It was great for it&#8217;s time. But by modern dynamic language standards, it&#8217;s verbose, very complicated, and no one really wants to write new code in it. But there are billions of lines of Java infrastructure already in place. Rewriting all of it would both be cost prohibitive, and time prohibitive.</p>
<p>And this is where Clojure comes in, and why it is so powerful. With Clojure, I get a modern lisp that gives me all the benefits of functional programming that I can write new code in. That new code can integrate seamlessly into my existing Java infrastructure. And I&#8217;d say that makes Clojure a serious language ready to real work. Not a &#8220;toy&#8221;.</p>
<p>I&#8217;ve got nothing against CL. But lets face it. It&#8217;s rather difficult to use CL in the real world. It doesn&#8217;t play nice with existing infrastructures built on Java or .NET. Despite having a standard, the standard is largely incomplete; and so different implementations are deeply fragmented anyway and often incompatible when it comes to things like sockets (as I mentioned above). And then there are the deployment issues. Sure I can write a a Web app in CL, but there is no standard way to deploy it. There are several CL Web servers out there, but once again, they aren&#8217;t compatible with each other as far as how you are expected to write your code. Clojure wins here as well, as Web apps written in Clojure can be deployed under any standards compliant Java Servlet container.</p>
<p>Again, I have nothing against CL. but when it comes down to it, I really think Clojure is going to be the lisp that gets taken seriously&#8211;specifically because of it&#8217;s close relationship with the JVM (and now with the CLR).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Darcs vs Git: mathematician versus engineer by michalpabis</title>
		<link>http://www.3ofcoins.net/2008/12/16/darcs-vs-git-mathematician-versus-engineer/comment-page-1/#comment-17224</link>
		<dc:creator>michalpabis</dc:creator>
		<pubDate>Wed, 29 Sep 2010 22:10:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=62#comment-17224</guid>
		<description>Info from end of year 2010 - check out darcs now, it improved alot.</description>
		<content:encoded><![CDATA[<p>Info from end of year 2010 &#8211; check out darcs now, it improved alot.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Common Lisp, Clojure, and seriousness. 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>Comment on Yaclml in pictures, part II: Templating by Felipe D.</title>
		<link>http://www.3ofcoins.net/2010/01/21/yaclml-in-pictures-part-ii-templating/comment-page-1/#comment-8806</link>
		<dc:creator>Felipe D.</dc:creator>
		<pubDate>Wed, 27 Jan 2010 15:49:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.3ofcoins.net/?p=94#comment-8806</guid>
		<description>Thanks for posting this!  I had no idea how to even approach TAL since the wiki page was pretty hard to follow but now it makes sense.

This certainly opens up a few more possibilities for creating web apps with (or without) UCW.</description>
		<content:encoded><![CDATA[<p>Thanks for posting this!  I had no idea how to even approach TAL since the wiki page was pretty hard to follow but now it makes sense.</p>
<p>This certainly opens up a few more possibilities for creating web apps with (or without) UCW.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Common Lisp, Clojure, and seriousness. 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>
</channel>
</rss>

