this post was submitted on 02 Oct 2025
69 points (94.8% liked)

Programming

23587 readers
119 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] namingthingsiseasy@programming.dev 48 points 1 month ago (26 children)

My opinion: Python may not be the best at everything it does, but it's in the top 3-5 languages in the following areas:

  • Very easy to install, write and understand
  • Great libraries for a lot of applications
  • Large community, lots of people with experience in it

It will always be a practical choice for those reasons. There are probably a lot more as well that I can't think of at the moment.

[–] driving_crooner@lemmy.eco.br 31 points 1 month ago (1 children)

Python is not the best at anything, but is the second best at almost everything. That's the reason I use it. Everything I need to do, I know I can do it in python, maybe isn't going to be the better or faster it could be, but it will work.

[–] feddylemmy@lemmy.world 12 points 1 month ago (1 children)

Yeah, Python is fast enough. Being assembly-fast is just not that important for a lot of things.

[–] j5906@feddit.org 4 points 1 month ago* (last edited 1 month ago)

This. As a chemist I just need to do rather simple calculations, plots and sometimes use a package or two. My total yearly compute time is like 1 hour in python. Spending 5 years learning c, assembly, data science and what not just to reduce that to 1 minute is not really worth it.

[–] Henson@feddit.dk 29 points 1 month ago (3 children)

I would add its a easy Scripting language. No compilation problem, richer that shell/bash makes it a powerfull choice.

And a really dont like it.

[–] furrowsofar@beehaw.org 10 points 1 month ago (7 children)

It is far more then that. It is a full up programming language.

I never understand why people think compilation is a barrier. But sure most python is not compiled.

[–] eager_eagle@lemmy.world 4 points 1 month ago (1 children)

If compilation takes more than a few single-digit seconds, IME, it breaks the development flow when you're working on small fixes.

[–] namingthingsiseasy@programming.dev 3 points 1 month ago (2 children)

Having worked on large C++ projects, the solution to this issue is using a good IDE with an LSP. But it is quite a regrettable situation because setting up an LSP can be a difficult, and they also tend to break quite easily. Understanding how to make an LSP work is an important productivity skill in those kinds of positions.

load more comments (2 replies)
load more comments (6 replies)

Yeah, you can use it both for full applications (web or desktop) as well as simple scripts. The flow of getting from something simple to a full blown application is pretty smooth and natural - better than just starting out in Java or C++ and taking at least an hour before you get anything that runs.

load more comments (1 replies)
[–] FizzyOrange@programming.dev 19 points 1 month ago (1 children)

Very easy to install

This has to be a joke.

[–] Croquette@sh.itjust.works 6 points 1 month ago

Yeah, thought the same. Python isn't intuitive to install new packages.

[–] Valmond@lemmy.world 13 points 1 month ago* (last edited 1 month ago)

The libraries part is enormous. Researchers just pull up math engines, database access is a breeze, and so on.

You got a specific need, there is a library for it. It's like C/C++ without the hassle.

load more comments (22 replies)
[–] brucethemoose@lemmy.world 21 points 1 month ago* (last edited 1 month ago) (3 children)

It’s kind of crazy how problematic pip is, though. There are enormous ecosystems like conda, poetry, arguably Docker all built around “pip not working right.”

I see so many people want to install vllm or something with like a 95% crash and burn rate if they aren’t already proficient with Docker, complete with the spare disk space to basically ship a whole other machine.

Meanwhile, massively complex Rust or Go or whatever packages… just work. With the native tooling, for me.


To be clear, I like Python, and I believe many issues can be smoothed with time (like improving its JIT and maybe encouraging more typing in codebases). But pip and its ecosystem are forever cursed.

[–] rothaine@lemmy.zip 13 points 1 month ago (2 children)

People used to shit on npm all the time, and I believed them, because I didn't have experience with anything else.

Then I tried pip. Holy...I had to beg npm forgiveness for ever doubting it

[–] tyler@programming.dev 8 points 1 month ago

npm was bad, for a very long time. Then they fixed it, because they actually listened to other languages and did what they did. Python still refuses to do that. It’s quite insane because Ruby has had a solution for 15+ years at this point and Python could have directly copied it but refuses to. Python is absolutely the worst language I know of in regards to tooling.

[–] brucethemoose@lemmy.world 7 points 1 month ago

Yeah.

I mean, npm deserves some healthy fear/skepticism, but everything is relative.

[–] FizzyOrange@programming.dev 8 points 1 month ago (1 children)

pip is easily the worst thing about Python. But now that we have uv I would say the worst thing is the package/import system. I'm pretty sure only 1% of developers understand it, and it only really works properly if your Python code is a Python package.

If you treat Python as a scripting language and just scatter loose files around your project and run them directly, it doesn't work at all. Pain everywhere. Which is dumb as fuck because that's like 80% of how people use Python.

[–] brucethemoose@lemmy.world 3 points 1 month ago* (last edited 1 month ago)

Ugh yes I hate the import system too. I have to look it up every time and still don’t understand it, and it’s a hair away from messing up existing projects to the point where sometimes it does.

I want to love uv, but:

  • It breaks some random compiled C packages. I ran into this the other day, and the associated issue on the package was basically “shrug we see it’s breaking, this dev is doing some weird shit”

  • I’d prefer to use the optimized/patched build of Python CachyOS provides (and the optimized Python compiled system packages), though this is largely OCD.

  • It’s not optimal for some PyTorch stuff, which is its own little ecosystem nightmare

[–] eager_eagle@lemmy.world 3 points 1 month ago (1 children)

uv. Is like cargo for Python.

load more comments (1 replies)
[–] FizzyOrange@programming.dev 18 points 1 month ago (4 children)

I think it's just because it is always recommended as an "easy" language that's good for beginners.

The only other thing it has going for it is that it has a REPL (and even that was shit until very recently), which I think is why it became popular for research.

It doesn't have anything else going for it really.

  • It's extraordinarily slow
  • The static type hints are pretty decent if you use Pyright but good luck convincing the average Python dev to do that.
  • The tooling is awful. uv is a lifesaver there but even with uv it's a bit of a mess.
  • The package system is a mess. Most people just want to import files using a relative path, but that's pretty much impossible without horrible hacks.
  • The official documentation is surprisingly awful.
  • Implicit variable declaration is a stupid footguns.

The actual syntax is not too bad really, but everything around it is.

load more comments (4 replies)

The blog gives a few vague answers, none of which shed any light on how Python became so popular. If I had to guess, much of it's popularity came from being embraced as a data analytics tool -- which is honestly a great use case for an interpreted scripting language -- and its subsequent adoption by academia, introducing it to an entire generation of CS grads.

Python has advantages and drawbacks like any programming language. It's not my favorite language and it's not my least favorite. It's not going anywhere anytime soon.

[–] Flamekebab@piefed.social 10 points 1 month ago

I would argue it's because it is Good Enough. The most popular solutions to things are rarely the optimum ones but the ones that are generally applicable.

For example, I could fight with bash's unpleasant syntax or I could do it more easily (but less efficiently) with Python. Would it be as performant? Absolutely not - but the performance gains wouldn't be worth the time and maintainability.

[–] LordCrom@lemmy.world 8 points 1 month ago

From an administrator POV, python is great for scripting, automation, and AWS boto work.

[–] eager_eagle@lemmy.world 6 points 1 month ago* (last edited 1 month ago)

In the Python documentary they mention the early creation of numeric as an alternative for closed options like Matlab; which led to Python being used in the sciences and data processing. Then later it became the natural choice for machine learning in the early 2010s and the AI explosion of 2020+.

[–] furrowsofar@beehaw.org 5 points 1 month ago* (last edited 1 month ago) (1 children)

Presumably because it minimizes developer time in writing code and is easy to use and it come with great libraries. That is why I have been using it since 1998.

Edit: People use to think I was crazy using Python. It was interesting seeing people slowly get a clue over the years.

[–] Feyd@programming.dev 5 points 1 month ago (11 children)

It minimizes greenfield development time and increases it later for anything at scale. It's the mongodb of programming languages.

load more comments (11 replies)
[–] Kolanaki@pawb.social 4 points 1 month ago (1 children)

Because it's actually good and also easy.

load more comments (1 replies)
[–] Reptorian@programming.dev 4 points 1 month ago

I'd say libraries is why it is popular. Also, I'm not a Python developer, and I don't bother with libraries.

[–] sobchak@programming.dev 3 points 1 month ago

I started using it as an alternative to Octave/Matlab and Perl. Python is better at general programming than Octave/Matlab, and better syntax than Perl (IMO) while being almost as easy to do the same stuff I was using Perl for. It's very good for quickly writing small scripts. Issues can arise on large projects/teams because of stuff like type safety, and it also has issues with performance.

load more comments
view more: next ›