I think venv is the best because it’s built in. But I’m also not a Python dev.
The thing that annoys me the most is how it cares about whitespace/carriage returns. I remember back in college when I was taking a CS class, learning Python and writing the Code on a Windows PC, emailing it to myself, and then attempting to run the code on Linux. Before I learned about the carriage return conversions, I remember having to rewrite about 75 lines of code before I got it to run. 🤬
Some people in the comments didn’t take it as tongue-in-cheek as I did. 😝
I thought this was really funny. That’s a good collection of toe stubs.
There is a lot of stuff to learn to be good at python but I still love it.
Very little of this is uniquely a problem in Python. It seems to me that your problem is with software development in general.
My problem is with semantic whitespace
No, the dependency management in Python is a nightmare. There’s like a billion options for it.
Use pipenv and don’t think about it anymore.
What’s the difference? I rarely use Python and every time I do I have to relearn which tools are the go to ones. In Java it’s a little simpler, we really just have Maven and Gradle. They have their own problems, sure, what tool doesn’t, but the thing that annoys me about python is the quantity of tools. There often isn’t a clear winner.
Now, to be fair to python, a lot of the ones mentioned on this post are very specifically for data science use cases and not general purpose development.
I used to love it so much more…
come into the light, my child. become an electrical engineer.
The same meme with “wiring and lights” at the top. Then you descend to motors, transformers delta-y phases, RC and RL circuits, op amps, BJT circuits, reverse bias what?, differential equations, and eventually signals and systems.
at least then you’re dealing with the laws of nature instead of man-made BS. if you’re like me and have 0 tolerance for BS, it’s an absolute win.
Best scientific packages in the open source by far, a library for everything, everybody knows it. Works on all kinds of systems. Available by default in many OSs.
You might not like it, but you can’t leave.
Can’t speak for the science libraries as I’ve never used em, and I’ll gladly just blindly accept that as truth, but for everything else it’s always a pain in the ass. For being designed to “run on anything” it sure is funny that 90% of the time I download a python app it doesn’t fucking work and requires me to look up and manually setup a specific environment for it. Doesn’t help that the error messages are usually completely random and unrelated to this…
I always dread when some fucking madman makes the installer for their app in python, knowing it’ll probably fail… God forbid it’s a script that’s supposed to modify something else. Always a good time for reflection upon the choices that led me to this point.
Even my old scripts I kept around for sentimental value. Half of those don’t work either, and I can’t be bothered to figure out what version I made em for.
I tried my best to scrub python from my pc out of principle, but as you say, it’s soo common my distro uses it as a dependency, fucking bullshit!
Is it better than R? I am not so much into python (too embedded in R).
I guess I don’t know. Whenever something tempts me to R, I quickly find that Python’s got a good-enough solution.
R is better if you want some very specific, niche statistical packages.
Python is better if you want to combine statistics with any other compute process.
Same for me with python, I always fall back to R after 10 minutes of trying to do it in python. :)
😡
The summary that I liked from the last post was “python is the second best language for everything”. There’s always something specialized and better for every given job. But, if you want one tool that’ll do a solid job everywhere, python is your go to.
I literally used to say this last decade, but as I grew experienced with more languages/paradigms/systems, it became 3rd best, then 4th, until I realized it actually not really great at anything other than there is an large ecosystem around it (wildly varying in quality). To some that might be enough, & going outside what you know isn’t typically the most wise thing to do, but it’s not particularly simple, or readble, or performance, or composable, or offering great patterns. Anything that used Python in Nixpkgs tend to be the most unreliable software for actually building & using.
For how popular of a language python is, at this point it’s a bad sign to me that the language has default way to manage versions and create new projects. I get having options, but options are annoying to new folk.
Why would it be a bad sign that the language has built in tools for common things you need to do?
I’m guessing, they meant to write “that the language has no default way”.
Honestly also annoying as a not-so-new folk. I just thought about this yesterday, I reasonably expect to clone a random project from the internet written Java, Rust et al, and to be able to open it in my IDE and look at it.
Meanwhile, a Python project from two years ago that I helped to build, I do not expect to be able to reasonably view in an IDE at all. I remember, we gave up trying to fix all the supposedly missing dependencies at some point…
If the language can just break during runtime because of code indentation, I can’t really trust it
Is it the language’s fault that you want to solve complex problems?
Is it? No. Is it also my fault I am stupid? No.
I would recommend pdm and micromamba.
This is so true & unfortunately everyone keeps telling beginners to start at Python
But
and
instead of&&
means beginner friendlyEmbrace your forefather ALGOL: 🤚
and
,&&
👉∧
“Print needs ()”
Oh fuck off. years of code that cannot be easily redone in ANY editor. Whoever OCDd that into python 3 needs to have their asshole kicked up into their mouth.