▲ | DeathArrow 14 days ago | |||||||||||||
>In 2024, Python became the most popular programming language in the world — overtaking JavaScript — according to GitHub’s 2024 open source survey. I wonder why Python take over the world? Of course, it's easy to learn, it might be easy to read and understand. But it also has a few downsides: low performance, single threaded, lack of static typing. | ||||||||||||||
▲ | lenerdenator 14 days ago | parent | next [-] | |||||||||||||
I do backend web server development using FastAPI/Starlette and Django. If I were a Ruby developer, I'd be using Rails, and I'd also be describing 90% of Ruby development. However, I do Python. What I'm describing is a tiny fraction of Python development. If you want to do something with computer code - data analysis, ML, web development, duct-taping together parts of a #NIX system, even some game development - you can do it reasonably well, if not better, in Python. The paths that you can take are limitless, and that gets people interested. | ||||||||||||||
| ||||||||||||||
▲ | hbn 14 days ago | parent | prev | next [-] | |||||||||||||
It's "easy to learn" and you get all the downsides that come with that. At work right now we're integrating with scoring models hosted in Amazon SageMaker written by a "modelling team" and as far as I can tell they follow absolutely no basic coding practices. They give us the API and are asking us to send English strings of text for names of things instead of any real keys, and they're just comparing against plain strings and magic numbers everywhere so if they're asked to make any change like renaming something it's a herculean task that breaks a bunch of other things. Something will break when a field is null and then they'll tell us instead of sending null if we have no data to send -9999999. One time something broke and it turned out to be because we sent them "MB" (Manitoba) as someone's province, and whoever wrote it was just plain-text checking against a list of province codes as strings and didn't remember to include Manitoba. I know this is still mainly a business/management issue that they're allowing people who don't know how to code to write code, but I'm sure this is happening at other companies, and I think Python's level of accessibility at the beginner level has been a real blight to software quality. | ||||||||||||||
▲ | timschmidt 14 days ago | parent | prev | next [-] | |||||||||||||
Universities seem to have settled on it for CSE 101 courses in the post-Java academic programming era. | ||||||||||||||
▲ | diggan 14 days ago | parent | prev | next [-] | |||||||||||||
> I wonder why Python take over the world? Not sure what "most popular programming language in the world" even means, in terms of existing projects? In terms of developers who consider it their main language? In terms of existing actually active projects? According to new projects created on GitHub that are also public? My guess is that it's the last one, which probably isn't what one would expect when hearing "the most popular language in the world", so worth keeping in mind. But considering that AI/ML is the hype today, and everyone want to get their piece of the pie, it makes sense that there is more public Python projects created on GitHub today compared to other languages, as most AI/ML is Python. | ||||||||||||||
▲ | georgeecollins 14 days ago | parent | prev | next [-] | |||||||||||||
Less typing-- I mean keystrokes. All the things that are not great about it make it easier to learn. No static typing, no control of memory, no threads. When I started there was a language like BASIC or Visual BASIC that was easy to learn (or also quick to use) and C or C++ that was performant. If the world now is Python and Rust or Go, I think that it is just a better word for programmers. I say that as someone comfortable with C/ C++ / Java. They had their time and will still be with us, but the improvement is real. | ||||||||||||||
▲ | PeterStuer 14 days ago | parent | prev | next [-] | |||||||||||||
It's the ecosystem, specifically the huge amount of packages available for everything under the sun. | ||||||||||||||
▲ | nhumrich 14 days ago | parent | prev | next [-] | |||||||||||||
Perhaps performance, multi threading, and static typing are not the #1 things that make a language great. My guess: it's the community. | ||||||||||||||
| ||||||||||||||
▲ | owebmaster 14 days ago | parent | prev | next [-] | |||||||||||||
In this case, it's because JS ecosystem is now divided between JavaScript and TypeScript | ||||||||||||||
| ||||||||||||||
▲ | lenkite 14 days ago | parent | prev | next [-] | |||||||||||||
> I wonder why Python take over the world Because data-science/ML/LLM's have taken over the world now and no other language offers best-in-breed libraries and frameworks. Other languages need to get off their ass and start offering options soon or be relegated to niche domains. | ||||||||||||||
▲ | TechDebtDevin 14 days ago | parent | prev [-] | |||||||||||||
I don't know. It absolutely annoys me. Go is more readable, easier to learn, more efficient, more fun to write but doesn't have all the math/ml packages people want. I'd like to get involved in catching Go up to Python in the ML space but Go is so behind. | ||||||||||||||
|