Brian Carper wrote this response to my article. He describes a true-to-life situation where PHP is just more practical than Lisp. And the situation is more common than I like to admit. But it is common. And it dictates many of our choices as developers.
My question is this: how did PHP get so many libraries, get installed on so many computers, and attract so much developer attention in the first place? I’ve written about how abysmal Lisp is at helping the newbies. (Yes, I said it. And I’m not afraid to delete stupid comments about how it really is simple to install and get started with Lisp. You have been warned.)
There are some who agree with me. Dave Roberts responded to Brian’s post, and does much to elucidate the problem. To summarize: Lisp is marketing itself poorly. Lisp either needs to get competitive on the ease of use and productivity front, or lose programmers to other languages.
Dave also brings up another point, which is that there are two classes of complaints about Lisp. One is fundamental complaints about the language. These are about unchangeable things in the language. Like Common Lisp having dynamic typing. You can change how people feel about it, but the nature itself won’t change.
The second class are complaints about the Lisp reality. Are there libraries for what you want to do? How easy is it to install? What’s the learning curve? These can change. A complaint of this type is a call to change the reality.
I envision a world where Common Lisp is easy to install. Where up-to-date, fun tutorials guide the newbie through the world of Lisp. Where libraries abound for every purpose. And each has a website with forums for discussing its use, and good documentation. Where installing those libraries is as simple as calling their name. Where people cry out into the blogosphere that their favorite language must emulate the awesomeness of Lisp — and people envy the keyboards Lispers type on.
Lisp is a little behind on these fronts. But it doesn’t have to be. Lisp can be leading the way, much as it has always done in the past. We can show people what Lisp offers in terms of productivity by being incredibly productive. Let’s make the first impression of Lisp elegant, to highlight Lisp’s elegance. Let us mimic Lisp’s power in the forging of our own community — by melding flexibility, dynamism, and expressivity — into a force as yet unknown in all the internet.
The day will come when Lisp won’t be cast aside as a quaint relic of bygone days. On that day, Lisp will be seen as equal to the big languages. And it will learn from and share with them as peers. On that day, Lispers will say to PHP guys “Hey, I didn’t know PHP could do that. That’s pretty cool.” And the PHP guy will say “Wow. Parentheses aren’t so bad once you get used to them.” I hope to see that day.
