So I've read that they wrote it in Lisp at Paul Graham's request or to win favor. Does anyone know if writing your startup code in Lisp still has that benefit?
It never had any particular benefit to write your startup code in Lisp.
That myth came from a few posts by a person who was a huge proponent of Lisp, in an era were web (front and backend) development was much easier, and web-related libraries were lacking in all languages (so it wasn't like Lisp's smaller popularity would hurt you there).
It's an example of one.
If they didn't get lucky and Yahoo! bought some other company in the same domain in their place (they already have a few competitors) the whole "Lisp as a secret weapon" would be moot.
Statistically speaking, 99.9% of succesful startups were written not in any Lisp, and 0.1% of them in Lisp. Not the biggest 0.1% either, more towards the bottom, in the context of web company deals during the ramp up to the dot-com bust. Viaweb was sold for $50 million. For context, Yahoo! bought Broadcast.com a year later for 5 billion and doc.com startups of the era routinely raising and burning $50-$100 million for fun - heck, Razorfish (a design consultancy) built websites for clients like Levis, Sony, Mercedes Benz, etc. for $20-$40 million (and that's late-90s era websites, nothing especially fancy).
Of course all that's irrelevant to whether Viaweb was written in Lisp. Which is my point, exactly. What's more, Yahoo! even scrapped all their Lisp code soon after.
Now, writing your startup code in a productive language, that doesn't slow down the development team, allows for easy+quality hires, and so on - even if it's not the best for when you get huge, is a benefit. That hardly requires Lisp.
> Statistically speaking, 99.9% of succesful startups were written not in any Lisp, and 0.1% of them in Lisp.
I think the point that PG was making wasn't that P(lisp|success) > P(blub|success) is what's key but that P(success|lisp) > P(success|blub)
> What's more, Yahoo! even scrapped all their Lisp code soon after.
I'm hardly a PG fanboy, but I have to say this is exactly what's expected in PG's original post on the subject[0]. It's precisely because big companies will only stick to blub languages that Lisp becomes an advantage for a startup.
The point of "Beating the Averages" isn't that you must use Lisp but that small groups of elite hackers can use more powerful tools than larger organizations can't get away with because they generally have lower skilled, only comfortable with blub, programmers.
The reason we don't see many startups following this advice now isn't because it's wrong (necessarily), but because since that essay was written, the vast majority of the startup ecosystem has come to resemble large companies. We've had a pipeline churning out devs for many years now. The ones that are great at leetcode and playing the game go to FAANG, the ones that aren't go to startups. It's not even about where the higher skilled devs are because that hasn't played a factor in most companies success in a long time.
With rare exceptions, startups are no longer created by brilliant hackers looking to change how things are, but by business minded people looking to take advantage of the easy VC money in the last decade. Interviewing at startups used to be exciting, now the vast majority feel like they're run by people who couldn't manage to get a director role at a FAANG.
I think the real reason startups are using blub is something else entirely, tooling. The reason lisp was cool in the early days were because it allows you to easily build abstractions to improve productivity, but these days any language comes with a decent web framework. You also get fancy IDE's and language servers and SDK's from your cloud provider. The productivity a large ecosystem gives you IMO is much larger than what a language can provide.
>I think the point that PG was making wasn't that P(lisp|success) > P(blub|success) is what's key but that P(success|lisp) > P(success|blub)
Perhaps, but that was handwaving from an example of one.
Would Lisp startups dominate if more people did Lisp startups?
I seriously doubt so, but in any case, the examples we see are people not doing Lisp startups and succeeding just fine - with the language used hardly being a serious factor (compared to timing, feature set, user adoption, VC interest, and mere dumb luck).
>Interviewing at startups used to be exciting, now the vast majority feel like they're run by people who couldn't manage to get a director role at a FAANG.
> We've had a pipeline churning out devs for many years now. The ones that are great at leetcode and playing the game go to FAANG, the ones that aren't go to startups.
What about companies with a technology department that aren’t FAANG or a startup? Isn’t that where most devs go?
I think that difference is that now every mainstream programming language is so good that there is not that much difference outside very specific niches. That was not case in 2003.
Lisp-vs-mainstream was just a very different comparison in the 90s versus now. Most of Lisp's advantages have been incorporated into its big competitors. At the time the advantages were nothing to sneer at, even though there were counterpoints then too.
As someone who’s been involved in both, it’s not like the language you pick doesn’t make a difference, but I’d say that there are other factors that vastly overshadow it.
For example, one thing we were told when choosing to write in a lisp was that we’d have problems finding developers. It turned out to be true in that we received fewer applications, but compared to the same process with a more mainstream language, I’d say the applicants were on average of higher quality. So by the final step, we were approximately considering the same number of résumés in both cases.
But in the end, the language is not what has made the biggest impact. It’s been other, more universally applicable things, such as team dynamics and communication, clarity of vision and consistency in execution, process and planning, and a ton of other things where the particular language is not a factor.
Many of the most famous "done in Lisp" products I know of have the delightful feature that it's not Lisp itself that provides a solution that other languages can't. Rather:
1) Developers who like Lisp tend to be really smart, well-read, and well-educated.
2) Lisp streamlines these developers' thought processes, allowing them to get more done with less, fast.
For example, the early Naughty Dog games written in GOOL/GOAL take clever advantage of asset data to produce effects close to the very edge of what the PlayStation/PlayStation 2 can do. No feature in these Lisp languages made this possible where C or C++ could not, but working in Lisp enabled the developers to iterate quickly, experiment, and arrive at interesting innovative solutions within the required time frame.
I'm sure the commenter above has seen this but for anyone who hasn't: Andy Gavin talking about pushing the envelope of the Playstation for Crash Bandicoot.
> No feature in these Lisp languages made this possible where C or C++ could not, but working in Lisp enabled the developers to iterate quickly, experiment, and arrive at interesting innovative solutions within the required time frame.
You just described key Lisp features that aren't in C++. It's almost the entire point of using Lisp.
I worked at a game studio who used a lisp like that had morphed into a pythonic c with parens instead of curleys.
I asked the dev who made the engine why lisp.
"I had a month to build a new scripting engine. Lisp is the easiest to implement in c/c++ or in assembly and I had done it in college. So I made a compiler /emulator in like a week. If I had more time I would have made a dumbed down python with parallelism"
The parallelism was cool because you could have multiple conditions running at once like 5 ai walking 5 simple action loops until one of 3 conditioned collapsed them all into attack mode. Easy to model as threads with joins in this language. Could have been done with other languages but harder to do the memory management.
> For example, one thing we were told when choosing to write in a lisp was that we’d have problems finding developers. It turned out to be true in that we received fewer applications, but compared to the same process with a more mainstream language, I’d say the applicants were on average of higher quality. So by the final step, we were approximately considering the same number of résumés in both cases.
I can echo this statement with Rust. Same story. Our comparison was Python to Rust. Same app. Big leap, i know.
I think requiring your startup in lisp also keeps the type of engineers away you don’t want.
In all of my career, it’s not those who know who have been good. It’s those who know how to learn new things fast that are good. It’s people who problem solve that make good engineers.
In the inverse. If somebody has a negative reaction to lisp, it’s a sign of a poor engineer.
Thanks for the insight. I've had a similar experience with using Haskell. It is a smaller pool of developers, but they tend to be higher quality on average.
It's probably not the way you're making it sound. This was in the early early days of YC, when there were like eight companies per batch, and at the peak of PG's influence as an online essayist. He wrote a lot about the benefits of Lisp and how Lisp was a competitive advantage for Viaweb. So it was probably less a case of trying to win favor with a seed investor and more a case of actually being convinced it was a good business decision.
Arguably the value of Lisps has been diminished quite a lot with the advent of highly dynamic "multi-paradigm" scripting languages like Ruby and Python. The "Lisp superpower" has traditionally been that small, tightly coupled groups (quite often n=1, the most tightly coupled group) can achieve a lot very quickly without wasting a lot of time on "boilerplate". Those scripting languages enable largely the same thing.
That myth came from a few posts by a person who was a huge proponent of Lisp, in an era were web (front and backend) development was much easier, and web-related libraries were lacking in all languages (so it wasn't like Lisp's smaller popularity would hurt you there).
It's an example of one.
If they didn't get lucky and Yahoo! bought some other company in the same domain in their place (they already have a few competitors) the whole "Lisp as a secret weapon" would be moot.
Statistically speaking, 99.9% of succesful startups were written not in any Lisp, and 0.1% of them in Lisp. Not the biggest 0.1% either, more towards the bottom, in the context of web company deals during the ramp up to the dot-com bust. Viaweb was sold for $50 million. For context, Yahoo! bought Broadcast.com a year later for 5 billion and doc.com startups of the era routinely raising and burning $50-$100 million for fun - heck, Razorfish (a design consultancy) built websites for clients like Levis, Sony, Mercedes Benz, etc. for $20-$40 million (and that's late-90s era websites, nothing especially fancy).
Of course all that's irrelevant to whether Viaweb was written in Lisp. Which is my point, exactly. What's more, Yahoo! even scrapped all their Lisp code soon after.
Now, writing your startup code in a productive language, that doesn't slow down the development team, allows for easy+quality hires, and so on - even if it's not the best for when you get huge, is a benefit. That hardly requires Lisp.