Live data from Hacker News

The Python Paradox (2004)

paulgraham.com

41–50 of 275 posts

Re: The Python Paradox (2004)

#41
Yeah it is dated. Python got hyped and now people learn it because data science hires python people, and data science pays well, not because they care.

Re: The Python Paradox (2004)

#42
> ...along with Ruby (and Icon, and Joy, and J, and Lisp, and Smalltalk) the fact that [Python and Perl are] created by, and used by, people who really care about programming.

The distinction Python has (wrt to the rest of this list) is that it is a language created by someone who really cares about systems programming, descended from a language (ABC) created by people who really cared about programming theory.

(that said, my vote for the mechanism of python's current popularity is: time and chance)

Re: The Python Paradox (2004)

#43

It was right then, but it's kind of dated and misses an evolutionary lesson: beautiful code isn't enough, it has to be safe, beautiful, maintainable, productive, understandable, and resource efficient. Ruby is still great for throwing something together fast and maintaining it until it runs into scale problems. It added gradual typing with sorbet and RBS. Crystal is a neat typed, compiled Ruby-alike but it's buggy. R…

> Haskell and Idris are beautiful and powerful, but inaccessible to most software engineers.

I don't see any fundamental reason why that should be the case. It seems to me that while it's true that most engineers would have a hard time navigating these languages today, it's mostly due to socio-historical accident. It's not because the languages are particularly difficult or arcane, it's mainly because people don't already know it, and people don't like to learn to do things differently: their experience stands in the way.

Re: The Python Paradox (2004)

#44
Typed python is extremely ugly and frustrating. Does anyone have any good advice on doing it well? It seems like every library has their own system and doing any kind of casting just to make the linter be quiet is such a chore.

Re: The Python Paradox (2004)

#45
I remember to having read this post back in 2004, in a state of transitioning my main language to the esoteric hacker language python, since I did not like java or perl at all. The argument in the article resonated with me and enforced my believe that python is the right choice. Looking back it was a great decision, still using python as my main language and it is still going very strong.

Re: The Python Paradox (2004)

#48
Funny how Python is considered esoteric by author when Python is amongst the oldest of languages in widespread use then (2004).

- C++ 1985

- Perl 1987

- Visual Basic 1991

- Python 1991

- JavaScript 1995

- Ruby 1995

- Java 1995

- PHP 1995

- C# 2000

Back in 2004, despite how small Python was - it was still in the top 10, just past Delphi. - Java dominated, followed by PHP.

Re: The Python Paradox (2004)

#49
post #14

Python is a glue language. If you want to be hardcore you write something in rust (or whatever) with python bindings...

Counterpoint: wanting to be hardcore is probably not a good reason to do something.

If you want to learn rust/go/nim/haskell/whatever do that, and that is probably going to be worthwhile. Do it to learn more about programming, gain fresh perspective, pick up new skills, broaden your mind, any number of reasons. But don't do it to "be hardcore".

Re: The Python Paradox (2004)

#50
In my experience, programmers obsessed with unconventional programming languages are exactly the ones that prioritize (over) engineering over simply shipping things. If you think, writing your codebase in a funky functional language would bear fruits in the long turn, you're in for a surprise. The road is full of pitfalls. Here are a few I outlined in my essay[1]:

1. Hiring is harder: "When it comes to hiring people, it’s true that programmers versed with functional programming would be, on average, better than those who aren’t. However, the hiring pool itself would shrink massively. Learning a language is an investment, and not many people are using their spare time to learn a new one. As I have seen it happen, demanding functional experience soon becomes an unreasonable expectation."

2. Less resources: What's the point of choosing an esoteric langauge and having to build nearly everything from scratch. You're basically throwing away years of experience that a vibrant community provides.

3. Hackers use languages they know: I am nearing 30, and having seen rise and fall of many tech trends, I want to play my cards right. Why should I waste my energy on learning a new language, especially when it can fade into obscurity and the output is going to be the same anyway? MeteorJS[2] was supposed to revolutionize front-end programming, who is talking about it now?

Facebook was written in PHP. Mark used one language he knew and a $300B company was built on top of it. While a company I worked at that prided itself on being written in Clojure, slowly felt behind the competition and barely managed to get acquired (at a deep discount to what they raised funding at). Trust me, your time is better spent shipping, and learning internals of how things work.

[1]: https://shubhamjain.co/2018/12/01/why-paul-graham-wrong/

[2]: https://www.meteor.com/

Post reply on HN