tag:blogger.com,1999:blog-5427069094580312550.post881068979985146427..comments2023-12-23T21:48:09.231-08:00Comments on Code To Joy: The Case for ClojureMichael Easterhttp://www.blogger.com/profile/14799771593145201161noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-5427069094580312550.post-68878137478133314372009-05-14T10:30:00.000-07:002009-05-14T10:30:00.000-07:00@Alex. Very cool! That is going to be huge exposur...@Alex. Very cool! That is going to be huge exposure for Clojure<br /><br />re: data types/sequences. Yes. I had to write my post quickly and wanted to highlight Mark's talk and article. However, this is a major omission from the post.<br /><br />re: JVM. From Mark's intro, it looks like Clojure will be ported to the CLR. Either way, an immediate benefit is the familiar libraries (though some say that they don't always fit into a pure FP style). Another huge benefit is that many tough problems are solved: packages, distribution, i18n, etc, and the solutions are, again, familiar.<br /><br />re: Lisp fighting for 50 years. I think we all share a certain disdain for trendy excitement about something we've seen years ago; yet, why criticize enthusiasm? Sometimes it just takes an idea to hit at the right time.<br /><br />re: CSS. IMO, if XSLT can make it as an accepted technology, then surely Lisp can make it. <br /><br />Mark my words: if there is a killer app that exploits a given technology, then we will all be learning that technology, and the books and tutorials will come pouring in. S-expressions are no exception to this. I don't know if STM will _be_ that kind of technology, but that's what makes this interesting to watch.Michael Easterhttps://www.blogger.com/profile/14799771593145201161noreply@blogger.comtag:blogger.com,1999:blog-5427069094580312550.post-35245398248232232142009-05-14T09:29:00.000-07:002009-05-14T09:29:00.000-07:00Steele and Gabriel, 1993: "[W]e expect future gene...<I>Steele and Gabriel, 1993: "[W]e expect future generations of Lisp programmers to continue to reinvent Algol-style syntax for Lisp, over and over and over again, and we are equally confident that they will continue, after an initial period of infatuation, to reject it. (Perhaps this process should be regarded as a rite of passage for Lisp hackers.)"</I>Bad logic there. Lisp programmers are already programming Lisp...duh.<br /><br />It's the Java, C#, Python, Ruby, PHP that need to be brought into Clojure.<br /><br />But they'll just reject it because of the syntax.<br /><br />I guess "the lisp community" will never learn.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5427069094580312550.post-9564783762124594842009-05-14T09:27:00.000-07:002009-05-14T09:27:00.000-07:0010 years ago, CSS was just too weird for designers...<I>10 years ago, CSS was just too weird for designers. 20 years ago, OO was just too weird for many programmers. 30 years ago, compilers were just too weird.</I>And for 50 years, Lisp has been trying to gain traction...enough said.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5427069094580312550.post-52888057254725162362009-05-14T09:07:00.000-07:002009-05-14T09:07:00.000-07:00"s-expressions are just too weird for too many dev..."s-expressions are just too weird for too many developers."<br /><br />10 years ago, CSS was just too weird for designers. 20 years ago, OO was just too weird for many programmers. 30 years ago, compilers were just too weird.<br /><br />Powerful new abstractions always seem weird to the average person. Otherwise they wouldn't be powerful new abstractions! Programmers are going to have to get over it, if they want the benefits.<br /><br />"If someone would write an alternative reader (I know clojure doesn't allow user reader macros) that say had some nice python-like syntax"<br /><br />Gee, Lisp programmers have only been trying to figure that one out for the past 50 years. :-)<br /><br />Steele and Gabriel, 1993: "[W]e expect future generations of Lisp programmers to continue to reinvent Algol-style syntax for Lisp, over and over and over again, and we are equally confident that they will continue, after an initial period of infatuation, to reject it. (Perhaps this process should be regarded as a rite of passage for Lisp hackers.)"Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5427069094580312550.post-39548000875077783282009-05-14T09:01:00.000-07:002009-05-14T09:01:00.000-07:00Lisp is a family of languages, and Clojure *is* a ...Lisp is a family of languages, and Clojure *is* a Lisp, so it sounds funny to hear you speak of "Lisp and Clojure". :-)<br /><br />It would be interesting to hear more about the "on the JVM" clause in the first paragraph. I haven't heard anybody speak about languages specific to one platform in decades -- why is this a useful consideration again today?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5427069094580312550.post-32257286164206080952009-05-14T08:10:00.000-07:002009-05-14T08:10:00.000-07:00Even if you're not into the concurrency yet, (as A...Even if you're not into the concurrency yet, (as Alex pointed out), the unification of sequences is really a thing of beauty in Clojure.<br /><br />Now for the bad. Clojure definitely isn't a flash in the pan, and I'm sure it'll be used in production at many places, but s-expressions are just too weird for too many developers.<br /><br />If someone would write an alternative reader (I know clojure doesn't allow user reader macros) that say had some nice python-like syntax, Clojure would probably be the number one alternative JVM languageAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-5427069094580312550.post-2199863615688070642009-05-14T06:41:00.000-07:002009-05-14T06:41:00.000-07:00Cliff Click (from Azul) is doing a talk on how dyn...Cliff Click (from Azul) is doing a talk on how dynamic languages scale on the massive Azul boxes (100s/1000s of cores) at JavaOne. Somewhere I saw him mention that a Clojure app with STM scaled linearly up to 600 cores with no changes. That's one data point, but how can you not be interested in that!<br /><br />I will also mention that if you are a data structures / collections freak then you will find no finer topic than the persistent (as in immutable) data structures that are the secret sauce of Clojure. The work Rich has done there, especially with the map, is truly innovative and awesome.Alex Millerhttps://www.blogger.com/profile/01929662536395624733noreply@blogger.com