this post was submitted on 01 Sep 2023
336 points (96.2% liked)
Programming
17540 readers
69 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 [email protected]
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Was Python designed with enterprise applications in mind?
It sounds like some developers have a Python hammer and they can only envision using that hammer to drive any kind of nail, no matter how poorly.
I mean, it's still a very nice language. I can see someone, marveled by that, would endeavor to make bigger things with it. I just don't feel it scales that well.
I agree. The GIL and packaging woes are a good indication that it's range of applications isn't as extensive as other tech stacks.
My own hot take is that I hear this criticism of Python a lot, but have never had anyone actually back it up when I ask for more details. And I will be very surprised to hear that it's a worse situation than Java/TypeScript's.
We used to have a Python guy at my work. For a lot of LITTLE ETL stuff he created Python projects. In two projects I've had to fix up now, he used different tooling. Both those toolings have failed me (Poetry, Conda). I ended up using our CI/CD pipeline code to run my local stuff, because I could not get those things to work.
For comparison, it took me roughly zero seconds to start working on an old Go project.
Python was built in an era where space was expensive and it was only used for small, universal scripts. In that context, having all packages be "system-wide" made sense. All the virtual env shenanigans won't ever fix that.
Sorry, but you'll need to explain this a little bit more to me. That's precisely what virtual env shenanigans do - make it so that your environment isn't referencing the system-wide packages. I can totally see that it's a problem if your virtual env tooling fails to work as expected and you can't activate your environment (FWIW, simply old
python -m venv venv; source venv/bin/activate
has never let me down in ~10 years of professional programming, but I do believe you when you say that Poetry and Conda have broken on you); but assuming that the tools work, the problem you've described completely goes away.Even with tools like Poetry?
The endless packaging solutions for python is exactly the flaw that they're talking about.
Packaging a python application to work over an air-gap is extremely painful. Half the time its easier to make a docker container or VM just to avoid the endless version mismatch pain.
I feel attacked.
By my own Python hammer.