this post was submitted on 01 Sep 2023
337 points (96.2% liked)

Programming

17503 readers
8 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 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 25 points 1 year ago (2 children)

Python is only good for short programs

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.

[–] [email protected] 10 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] [email protected] 3 points 1 year ago (2 children)

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.

[–] [email protected] 3 points 1 year ago (1 children)

packaging woes

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.

[–] [email protected] 2 points 1 year ago (1 children)

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.

[–] [email protected] 2 points 1 year ago

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.

[–] [email protected] 2 points 1 year ago (1 children)

packaging woes

Even with tools like Poetry?

[–] [email protected] 3 points 1 year ago

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.

[–] [email protected] 10 points 1 year ago

I feel attacked.

By my own Python hammer.