this post was submitted on 16 Jul 2023
711 points (92.4% liked)
Programmer Humor
32479 readers
282 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
loosely typed: python is the same
bad package manager: python is infinitely worse
false
don't think so but ehy...
You're right about python being the same. Python doesn't have a mature alternative to Typescript that launches it into having best-in-class type handling.
There's so much that my C# devs can't do with its horrible type system that Typescript "just does better". At compile-time at least.
I used to work on a hybrid typescript/python product (some services js, some TS, some python), and the TS stuff was just faster-running, easier to iterate, and better. And story-point allocations consistently showed that for an excess of 20 devs working on those codebases.
As for pip/easy_install vs npm/yarn/pnpm... I'm curious what you think pip does well that yarn/npm doesn't? I'll say in my work experience there's more/better enterprise private repository/cache support for node modules than for python modules. Using npm security databases alongside "known good versioning" allows a team of even 100 developers to safely add libraries to projects with no fear of falling out of corporate compliance regulations. I've never seen that implemented with pip
Depending on the regulations, python virtual envs could make it possible too.
How so? The companies I worked for were using venv's but nothing that could help with standards.
Using a private npm repo, I can actually do aninstall of a library I want to use and it'll refuse to install if that library isn't already approved for use by the organization, and if it is/does, it will install only the approved version. Further, I still don't have any of the libraries installed I don't want (even secure-seeming unnecessary code is a potential risk and unnecessary). The last 2 places I worked that used python used venv's, but the pip requirements.txt file was still fairly hard to keep regulated.
From approved environments:
pip freeze > requirements.txt
?So let's say I want to add a library not currently being used in this project, but that might have been approved for another project in another repo? How does
pip freeze
solve that problem? Do python users endorse a "every single python app in the entire org should use the same requirements.txt" mindset? Or what am I missing?