Earlier quoted context omitted.
> In what situation is python the worst possible choice, while ruby which is very similar to it is the best possible choice? in no particular order, on top of my mind (there are many more): - mixed environments when you can't compartmentalize Python in a container. Python package management is one of the best examples of "poor implementation" - mixed environments, when both Python 2.x and 3.x are present. Migration t…
With all due respect, as someone that’s probably downvoted everything you’ve said on this thread, my reasons for doing so have nothing to do with your language preferences. Your comments are needlessly impassioned and vitriolic. I am not even remotely interested in the type of religious war discussion you are trying to foster. I can honestly say with complete confidence that I’d feel this way regardless of what langu…
I'm simply Italian and english is not my native language, so I use the most simple versions of it, resulting in what you call "vetriolic"
Have you ever heard some english native speaker, especially Americans, trying to speak Italian?
they all sound like Don Vito Corleone. Should I assume they work for the mob?
So, basically, you let your prejudice guide your actions.
If you prefer possiamo parlare in Italiano, la mia lingua madre, che conosco molto bene e grazie alla quale posso esprimermi in maniera estremamente più formale. In Italiano, per esempio, le avrei dato del Lei, non del tu, che ritengo molto poco professionale fra persone che non si conoscono e stanno sostenendo una conversazione in pubblico. Nella mia lingua è un segno di reciproco rispetto.
Spero Lei capisca che il mondo parla molto poco inglese e che quello che a Lei sembra "al vetriolo" certifica solamente una sua mancanza di empatia nei confronti delle altrui culture.
Cordiali saluti.
> This is all to say before writing off downvoters are upset people on “the other team”
I have no "team" I just have 26 years of experience in the field and Python deployment is way worse than deploying PHP apps in 1995. It's hyperbolic, I agree, but it's also not far from the truth. PHP was a simple FTP all the files on some host, Python projects most of the time miss or have incomplete requirements.txt, you have to reverse engineer dependencies, there are N distributions so you have something developed on Windows using Conda but the deployment server is Debian stable with pip etc. etc.
I don't think I'm saying something people never faced, but if that is the case, well, It means I am the only one and that is good news!
Add to that that, not to their fault, scientist have been sold the lie that Python "is easy" or "is the language for scientists" (I still remember in 1995 at uni when as a CS student I was working together with the Biology department on DNA sequencing and Perl was all the rage thanks to "Beginning Perl for bioinformatics" book, how much things can change in a couple of decades...)
Python is not so easy and coding something that runs in production is not the same thing of running experiments in a lab once, where "it just works" is enough.
Also, language inconsistencies and a patchwork design, led to very confusing results, like C++, without the extreme power of C++.
Like Perl, without the extremely good bits of Perl.
I do not write Python as my daily job and I do not write Ruby since 2015.
Ruby is simply a better language than Python and Python 2, as a language, was better than the first 5-6 years of Python 3, because it was really a simple language where there was only one way to do stuff.
Python 3 is simply another language, that solved very few of the issues with packaging and dependency management it inherited, broke backwards compatibility and for a decade coexisted with Python2 making everything a lot more problematic than it should have been.
Is that a language's fault? Only marginally, but I think that the way transitions are handled is one of those things that tell you a lot about how much you can trust a tool. Python failed miserably.
While, for example, PHP in the same time frame it took to migrate Python from 2 to 3 solved a lot of its problems to the point that, if it was preinstalled, I would much prefer it to Python.
Meanwhile Ruby, the real argument of this submission, arrived at version 3.2 with a new Jit that improves performance 40% in benchmarks. Not bad for a "slow language".
The only thing IMO that saved Python from oblivion is that Google invested a lot of money on it.
Briefly about the ecosystem: I've recently started using Polars in Rust and Elixir and it's a 100% replacement with better API and performance [1] than Pandas. It has also Python and Ruby bindings. Why people do not adopt it? Because inertia and status quo, of course. Which is not very "scientific" if you ask me and right now even the "Python is were all the ML/AI stuff is happening" IMO is not true anymore.
That's what I want to talk about and hear opinions, certainly I'm not interested in your opinion about me.
I'm an actual 100% mister nobody, I'm not an interesting character in the most absolute way.
I strongly believe that the "team" you're talking about is people not wanting to hear that, for some people like me, Python sucks and that we would never use it if were not forced to.
[1] https://h2oai.github.io/db-benchmark/
EDIT: TBF something good came out from Python: Godot GD Script, which I actually enjoy using.