Hacker News new | ask | show | jobs
by pdonis 2128 days ago
> Viaweb sold for a lot of money. But then it turned out that it was an unmaintainable mess that needed to be rewritten

I think that's because the code after the sale had to meet different requirements than the code before the sale.

Before the sale, the chief requirement, at least from what I gather from pg's essays, was fast implementation of new features. That was the secret weapon, and Lisp was a key enabler for it. The number of people touching the code was very small, so having the code be understandable by others was not a high priority.

After the sale, the chief requirement, I suspect, was maintainability while running at scale. The before-the-sale period had already sufficiently explored the feature space that fast implementation of new features was no longer a requirement, so the advantages of Lisp were no longer crucial. But having code that lots of people could understand and modify reliably was crucial.

So the code had to be rewritten after the sale. That doesn't mean the code before the sale was bad, just that it was tailored to different requirements.

1 comments

That's one way of looking at it. I tend to prefer the mountaineer's ethos when thinking about goals for grinding out a new application: Getting to the top doesn't count if you can't get safely back down again.
It's a bit different with pre-sale/aquisition than mountaineering, with enough money and therefore ability to hire talent it's not impossible to refactor/split the project or even rewrite as needed once the business value is established. Reddit did it, going from lisp to Python, as did Twitter with microservices, Facebook rewriting a PHP VM, etc.

Startups in your analogy are more akin to: "get to the mountain top and succeed and have the cash to hire a helicopter out of there, or you die (the company)".