Mark Tarver, creator of the Qi and Shen Lisp languages, writes about Lisp, programmer psychology, open source, and British universities.
HN commenters often cite his essay "The Bipolar Lisp Programmer", calling it brilliant for describing a familiar type of gifted but overreaching hacker.
I can't give you statistical evidence, but it's well known (or often said, at least) that using the right tool for the job makes the odds of success a lot higher.
That being said, "right" is very different from pg's "powerful", especially as he says:
> Lisp is so great not because of some magic quality visible only to devotees, but because it is simply the most powerful language available.
In my opinion (and this person's[1]), Lisp is "powerful" in that it lets you express anything quickly and easily in a way that makes sense to you.
That doesn't mean it makes sense to anyone, nor does that mean it's compatible with anything else.
And where he says:
> What's less often understood is that there is a more general principle here: that if you have a choice of several languages, it is, all other things being equal, a mistake to program in anything but the most powerful one.
I feel he is sorely mistaken. The best programming language for the job is the one that most easily and quickly fits the requirements, given your experience level and the intrinsic attributes of the languages in question. That may be less true when you're working on a personal project rather than one for work... but from an engineering standpoint, development speed is very important.
PHP may be near-universally reviled as a language, but I won't contest the fact that it runs anywhere, quickly. If you needed to quickly put up a blog at least some time ago, the answer was almost always "use Wordpress and…
I've read "beating the averages" about a billion times, along with all the other PG essays. I was (and still am) a fan. I took several classes using PLT scheme and I've used PLT scheme for a reasonable amount for other tasks (wasn't called racket then). I've also dabbled with some lisps. I've read the little schemer, I've went through the wizard book. I've written the obligatory metacircular evaluator. All this got me excited.
Over the years though, I've done my best to learn the lessons and move on.
Is it really a surprise that lisp, an aged tool of refined elegance, was a competitive advantage over the other popular languages in 1997, which were still in their neanderthal phase? I'm not sure if the difference is that huge these days though. While in the olden days languages seemingly refused to learn from the teachings of lisp, it seems today they steal from lisp like pop artists steal from each other. Say, a ruby DSL with blocks and other tricks is not as flexible as a defmacro based lisp one, but could there maybe be a tradeoff here?
Writing in lisps give me what I call the intellectual warm-fuzzies. I get to use many elegant tools to form abstractions upon abstractions to create the DSL for my problem domain. I like that. Some call it doing the Right Thing. The polar opposite of duct-tape programming if you will. A quote from the article: "to translate this program into C++ they literally had to write a Lisp interpreter [so basically a lisp-to-c++ compiler]". This is…
> What would make you pay to read this article?
I'd have to expect the article to be reasonably capable of surprising me with well researched, well formulated arguments that change how I think about the issue. I don't think a paper that provides such a promise exists.
Being in the position of not having read the article my only information on it is it's an opinion piece about education and it's in the WSJ.
So I don't expect it to be well researched, well formulated, or surprising. "Oh, well, it's an opinion" -well, look: opinions are cheap enough that excellent opinions on the subject, from very intelligent people, are just given away:
http://www.lambdassociates.org/blog/decline.htm
And I don't consider all opinions equal in the first place, there are various degrees of being informed, various degrees of bias.
I could write an opinion piece about how gutted I was to go to university and realise that by and large I'd already surpassed the curriculum in my own studies. How I went to university to be asked questions and go and find the answers, not to sit in a lecture hall listening to some toff read their powerpoint stack at us while we tried not to fall asleep. How even if you wanted to try something hard and new, (and could find something,) the fact is that university is competitive vs your other classmates, and if you try something hard and none of your classmates do - given that the courses will offer equal points (points only being given on time in the lectures and…
Hey Zack,
To put it simply, you rock. You know and understand programming a lot better than most people ever do in their lifetime. And to be honest, you are really better off than I am. Please don't underestimate yourself.
Being a script kiddie on Hacker News especially sucks. You see everybody bouncing around with their Phd’s in CS or engineering from Stanford or MIT talking about how there are so many people out there who are terrible programmers because they don’t know the difference between a linked list and a vector.
I know the feeling. It often gets at your nerves. But here's the thing, those people too were at some time in the past very much like you are right now. In fact, I know a lot of people who'd agree that it is really * what you do with your skills * that really matters.
The primary reason you feel like that is because, in essence, you are a hacker and not a computer scientist. Read pg's brilliant thoughts on this. (http://www.paulgraham.com/hp.html)
Confession: I have no idea what the difference is between a linked list and a vector. Well, before I wrote this I had no idea.
I didn't too. Big deal? :)
I looked it up so I know now in theory what the difference is.
See, that is the whole point of learning things. You always have to be ready to assimilate new things and look up the strange bits as you come across them. And you're doing a blimey good job at that.
I can glue things together as fast as the next guy.
An invaluable skill for two reasons:
-…
> What I find sad, though, is that most people who dislike CoffeeScript don’t truly know it. They haven’t taken the time to really learn it, or even try it. Their reactions are usually knee-jerk, or based on fallacies.
This sounds a bit like the bi-polar LISP programmer. Belief that he groks things much better than most programmers grok things? Check. Belief that most people are behaving irrationally? Check. Belief that it's foolish to make an obvious choice? Check.
http://www.lambdassociates.org/blog/bipolar.htm
JavaScript is now a moving target. It's what the examples for new "HTML5" features and libraries are written in. It's what an open source library should be written in if you want it to get traction, and to attract other developers. While it may be a good choice for quickly modifying code on a single project, it isn't as good of a choice for something to get great in as JavaScript is.
There's the saying that you need to know JavaScript in order to write CoffeeScript, but you really only need to be able to read JavaScript in order to write CoffeeScript. My guess is that a lot of developers who mostly write CoffeeScript would trip over simple things for a while if they tried switching to JavaScript. This might keep them from seizing opportunities for JavaScript developers such as contributing to an existing JavaScript project or an open source library that's implemented in JavaScript.
The article is based on an entirely false assumption about the nature of lisp culture:
“So, I can’t find any self-poking jokes about lisp. Self-deprecating Unix jokes, no problem. Jokes about frigging text editors, hilarious. But lisp has nothing but theological proselytizing.”
Richard Gabriel’s “The Rise of ‘Worse is Better,’”[1] while written from the perspective of a lisp lover, informs the “Why is lisp a failure?” question. Mark Tarver’s “The Bipolar Lisp Programmer”[2] is another essay the ruminates on the failures of lisp. And of course there’s the recently-posted-on-HN “How I lost my faith”[3].
I’m struck by how personally lispers take the weaknesses of lisp. In part because I feel the same way, which isn’t surprising given that I'm a lisper—bicycles saved my body, Scheme saved my soul—and have a problem with taking failure very personally.
In conclusion, I don’t think the author knows what he’s talking about.
[1]: http://www.jwz.org/doc/worse-is-better.html
[2]: http://www.lambdassociates.org/blog/bipolar.htm
[3]: http://groups.google.com/group/comp.lang.lisp/msg/6f75cfb5a289d3f6