<?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: My path to Clojure</title>
	<atom:link href="http://blog.n01se.net/?feed=rss2&#038;p=37" rel="self" type="application/rss+xml" />
	<link>http://blog.n01se.net/?p=37</link>
	<description>theoretically unambiguous</description>
	<lastBuildDate>Sun, 29 Aug 2010 20:06:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: John</title>
		<link>http://blog.n01se.net/?p=37&#038;cpage=1#comment-505</link>
		<dc:creator>John</dc:creator>
		<pubDate>Tue, 27 Jan 2009 00:35:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.n01se.net/?p=37#comment-505</guid>
		<description>Chouser,

Thanks for the write-up.  I took a Scheme class back in college, but somehow it didn&#039;t mesh with how my mind worked back then.  I spent a number of years doing Java and then C#.  

Last year, I learned Python in order to be able to use the Google App Engine, which lead to me doing a bunch of stuff with Django.  I&#039;ve found that I really prefer dynamically-typed languages (i.e. languages that associated type information with values, not with variables).  I come from a mathematics/logic background, and I find that dynamic typing is actually much more like mathematical logic than static typing is.

However, I recently started to get frustrated by the lack of method overloading (not to be confused with method overriding) in Python.  I wanted duck-typing, but I also wanted method overloading, and somehow my brain told me I should take another look at Lisp.

I checked in on Arc, but it didn&#039;t seem like it was going to be ready anytime soon.  However, on the Arc website I found a link to Clojure (which I had heard of but never explored).  So now I&#039;m trying out Clojure to see if it can do the things I&#039;ve been missing in Python.

-John</description>
		<content:encoded><![CDATA[<p>Chouser,</p>
<p>Thanks for the write-up.  I took a Scheme class back in college, but somehow it didn&#8217;t mesh with how my mind worked back then.  I spent a number of years doing Java and then C#.  </p>
<p>Last year, I learned Python in order to be able to use the Google App Engine, which lead to me doing a bunch of stuff with Django.  I&#8217;ve found that I really prefer dynamically-typed languages (i.e. languages that associated type information with values, not with variables).  I come from a mathematics/logic background, and I find that dynamic typing is actually much more like mathematical logic than static typing is.</p>
<p>However, I recently started to get frustrated by the lack of method overloading (not to be confused with method overriding) in Python.  I wanted duck-typing, but I also wanted method overloading, and somehow my brain told me I should take another look at Lisp.</p>
<p>I checked in on Arc, but it didn&#8217;t seem like it was going to be ready anytime soon.  However, on the Arc website I found a link to Clojure (which I had heard of but never explored).  So now I&#8217;m trying out Clojure to see if it can do the things I&#8217;ve been missing in Python.</p>
<p>-John</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ivan</title>
		<link>http://blog.n01se.net/?p=37&#038;cpage=1#comment-454</link>
		<dc:creator>Ivan</dc:creator>
		<pubDate>Wed, 21 Jan 2009 11:51:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.n01se.net/?p=37#comment-454</guid>
		<description>I used XSLT in a medium/large Java project back in 2001-2003 and it did the trick, though we had to write quite a few extensions in Java.  I was considering using XSLT again in a similar project last year and I found it awful!  But I can strongly recommend XQuery (we&#039;re using Saxon).  It&#039;s much nicer language IMO, though not without problems.

Now, I&#039;m definitely interested in seeing this zip-filter lib!  Perhaps soon I&#039;ll recommend something different than XQuery? :)</description>
		<content:encoded><![CDATA[<p>I used XSLT in a medium/large Java project back in 2001-2003 and it did the trick, though we had to write quite a few extensions in Java.  I was considering using XSLT again in a similar project last year and I found it awful!  But I can strongly recommend XQuery (we&#8217;re using Saxon).  It&#8217;s much nicer language IMO, though not without problems.</p>
<p>Now, I&#8217;m definitely interested in seeing this zip-filter lib!  Perhaps soon I&#8217;ll recommend something different than XQuery? <img src='http://blog.n01se.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chouser</title>
		<link>http://blog.n01se.net/?p=37&#038;cpage=1#comment-451</link>
		<dc:creator>Chouser</dc:creator>
		<pubDate>Tue, 20 Jan 2009 23:08:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.n01se.net/?p=37#comment-451</guid>
		<description>Nathan: no problems in particular, I see PE more as a useful tool to explore the language, than that the language is likely to make an enormous difference in solving the problem.  I think a language has to have pretty glaring deficiencies to be as bad at solving PE problems as JavaScript was.  I did several in ruby as well, which was also quite pleasant.  Learning to do them with immutable locals and collections was a useful stretch for me though, and I blogged earlier about one particular problem that I solved a few different ways to try out some of Clojure multi-thread features.

oopjosh: If there is a real error in my logic, this can indeed end up being expressed as an error in type declarations that a compiler can flag.  In that case, I&#039;d much rather have the error caught at compile time than at runtime.  However, it&#039;s also possible to have an error only in the type declarations, which is what I believe I was dealing with in that particular attempt at using Scala.  This belief is strengthened by the fact that I was able to solve essentially the same problem in essentially the same way in a dynamically typed language -- if the error had been in my logic I would have seen it at runtime, just as you said.  For kind of exploratory API-building I was doing, Scala&#039;s static type system was definitely causing friction.</description>
		<content:encoded><![CDATA[<p>Nathan: no problems in particular, I see PE more as a useful tool to explore the language, than that the language is likely to make an enormous difference in solving the problem.  I think a language has to have pretty glaring deficiencies to be as bad at solving PE problems as JavaScript was.  I did several in ruby as well, which was also quite pleasant.  Learning to do them with immutable locals and collections was a useful stretch for me though, and I blogged earlier about one particular problem that I solved a few different ways to try out some of Clojure multi-thread features.</p>
<p>oopjosh: If there is a real error in my logic, this can indeed end up being expressed as an error in type declarations that a compiler can flag.  In that case, I&#8217;d much rather have the error caught at compile time than at runtime.  However, it&#8217;s also possible to have an error only in the type declarations, which is what I believe I was dealing with in that particular attempt at using Scala.  This belief is strengthened by the fact that I was able to solve essentially the same problem in essentially the same way in a dynamically typed language &#8212; if the error had been in my logic I would have seen it at runtime, just as you said.  For kind of exploratory API-building I was doing, Scala&#8217;s static type system was definitely causing friction.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: oopjosh</title>
		<link>http://blog.n01se.net/?p=37&#038;cpage=1#comment-446</link>
		<dc:creator>oopjosh</dc:creator>
		<pubDate>Tue, 20 Jan 2009 18:27:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.n01se.net/?p=37#comment-446</guid>
		<description>&gt; I&#039;m sure it would have been possible to make it work, but I wanted to spend my time solving actual problems, not solving problems the compiler was making up for me. Maybe I didn&#039;t want static typing after all.

It&#039;s not the compiler making up problems for you if you can&#039;t get your types correct.  Static typing shows you your mistakes at compile time.  Dynamic typing shows you your mistakes at runtime.  Dynamic typing will not magically fix your incorrect types.  But, if you want to buy some magic beans, send me an email.  I&#039;ve got a 2 for 1 special now.</description>
		<content:encoded><![CDATA[<p>&gt; I&#8217;m sure it would have been possible to make it work, but I wanted to spend my time solving actual problems, not solving problems the compiler was making up for me. Maybe I didn&#8217;t want static typing after all.</p>
<p>It&#8217;s not the compiler making up problems for you if you can&#8217;t get your types correct.  Static typing shows you your mistakes at compile time.  Dynamic typing shows you your mistakes at runtime.  Dynamic typing will not magically fix your incorrect types.  But, if you want to buy some magic beans, send me an email.  I&#8217;ve got a 2 for 1 special now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan Hughes</title>
		<link>http://blog.n01se.net/?p=37&#038;cpage=1#comment-445</link>
		<dc:creator>Nathan Hughes</dc:creator>
		<pubDate>Tue, 20 Jan 2009 15:10:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.n01se.net/?p=37#comment-445</guid>
		<description>Were there any particular problems on project Euler that Clojure was a big advantage for? I worked 58 problems using mostly Ruby, and came back and did 3 or 4 of them using Clojure but I ran out of steam. I&#039;d like to know what I was missing out on.</description>
		<content:encoded><![CDATA[<p>Were there any particular problems on project Euler that Clojure was a big advantage for? I worked 58 problems using mostly Ruby, and came back and did 3 or 4 of them using Clojure but I ran out of steam. I&#8217;d like to know what I was missing out on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chouser</title>
		<link>http://blog.n01se.net/?p=37&#038;cpage=1#comment-444</link>
		<dc:creator>Chouser</dc:creator>
		<pubDate>Tue, 20 Jan 2009 15:06:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.n01se.net/?p=37#comment-444</guid>
		<description>Dan: I resisted the urge to insert a smiley, but perhaps I shouldn&#039;t have.  Anyway, I absolutely agree -- Programming Clojure is not trying to accomplish the same thing as On Lisp.  In fact, the author of Programming Clojure among others are working porting examples from On Lisp to Clojure:

http://blog.thinkrelevance.com/2008/12/12/on-lisp-clojure
http://blog.fogus.me/2008/09/26/on-lisp-clojure-chapter-2/</description>
		<content:encoded><![CDATA[<p>Dan: I resisted the urge to insert a smiley, but perhaps I shouldn&#8217;t have.  Anyway, I absolutely agree &#8212; Programming Clojure is not trying to accomplish the same thing as On Lisp.  In fact, the author of Programming Clojure among others are working porting examples from On Lisp to Clojure:</p>
<p><a href="http://blog.thinkrelevance.com/2008/12/12/on-lisp-clojure" rel="nofollow">http://blog.thinkrelevance.com/2008/12/12/on-lisp-clojure</a><br />
<a href="http://blog.fogus.me/2008/09/26/on-lisp-clojure-chapter-2/" rel="nofollow">http://blog.fogus.me/2008/09/26/on-lisp-clojure-chapter-2/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Bernier</title>
		<link>http://blog.n01se.net/?p=37&#038;cpage=1#comment-442</link>
		<dc:creator>Dan Bernier</dc:creator>
		<pubDate>Tue, 20 Jan 2009 13:25:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.n01se.net/?p=37#comment-442</guid>
		<description>I&#039;ve read parts of both On Lisp, and Programming Clojure (in beta), and I&#039;d say the latter is no replacement for the first.  Programming Clojure introduces the language and its features (immutability, STM, concurrency model, etc), but doesn&#039;t have near the amount of &quot;why&quot; that On Lisp does.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve read parts of both On Lisp, and Programming Clojure (in beta), and I&#8217;d say the latter is no replacement for the first.  Programming Clojure introduces the language and its features (immutability, STM, concurrency model, etc), but doesn&#8217;t have near the amount of &#8220;why&#8221; that On Lisp does.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BCox</title>
		<link>http://blog.n01se.net/?p=37&#038;cpage=1#comment-438</link>
		<dc:creator>BCox</dc:creator>
		<pubDate>Tue, 20 Jan 2009 06:14:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.n01se.net/?p=37#comment-438</guid>
		<description>Hey, thanks for taking the time to write up this entry.  I&#039;ve been working with Common Lisp for a few weeks after spending quite a bit of time with scheme and have been dreaming of making the switch to Clojure for a few days now.  After being pampered by Python&#039;s standard library it&#039;s incredibly easy to be frustrated by the state of Common Lisp and the libraries available.  I think I&#039;ll finally give Clojure a try tomorrow...   Sweet!</description>
		<content:encoded><![CDATA[<p>Hey, thanks for taking the time to write up this entry.  I&#8217;ve been working with Common Lisp for a few weeks after spending quite a bit of time with scheme and have been dreaming of making the switch to Clojure for a few days now.  After being pampered by Python&#8217;s standard library it&#8217;s incredibly easy to be frustrated by the state of Common Lisp and the libraries available.  I think I&#8217;ll finally give Clojure a try tomorrow&#8230;   Sweet!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.387 seconds -->
