News for hackers. Stuff that matters.
Re:Clojure: It’s About the Libraries by ken on Thursday April 30, 2009 @08:45PM (#587842)
No, a language is a way of communicating ideas, and hence, of thinking about them. (I wouldn't call English or kuchi shoga or tensor diagram notation "tools", even though they can be incredibly useful.) A programming language implementation can be used as a tool.

I think this is the core of our differences. Lisp has traditionally been used mostly as a language -- as Dijkstra put it, it "has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts". Most other programming languages have been used as tools.

Clojure looks like a perfectly competent Lisp-on-JVM (with immutability!), but I don't see it changing how I think about anything. It's thoroughly on the "tool" side of things, which understandably leads to people in the "language" camp being miffed that anybody thinks it's comparable to classic Lisps from the "language" camp.

The Lisp engine in Abuse was a tool, too, and highly productive for its uses, but at least nobody claimed it was a successor to the Lisp line.

Re:Clojure: It’s About the Libraries by weavejester on Friday May 01, 2009 @04:13AM (#588244)
I dislike arguments over semantics. Saying something is a tool does not mean it is not also a language. For instance, mathematics can be considered both a tool and a language.

It's true that Clojure is a programming language designed to be practical, but I fail to see why this would make it any less useful as a language for communicating ideas, or any less able to change how people think about things.

Could you provide an example of an idea that is more easily communicated in another Lisp, rather than in Clojure?

Re:Clojure: It’s About the Libraries by jimbokun on Friday May 01, 2009 @09:32AM (#588455)
"Clojure looks like a perfectly competent Lisp-on-JVM (with immutability!), but I don't see it changing how I think about anything."

The immutability is a non-trivial change in thinking about how to write a program. You can write a program without mutation in Common Lisp, and you can mutate things in Clojure, but the greater cost of implementing mutation in Clojure means you are less likely to do so. This leads to different programs.

No, that is not as big of a change in thinking as Lisp was compared to the languages of the day when McCarthy created it. But I find it a fine addition to the family of Lisps, nonetheless.