Yeah, it’s not about complexity things you can do with python, it’s the complexity of getting it to run. That continues to be the biggest pain point for me.
This is why I refuse to work in production code bases in python, it’s a nightmare of build systems, linters, package managers (dear god help the poor soul who accidentally pip’d from pypi and not your companies artifactory instance), formatters, convoluted ci pipelines that always seem to fail, a series of “senior” devs that will make you redo everything because you wrote your own map (we don’t use functional programming here meme) instead of a for loop (can’t use list comprehension for “code readability issues”). Got to the point of just saying fuck it, I’ll write it in Scala or rust, SBT and Cargo god tier.
Ha, you haven’t lived [in Hell] until you’ve tried to maintain a Jython build, with Python package dependencies (not just Java ones), in a production environment, in the 2020s.
Python is probably the language that popularized them, if not invented them. They’re saying the team doesn’t like using them.
My take is that other than C++, where it’s reasonable, forbidden language features are a smell for the team not having a healthy understanding of the language
As per all too often, the functional programming world invented them. Haskell (and its ilk) usually has all the future cool stuff already. Then python picks it up, then it moves over to C#/Java, then C++ says “mee too”!
honestly i expected the fifth panel to be full of things like “GIL”, “2to3”, “virtualenv” “pip vs conda vs poetry vs…”, “mypy”, etc
Yeah, it’s not about complexity things you can do with python, it’s the complexity of getting it to run. That continues to be the biggest pain point for me.
This is why I refuse to work in production code bases in python, it’s a nightmare of build systems, linters, package managers (dear god help the poor soul who accidentally pip’d from pypi and not your companies artifactory instance), formatters, convoluted ci pipelines that always seem to fail, a series of “senior” devs that will make you redo everything because you wrote your own map (we don’t use functional programming here meme) instead of a for loop (can’t use list comprehension for “code readability issues”). Got to the point of just saying fuck it, I’ll write it in Scala or rust, SBT and Cargo god tier.
You misspelled C++
C++ is at least backwards compatible (for 99% of code anyway, yes I know about some features being removed, but that’s an exception and not the rule).
Ha, you haven’t lived [in Hell] until you’ve tried to maintain a Jython build, with Python package dependencies (not just Java ones), in a production environment, in the 2020s.
Wait does python not have built in functional list comprehension? Even PHP has that built in at this point.
Python is probably the language that popularized them, if not invented them. They’re saying the team doesn’t like using them.
My take is that other than C++, where it’s reasonable, forbidden language features are a smell for the team not having a healthy understanding of the language
As per all too often, the functional programming world invented them. Haskell (and its ilk) usually has all the future cool stuff already. Then python picks it up, then it moves over to C#/Java, then C++ says “mee too”!
Surprised not to see meta-classes or package management in the meme.
EDIT: clarification
Am I an idiot or isn’t the “pip vs conda vs poetry” line talking about package management?
It is, and it’s a valid complaint. Go and Rust have handled it differently than Python or JavaScript, and all of them have their faults and bonuses.