Hacker News new | past | comments | ask | show | jobs | submit login

Peter Schaeffer,

I have used Python, Java, JavaScript, PHP, and C/C++ quite a bit. What follows are my thoughts.

1. There is a general trend towards high-level interpretive languages (Python, JavaScript, PHP, Perl, etc.), and away from compiled languages (Java, C/C++, etc.). The key driver has been and remains the declining cost of hardware. Basically programmers can get a lot more work done, in less time, using interpretive languages. Of course, interpretive languages are massively slower than compiled languages. However, they doesn’t always matter a lot. Say a program would take 4 hours to write in C++, but only one hour in Python. If the Python program runs for 10 seconds on a PC, does it really matter that the C++ program would run in less than one second? Basically, cheap hardware make programmer productivity, the key issue, which favors interpretive languages.

2. These days JavaScript is actually a very good, very powerful language. Perhaps better than Python even. However, JavaScript only really works in a browser. Yes, you can use node.js. However, in my experience node.js is painful at best. For better or worse, the link between the browser and JavaScript remains firmly intact. The reverse is also true, running Python in a browser is painful at best.

3. PHP is also a rather good language these days. However, it tends to be viewed as a website tool and not as a general purpose programming language. That might not be fair, but appears to be true. PHP also suffers from a few quirks (all those dollar signs).

4. The Python 2->3 transition was hard for many folks (not me, I started with Python 3). However, it is mostly over by now. The transition did bring one rather large benefit. Python 3 fully supports Unicode. The same can not be said for a rather long list of languages.

5. As the author pointed out, Ruby has always been handicapped by its origins in Japan. That may not be fair. However, it still appears to be true.

6. Perl is just a relic from the past. Essentially nobody takes it seriously these days.

What this amounts to is that Python is the “last man standing”. Hence, the rising popularity of Python (outside of the browser).

Hello Peter, Gregory (author) here, thank you for your comment! I agree with all your points, especially the first one - I think there's no way to reverse this trend. Lower level languages will always have some share of the market, but it will shrink over time.

What I'm not sure about is why other languages did not leverage the issue with Python's migration - because that migration took really a decade, during which time Ruby became very popular thanks to Rails, and JavaScript evolved to a really solid language. Yet neither of them became popular outside of webdev. It seems that a lot of people were really attached to Python and decided that it was more beneficial to stay as long as possible on Python 2.7 and later migrate than to pick another language.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact