Hacker News new | ask | show | jobs
by ggregoire 2176 days ago
While I share your opinions, I disagree with the conclusion. I don't think Python doesn't need anything to survive.

That's misunderstanding who use Python. The majority of people who use Python love Python and swear only by it. Those people are completely fine with the language not changing or not having the same features than modern languages. They use Python because of how easy it is to get the job done. They don't want to learn new features or new syntaxes, they just want to keep using Python the same way they learned it once. All the people I know who swear only by Python have been using it for 5-10 years and they don't know f strings, type hints, asyncio or the walrus operator (and that doesn't stop them from doing their job, and that doesn't make them bad Python developers). Every time a new version of Python is announced, there is a bunch of comments on HN about how Python has been losing its simplicity for years.

1 comments

I don't have any numbers to back up what you've said, but I believe it to be true. I also believe (but have no facts to back it up) the statement I'm about to make is true: most of the people who use Python are people who would not call themselves computer programmers.

I also believe it to be true that the majority of people using any kind of technology (not just computers but all technology) like the workflow they use and are comfortable with and don't want to learn new workflows or features, so that's not usually a very good statistic to base any decisions off of.

If those are true, should Python position itself as "the non-programmer's language" or continue trying to be everything to everyone, no matter what the use case?

Your second assumption is pretty problematic. While Python is popular with the non-developer crowd, it's not like it isn't itself a professionally used language. And it is used extensively. I've used it as my primary work language for 5 years now in industries from processor design, embedded systems, and now data backends. In all cases, it was the easiest to use language that did the most work. More and more work flows to it because of this.
Why is it problematic? I never said or implied that Python should only be used by non-programmers, just that I believe the majority of Python users would call themselves data scientists (or just any kind of scientist I guess) or analysts or traders or accountants or researchers or any other job where writing code is not your job, you just write code to help with your actual job.

The point is, of course those people don't want to have to learn new stuff. They don't care about the code or the language, it is just a means to an end. That's why I left off on the question: should the future of Python be decided by the majority of its users, or by the people who get the deepest use out of the language?

I'm not making an argument either way, just trying to further the conversation around what features Python should get in the future.

I was trying to be gentle in saying it's wrong. Consider https://insights.stackoverflow.com/survey/2019. Python is the second most loved language on a survey where the majority of respondents have 'developer' in their title.
but he's saying a different thing.

If there are 10 developers in the world and 5/10 use python, and at the same time there are 100 non-developers-who-code, and 9/10 use python then 95/110 people use python, and most of them are not developers.

I don't know if that is true, but you can't tell it by the SO responses because SO is more popular amongst developers anyway.

EDIT: tho you can see that python is more popular amongst non-devs than amongst devs, as "all respondents" use it at ~42% and devs use it at ~39%.

At least as I'm interpreting it, the substance of the assumption you proposed is not problematic in the slightest. (And I also suspect, but cannot demonstrate, that you are correct.) But specific the words you used to express it bring connotations that you may or may not have intended.

There's a certain perception out there that languages that are primarily used by non-programmers are mostly useful for writing non-programs.

A lot of people who program but don't have "software developer" on their business cards may not realize it, but calling themselves non-programmers invokes certain biases about the values that they bring to the table when choosing a programming language among people who do have "software developer" on their business cards.