Live data from Hacker News

The Python Paradox (2004)

paulgraham.com

161–170 of 275 posts

Re: The Python Paradox (2004)

#161
post #158
post #157

Earlier quoted context omitted.

Right, but I think any language that is "complete" is either dead, dying, or headed for a tiny niche (or already in a tiny niche). Can you think of any counterexamples?

The vast majority of languages are dead, dying or headed for a tiny niche. How many languages can you name that aren't? There can only be at most 3 languages with more than 25% market share. Even Python is likely to die; in time. Most things do. Something will have to change first, at the moment it is doing great.

You seem to be arguing against something I didn't say. All I'm saying is that change is a sign of life, and that non-change is a sign of the opposite.

Re: The Python Paradox (2004)

#162
post #157

Earlier quoted context omitted.

Right, but I think any language that is "complete" is either dead, dying, or headed for a tiny niche (or already in a tiny niche). Can you think of any counterexamples?

C.

C is changing (C99, C11, C17, C2x). It is also increasingly relegated to niches like embedded and systems, though there's still a lot of other use.

Re: The Python Paradox (2004)

#163
post #152
post #143

Earlier quoted context omitted.

Industries change, needs change, new possibilities emerge. A language that doesn't change is probably either dead, dying, or headed for a tiny niche. Python changes a lot because lots of people use it and have needs and desires for it. Clojure is used very little, so doesn't have the same kind of demand for improvement or community to do it (I don't for a moment believe it couldn't be improved).

"A language that doesn't change is probably either dead, dying, or headed for a tiny niche" Or complete. Eternal change is not a value in itself.

Nothing is ever truly complete. Especially mediums of communication and construction, such as a programming language.

Re: The Python Paradox (2004)

#164
post #161
post #158

Earlier quoted context omitted.

The vast majority of languages are dead, dying or headed for a tiny niche. How many languages can you name that aren't? There can only be at most 3 languages with more than 25% market share. Even Python is likely to die; in time. Most things do. Something will have to change first, at the moment it is doing great.

You seem to be arguing against something I didn't say. All I'm saying is that change is a sign of life, and that non-change is a sign of the opposite.

Go ye unto your tool shed, examine your spanner for signs of life, and you will have the possibility of gaining enlightenment - for you are correct in your argument.

Re: The Python Paradox (2004)

#165
post #65

Earlier quoted context omitted.

FWIW I've had opposite experiences. :shrug: Each team is different, I guess :)

Teams that focus on hard to understand languages care about communication more? I - er.. okay.

I have seen teams using languages traditionally considered "easy-to-understand" assuming that the language being readable is sufficient to replace communication and proper documentation.

I have also seen teams using languages traditionally considered "easy-to-understand" use various forms of meta-programming to customize the code and make it even more easy to understand... eventually reaching the point where nobody except the experts of this specific sublanguage could understand it.

I have seen teams using languages considered hard-to-understand being obsessed with documentation and communication – and others who don't care at all.

I've come to the conclusion that it's a teams thing, much more than a language thing.

Re: The Python Paradox (2004)

#166
I wonder if Graham writes from the perspective of a startup founder, i.e., he observed other founders who used Python in 2004 and got a positive impression.

I do not have this impression in 2023. No website written in Python is as polished as GitHub (has Ruby influenced the elegance?).

The scientific ecosystem is chaotic, new and half-finished tools are released daily, packaging is a mess. Of course some of the scientists are smart in their domain, but not always in programming.

Core development is pedestrian and run by unproductive, dominant bureaucrats who want to remain in power. From a CS point of view, Python is of zero interest and has few exciting areas.

Python has maximalist specifications with many bugs in the resulting case explosions. Python has too much churn and a horrible package manager.

I don't see smart people who are attracted to Python (like maybe in 2004). They sometimes use it, grudgingly.

Re: The Python Paradox (2004)

#167
post #25
post #5

Earlier quoted context omitted.

I'm not convinced this advantage is available to harness anymore. A small company can still outrun a larger company via less process, fewer internal entrenched interests, the ability to not have to worry as much about internationalization and other things you need to instantly address large markets and comply with various internal and external regulations, and you could continue this list for quite a while. But $LARG…

Another thing is that back in 2004, a larger % of code was hand written. So, choosing a new language didn’t come with as high a switching cost outside of learning a new syntax. Now, if you deviate from PHP, Python, Node, Rails, etc., to one of the new “esoteric” languages, you have to learn a new language, plus reinvent the wheel in a lot of areas that you’d otherwise be getting for free. So you have brilliant develo…

> Now, if you deviate... to one of the new “esoteric” languages, you have to... reinvent the wheel in a lot of areas that you’d otherwise be getting for free.

I think this is the key concern. The #1 priority is how quickly Engineering can respond to business demands. Maybe the #1 priority instead ought to be culture, and that can be a great approach for Mittelstand-style/small-forever/bootstrapped businesses. But for venture-backed growth-at-all-costs businesses? Porting functionality to an esoteric language does not drive business value. Complain that you have difficulty hiring because you can't find engineers who know the esoteric language, and you're likely to get pressure from your investors to make boring technology choices instead.

Re: The Python Paradox (2004)

#168
post #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.

There is no point in statically typed Python, it's useless. Just a lot of people from other programming languages coming in and trying to make the language more familiar to them.

I moved from python2 to python3 to typed python3.

It makes refactor much easier, I can easily understand what parameter a function wants, without having to read the docstring or worse, the body of the function.

typecheckers do find a lot of errors that would otherwise be runtime errors.

Re: The Python Paradox (2004)

#169
post #118

Earlier quoted context omitted.

> Imagine reading the C++wg release notes in the same mood that you would the python release notes. Which mood are we talking about here? Mild dread? They keep adding new features to the language. The Python programming language is around 30. The release notes at this point should be "wow, we found a bug this year! Didn't expect to see one of those!". The secret of Python is it is actually a large community all learn…

Don’t lisps (or lisp-likes) push language feature creation into user space? And also with Clojure piggying on the JVM, I would be shocked if it needed continuous updates.

Heavily generalizing of course, but:

Only in so far as the user actually _can_ make those changes, if deemed necessary or elegant using macro facilities. Once something has proven itself good enough to be part of the language standard, there is nothing limiting language maintainers/creators to take it into the standard and ship with next release. So it is strictly more flexible in that way and users do not have to wait on commitees.

Re: The Python Paradox (2004)

#170

The complement to this paradox is the Linus Torvalds C++ rant http://harmful.cat-v.org/software/c++/linus > C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a h…

I wonder how he feels now about getting the Rust programmers.
Post reply on HN