about img
blogger img

buchos posts img

scotts posts image

UnderPaidLoveMonkis posts img

Corys posts image


Is Lisp for Entrepreneurs?

Scott Rippee @ 11:10 pm January 20th, 2006

If your even slightly in the know about the programming language Lisp and its past “real world” endeavors you know about Viaweb, Orbitz, Naughty Dog, and most recienty reddit.com. Bill Clementson posts, Lisp is for Entrepreneurs, brings up some excellent points for using Lisp in a start up and how it seems like it is beneficial:

Paul Graham’s reasons for using lisp:

“Our hypothesis was that if we wrote our software in Lisp, we’d be able to get features done faster than our competitors, and also to do things in our software that they couldn’t do. And because Lisp was so high-level, we wouldn’t need a big development team, so our costs would be lower. If this were so, we could offer a better product for less money, and still make a profit. We would end up getting all the users, and our competitors would get none, and eventually go out of business.”

And he was right. He made his web application faster, more efficiently, and with less cost than his competitors, but where the real money came from was selling it to Yahoo. That was Pauul Graham’s goal, to make it the best so he could sell it for a lot of mula.

Naughty Dog was tearing it up making games for PS2 as Clementson says:

They developed a custom DSL using Lisp to create some of their most famous games. The company’s co-founder, Andy Gavin, “used Allegro CL to create a programming language called “GOAL” (Game Oriented Assembly Lisp), which he designed specifically for the development of Naughty Dog’s games. Using this custom dialect whose compiler and development environment was written in Allegro CL, he and his team were able to produce hundreds of different game objects with sophisticated real-time behavior and animation, and more realistic graphics. “The behaviors are faster to develop, and more compact than an equivalent C program, allowing for rapid prototyping and experimentation.”"

Thats pretty cool and interesting especially since it was commonly thought that Naughty Dog spent so much time developing GOAL and the rest of their Lisp framework that they weren’t going to get to developing the games. But they did get to developing the games and were doing it better than their competition. Everyone can turn their heads and think wow maybe there is something to this Lisp thing. Sony sure thought so and bought Naughty Dog Productions.

So both of these got bought up and both of them end up getting rewritten. No longer in Lisp!

Viaweb:

“(a) The reason they rewrote it was entirely that the current engineers didn’t understand Lisp and were too afraid to learn it.
(b) The resulting program is a new world’s record case of Greenspun’s Tenth Rule. The Yahoo Store Editor called compile at runtime on s-expressions made on the fly. To translate this into C++ they literally had to write a Lisp interpreter.
(c) Even then, they had to drop some features (involving advanced uses of closures).”

Naughty Dog’s tools and API:

“In all honesty, the biggest reason we’re not using GOAL for next-gen development is because we’re now part of Sony. I can only imagine Sony’s shock when they purchased Naughty Dog a few years back, hoping to be able to leverage some of our technology across other Sony studios, and then realized that there was no way anyone else would be able to use any of our codebase. :)”

“Sony wants us to be able to share code with other studios, and this works both ways - both other studios using our code and vice versa. Add this to the difficulty curve of learning a new language for new hires, lack of support from external development tools (we had our own compiler, linker, and debugger, and pretty much had to use Emacs as our IDE), etc, means that there are clearly a lot of other factors involved. Note, however, that these issues aren’t really technical problems, they’re social ones.”

So, Yahoo acquires Viaweb and rewrites it. The end result is inferior to the original Lisp-based product. Sony acquires Naughty Dog and decides to eliminate the Lisp-based development infrastructure. The end result is an inferior game development environment. Sure, there were probably a lot of reasons for these decisions by Yahoo and Sony (probably none of which had anything to do with productivity or technical excellence - large companies have other drivers which have more importance than these two); however, the end result for both companies has been something inferior to what they originally acquired.

But, for both Paul Graham and Naughty Dog, the use of Lisp allowed them to develop products that pushed them to the front of the pack. They were subsequently bought out; however, the fact that their Lisp tools were subsequently discarded does not throw a negative shadow on Lisp. Lisp got them to where they needed to be to succeed - definitely a quality that entrepreneurs want in a programming language!

These are some good points, but I have a different take on using Lisp for a startup. After these popular cases of Lisp startups being bought out by huge companies, if your goal is to be bought out as Paul Graham’s goal was with Via Web, you might want to consider that a company would be less willinng to aquire you if you are using Lisp. The idea that it seems to be social rather than technological that Yahoo! and Sony switched to other languages doesn’t matter as much as the simple fact that they did make the switch and since the company might not be able to leverage from the good qualities that were gained from their purchace, because the advantage was from using Lisp and the rest of their corporation is using C++ or whatever, the Lisp startup may look less and less attractive to prospective buyers.

It seem like with current trends in web app developement if I had to pick a programming language that would make a startup look more desirable for a future buyout I would have to consider Python or Ruby on Rails before considering Lisp especially with how popular these languages have become in large software companies. Also, information like reddit.com’s reasons for switching from Lisp to Python are also very important for people who are considering what language to use and I think that reddit’s reasons were taken in a constructive manner in the Lisp comunity, at least in the end.

2 Responses to “Is Lisp for Entrepreneurs?”

  1. Stefan Scholl Says:

    Developing a web app on a different system (compiler, OS, etc.) than the one it will be deployed to isn’t very smart if it’s the core application of your own business and you don’t want to sell the software itself to users of different OSs.

    So the reddit.com’s reason aren’t really valid.

  2. Dinuncio Says:

    If I understand correctly, the argument is “If you are entrepreneur don’t use Lisp, because it can make run away your possible buyers”. That sounds good, but before make run a possible buyer you have to find it. And if you use the same technology as anybody else, you have no advantage to make a better, more configurable, easily changeable product.

    So, if it is true -and I’m not saying so- that lisp allows you to develop faster, with less people, and you can adapt your app easily, there are more chances for: (a) making a sucessfull product, and (b) Someone be interested in to buy it.

    BTW, I thik Paul Graham said somewere that ViaWeb was making good money before it was sold to Yahoo. Yahoo simply made an offer they just can’t reject.

Leave a Reply

Subscribe without commenting