Hacker News new | ask | show | jobs
by winrid 1105 days ago
It was chosen because at the time because python was much more mature and productive. They didnt use Django, but as an example Django is still more productive than any Node framework I've tried thus far, too, and we have types now. :)
3 comments

There's a post explaining exactly why they moved from CL to Python, and it was basically because of library availability.

https://web.archive.org/web/20060206185841/http://reddit.com...

Why they moved away from CL:

"If Lisp is so great, why did we stop using it? One of the biggest issues was the lack of widely used and tested libraries. Sure, there is a CL library for basically any task, but there is rarely more than one, and often the libraries are not widely used or well documented. Since we're building a site largely by standing on the shoulders of others, this made things a little tougher. There just aren't as many shoulders on which to stand."

And why Python was chosen:

"So why Python?

We were already familiar with Python. It's fast, development in Python is fast, and the code is clear. In most cases, the Lisp code translated very easily into Python. Lots of people have written web applications in Python, and there's plenty of code from which to learn. It's been fun so far, so we'll see where it takes us."

So, basically, they were happy with CL except for lack of libraries, and because they also knew Python already, and they knew there were more libraries for Python, they picked it. Simple as that.

NodeJS didn't even exist when Reddit started using Python, as far as I can tell.

Initial release of NodeJS was May 27, 2009; 14 years ago.

Swartz was involved in the development of Reddit until he departed from the company in 2007.

And we know that parts of the Python code for Reddit was written by Swartz.

Wow, that sounds so early to adopt Python!
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.
That doesn’t match my recollection. I’m not sure how to prove anything, but I’ll note that Python 3.0 was released in 2008. If Python 2 wasn’t already extremely popular and well-established at that point, I doubt we’d have seen the brutal 10+ish year migration from it.
It depends how you define "mainstream".

Python was definitely around, had a very strong community, and a number of very significant programs written in it. (Among them: the first versions of BitTorrent and Google.) However, if you were a random dev applying for a random job, you would most likely have to work in C++, Java, or C#. It was relatively difficult getting a job where you would write the majority of your code in Python. Certainly they existed, and many jobs would have you write small one-off scripts in Python, but the actual core product would usually be one of Java/C#/C++.

Remember that in 2009, Google had 20K employees while IBM (which was a major booster of Java) had 400K. And at Google, Python wasn't really allowed for major projects (Search had been rewritten from Python to C++ when it got big in 2000), so you'd be using Java or C++ anyway. Data science wasn't really a thing, and if you did machine learning you used frameworks like Weka or home-grown stuff.

> I’m not sure how to prove anything, but I’ll note that Python 3.0 was released in 2008. If Python 2 wasn’t already extremely popular and well-established at that point, I doubt we’d have seen the brutal 10+ish year migration from it.

This is about the “scripting niche” I was talking about: in 2008 every Linux distro included Python and lots of build scripts were written in Python 2, but Python for the back-end was really rare back then.

That's not true. We were using Python 1.5.2 at a well-funded startup I was at from 2000-2007. We were an early cloud provider and maybe 1/3rd of our customers were using Python. This was in the 3-tier stack days and Zope was fairly popular for the application server.

The internal tooling we built was mostly in Python.

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.
Aaron Swartz replaced the Lisp with web.py
Yes, web.py was his baby. He also had some markdown parser stuff.

Baby boomers always tell me about seeing The Doors live in dive bar in NYC. I can say I used Reddit when it was written in Lisp. :-)

Back then to us smaller forums goers, Reddit was the new kid in the playground that we didn't like because somehow he was viewed as "cooler" than the other kids.

Even years after, when I had stopped posting on those PHP powered smaller forums I resisted creating a reddit account just because it was "reddit".

I would say, the smaller forums sites were a more tightly knitted group that I attended several meetups with. Reddit just never felt the same.