Live data from Hacker News

Reddit 1.0 was written in Lisp

github.com

91–100 of 143 posts

Re: Reddit 1.0 was written in Lisp

#92

Earlier quoted context omitted.

That seems reasonable to me, even today. Am I off-base?

Incredibly reasonable. People love to trash on the performance of Python and JS saying that they're totally unsuitable for backend services with non-trivial amounts of traffic when they're usually the most cost effective solution for a business. These higher level languages are easier to hire for, much easier to prototype, allow for faster iteration, allow for substantially faster on-ramp time, and are fast enough to…

I have had the opposite experience with every python team I have interacted with.

On top of it being slow and brittle, dependencies break, needlessly destabilizing stuff.

Worse, the python team ends up having the hardest job, due to self-inflicted problems, so it either ends up with junior devs that don’t know better, or bitter senior devs that could be 10x more productive doing something else.

As always, it varies from company to company, but this is what I saw on four teams out of four at multiple companies.

Re: Reddit 1.0 was written in Lisp

#93
post #12

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?

Yes. The best decision they made was to flatter a billionaire’s ego. Then Reddit largely succeeded despite them.

Re: Reddit 1.0 was written in Lisp

#94
post #92

Earlier quoted context omitted.

Incredibly reasonable. People love to trash on the performance of Python and JS saying that they're totally unsuitable for backend services with non-trivial amounts of traffic when they're usually the most cost effective solution for a business. These higher level languages are easier to hire for, much easier to prototype, allow for faster iteration, allow for substantially faster on-ramp time, and are fast enough to…

I have had the opposite experience with every python team I have interacted with. On top of it being slow and brittle, dependencies break, needlessly destabilizing stuff. Worse, the python team ends up having the hardest job, due to self-inflicted problems, so it either ends up with junior devs that don’t know better, or bitter senior devs that could be 10x more productive doing something else. As always, it varies f…

> dependencies break

You can abuse dependencies in every language. This doesn't sound like a Python problem but a bad tech management problem (i.e. who signed off on allowing 'randomguy69/left-pad' as a dependency).

Re: Reddit 1.0 was written in Lisp

#95
post #12

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'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.

Re: Reddit 1.0 was written in Lisp

#96
post #34

Earlier quoted context omitted.

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…

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/G…

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.

So not really cause it was a lisp

Re: Reddit 1.0 was written in Lisp

#97
post #57
post #47

Earlier quoted context omitted.

What you’re saying is only partially correct - Yes, for more exploratory programming for a new product with full US/EU/CANZUK based dev workforce it makes sense to prioritize maintainability. For a company complaining about infrastructure costs for a product that has been cloned many times over, and which is large enough to hire offshore devs, the cost equation favours rewriting in something like Go, Rust or even Jav…

Using a language with a faster runtime makes the system run faster. But it does not compound. So you are limited to a ceiling at about an order of magnitude faster execution. Making better decisions on a daily basis compounds. You evolve towards a better architecture. Which can make the code multiple orders of magnitude faster. One of many examples: In a complex system, developers often have a blurry vision of what c…

This doesn't sound like argument in favor of Python, though. In my experience, Python code quickly reaches the level of an impenetrable word salad, at which point all the compounding stops.

Re: Reddit 1.0 was written in Lisp

#98

Earlier quoted context omitted.

This depends on your editor color settings though. C++ can look very handsome

C++ looks very handsome. Usually someone will pop up showing crazy meta programming template code and use it a straw man to declare cpp=bad.

Which is why elegance argument would've favored staying with Lisp - not only it looks elegant, but also you can do all the "crazy metaprogramming" without the crazy, but rather in straightforward and elegant code.

And I say that as someone doing C++ for a living, and occasionally engaging in said crazy template metaprogramming stuff. Occasionally, because people tend to frown at it during code review; apparently, metaprogramming is reserved only to library authors...

Re: Reddit 1.0 was written in Lisp

#99

The current reddit seems to be written in js/python. I can see the logic behind js since its a lot easier to find devs and thanks to all the hard work of the engineers behind v8 its not a slow language. I do not understand why python was chosen though. If you need more speed you would go with c++ and not python which is the slowest popular language. Anyone got any insight into why python was chosen?.

Do you actually think CPU usage is a concern here? Database performance and optimization, horizontal scaling, cache optimization (and cache invalidation) are the big problems. Security is also a big problem. The performance critical part is the database, and that at least used to be written in Java (cassandra db). Writing the bit of glue code between your high performance database and your fronted in cpp would introd…

We're not talking about 10% factors, but 10x factors between slow and fast languages. People say CPU usage doesn't matter when you're horizontally scaling, but horizontal scaling increases your ongoing operational costs, and you often are horizontally scaling precisely because your code is too slow.

Re: Reddit 1.0 was written in Lisp

#100
post #41

Earlier quoted context omitted.

Python was released in 1991.

And Ruby in 1995, but it wasn't before 2005 (and Rails) that it reached traction. In 2007, albeit 16 years old, Python was still far from mainstream, especially out of its scripting niche.

I'd used python on 3 commercial apps by 2007. One for Boeing, one for the navy one for an insurance company. Ruby was a little different. Ruby without rails had no real standards for making big apps. And I'm not sure when gems was made at rails con by Seattle ruby. Rails was for a long time a mega library for ruby... Ruby was missing a ton of features without rails. Similar but worse than a node web app versus working in a react app. No hot reload, no lib directory, many other features.
Post reply on HN