I'm interested in marketing. I don't know why. I guess I like the idea of engineering ideas. I particularly like Seth Godin. He explains things in a way that I like. It's simple and practical---as opposed to how a lot of marketing books are.
One of the things he harps on is the need for a compelling story. These days, people want an authentic message in which to believe. They need a way to fit the idea into their life.
Programming languages have stories, too. They influence your choice of language more than you might think. They are not necessarily organized marketing efforts. The stories are more of an amalgamation of context from the culture at large.
Let's take a look at a few stories.
Java: Java's story has changed a few times. It used to be "Java will let your toaster talk to your washing machine." That 90's idea of appliances having conversations (about what?) died, and in came the "applet". Blech! Now Java has a new story---something that people actually want.
Java tells a story about corporate support. About Object Orientation. About your apps running on any platform. About powerful tools. And a lot of university research is using Java now.
Ruby: Ruby's story is very simple: Ruby makes programming fun and neat. Elegance combined with readable syntax. Power through simplicity and powerful abstractions. You won't believe you ever programmed in anything else.
Perl: Perl tells the story of hacker culture. It's a story of rebellion against the tyranny of mainstream languages. A story of Unix glue. Of making easy things easy. Of short programs and fun hacking. Of staring in awe at what some other programmer wrote---and how incomprehensible it is that a person could have emitted code like that.
Python: Python's story is one of elegance, design, and power. Python's library is standardized and constantly growing. It comes with batteries included. It's readable and eminently clear. You'll be more productive.
C: C's story, whether there's anyone from the C camp is telling it or not, is one of standards. C is fast. Nobody faster. Except maybe ASM. But that's just silly. C is the standard for systems programming.
C++: C++'s story is that it's C with more power of abstraction and code reuse through object orientation.
Scheme: Scheme tells of minimalism, of elegance, and power. It's a good language for experimenting with programming languages.
Haskell: Haskell tells a tale of type systems. That typing is important. That typing is the program. And a clear separation of state change from purely functional elements.
Common Lisp: Common Lisp tells a long story. It weaves a complex story of power and expressivity. That it is--in some way--the mother language. That other languages learn from it. But why not come to the source? The story has a twist--that not only did Lisp do it first, but it will outlast the other languages. They are just fads. And parentheses are a good thing.
The Common Lisp story is sometimes seen as arrogant and stubborn. Hence the name "smug lisp weenie". But whether Lisp was the source is not the real issue. The issue is whether it's a compelling story. Does it speak to people's self-image and needs?
But Common Lisp's story is more complex than I can express here. All the stories are, of course.
I'd like to point out a few compelling pieces of the story:
Paul Graham's On Lisp tells a compelling story about how and why macros are so powerful. This is probably the best account of something Lispers have been trying to say for years.
Peter Siebel's Practical Common Lisp turns the idea that Lisp is academic and impractical on its head. It presents Common Lisp as an ultimately practical language---more practical than many, in fact. It gives a good argument (in code even!) for why Lisp doesn't need so many libraries---they are easily coded up from scratch.
Kent Pitman's Answers on Slashdot (and here) explain very cogently what and why Lisp is. His story is implicit: that Lisp's benefits can be explained and that not all Lispers are weenies.
There are probably many more great stories out there.
I'd like to point out one that I recently came across. I was impressed by the story told by newLisp. Check out their logo:
.