Beating The Averages

An interesting article by PaulGraham. He describes how using CommonLisp was central to the success of the company he founded. "Back when I was writing books about Lisp, I used to wish everyone understood it. But when we started Viaweb I found that changed: I wanted everyone to understand Lisp except our competitors."

http://www.paulgraham.com/paulgraham/avg.html

Contrast with WhyWeHateLisp which gets past the parenthesis thing but doesn't even touch this subject.

Yes. An interesting piece, which we'll give to our next VentureCapitalist which won't give us funding because Lisp is too weird. (No -- this happened -- I'm not making it up). -- AlainPicard


As a RelationalWeenie, I find it curious that he bashes databases, at least Oracle. However, his e-store application didn't really need a database because each store is pretty much independent from each other and each store is usually relatively small. I have not seen any that have more than about 200 products, and the majority with just a dozen or so products. (You won't find Sears or Walmart using such a system). I wonder how many other applications he has worked on besides e-stores? It is possible Paul is painting everything through the eyes of just one successful application. In other words, his opinions about databases might be biased by too few samples.

{Discussion should perhaps somehow be merged with related material under PaulGraham. Or, perhaps a new topic.}

Databases shine where there are numerous complex queries (though I find SQL extremely ugly). Many applications execute only a few simple queries, and these are best implemented as a record of hashtables of records; possible stored in files, as LibDb? does. Less overhead, simpler interface, no DBA needed, no $$$ for Larry.


For an index of articles by PaulGraham, see http://www.paulgraham.com/paulgraham/ind.html.


Like many of PaulGraham's articles, this is an interesting read, but I wonder about the business strategy. How is Viaweb doing these days? It is rare for business success to be the result of technical superiority.

On Paul Graham's site he says how we used Lisp to write Viaweb Store, which is still, as Yahoo! Store, the most popular e-commerce software, running about 20,000 stores (dated Apr 2003). It is now Dec 2003 and Yahoo! Store seems to be doing fine. --DougMerritt

As I understand it, he sold Viaweb to Yahoo! for $40 million. --PeterSeibel

I seem to recall talk about how Yahoo! then tried and emphatically failed to rewrite Yahoo! Store in C++; a major case of Greenspun's Tenth Rule in action. I don't have sources at hand right now, but I think this has been discussed in depth (including comments by PaulGraham himself) on either news:comp.lang.lisp or the ll1 mailing list.

Thanks, I didn't know. Here's what I found (on ll1):

Paul Graham said Yahoo! Stores relaunched in C++ in Jan 2003.
  • current engineers didn't understand Lisp and were too afraid to learn it.
  • they literally had to write a Lisp interpreter for dynamically created funcs
  • Even then, they had to drop some features (involving advanced uses of closures).

Michael Vanier :
We have engineers that are afraid to learn lisp, but are not afraid to use a mock-lisp interpreter written in C++. I'm not sure whether to laugh or to cry. "do you know for sure that that was the reason? "

Paul Graham:
I believe the pointy-headed bosses were the driving force in the port. When I worked at Yahoo, management were nervous about the software being written in Lisp because they thought it would be hard to find programmers who knew it. Not so much that they couldn't find any, I think, but that because it was a comparatively rare skill, management would have less leverage over the hackers. When skills are not a commodity, employees aren't hot-swappable.

[...Later Graham post...]
Within a big company like Yahoo, they could easily have several people who understood the code, even in Lisp if they wanted to. It's not as if there are no Lisp hackers in the Bay Area...
--DougMerritt (who is merely an interested onlooker)


See BlubParadox


EditText of this page (last edited August 28, 2005) or FindPage with title or text search