This post is not about Yegge. It's a little comparison of Common Lisp and Scheme (Plt Racket). I think a post with such a bad title should not be read no matter its content but YMMV.
This is all it contains about Steve Yegge: The quote from Yegge goes something like "Most newcomers independently come to the same conclusion; Scheme is the better language, but Common Lisp is the right choice for production work." Bottom line, I remember disagreeing a long time ago, but I've uh... independently come to the same conclusion.
A while ago I noticed that I was suddenly doing more coding in SBCL than PLT Scheme. When I thought about it, I realized that Steve Yegge said the same thing a long time ago and I remember reacting with dismissal. The post wasn't about Yegge, it was about the idea (which I've heard elsewhere too, he just happened to be the one I remembered at the time) that Scheme is the "better language" while being paradoxically less "useful" than Common Lisp.
In defense of the lame title, I tend to write in order to get things out of my head. Had I known that someone would post that article on Reddit and Hacker News, leading to Jay McCarthy dropping by and asking what, specifically, was wrong with his server, I might have proofread it more than 0 times before posting it anywhere.
That's exactly what I meant. The CL version has options, the Scheme version just takes a format string (which has fewer possible directives than its CL counterpart), which makes it less flexible and slightly more verbose.
To be fair, it's not exactly a straightforward paragraph, and I was talking about two different functions both named "format", so I can see how it might have been confusing.
Whether Common Lisp or Racket comes out in front in a comparison, it always strikes me as amazing what the Racket people get done given their manpower. I don't know how large the team exactly is, and how many external contributors they have. But looking at their site, they have everything from a modern Scheme with libraries, a web server, modern packaging, experimental sub-languages, a module contract system, and so on. And that's besides doing their academic work.
I'm deeply curious where Clojure would fall in this comparison. Is Compojure as suave as Hunchentoot? Is string formatting just as flexible? In practice, is it a pain to have to fail over to Java library documentation when Clojure doesn't suffice, versus having plentiful but scattered docs for a single language?
I almost can't believe the #3, restarting a webserver for minor changes? That reeks of static, batch-language oriented solution. Not that there's necessarily anything wrong with static batch-languages, but I wouldn't have thought Scheme is one.
The other points about the web server (which Jay ended up focusing on more) are really side issues; my biggest gripe was that lack of iteration during the development phase. If I could change code on the fly, I'd be a happy camper.
13 comments
[ 2.7 ms ] story [ 35.9 ms ] threadThis is all it contains about Steve Yegge: The quote from Yegge goes something like "Most newcomers independently come to the same conclusion; Scheme is the better language, but Common Lisp is the right choice for production work." Bottom line, I remember disagreeing a long time ago, but I've uh... independently come to the same conclusion.
In defense of the lame title, I tend to write in order to get things out of my head. Had I known that someone would post that article on Reddit and Hacker News, leading to Jay McCarthy dropping by and asking what, specifically, was wrong with his server, I might have proofread it more than 0 times before posting it anywhere.
(format t "hello world")
From PCL: "T is shorthand for the stream STANDARD-OUTPUT, while NIL causes FORMAT to generate its output to a string, which it then returns."
To be fair, it's not exactly a straightforward paragraph, and I was talking about two different functions both named "format", so I can see how it might have been confusing.