| ▲ | foofoo12 4 hours ago | ||||||||||||||||
> I really don't think Python was close to dying It absolutely was. What saved it was: 1. The data science / AI crowd that was gathering momentum any many only used Python 3. 2. No popular alternative. Perl got python as an alternative. Python was also a good, simple language and had a good healthy culture. But it's nothing sort of a miracle that it survived that biblical software calamity. | |||||||||||||||||
| ▲ | matthewmc3 3 hours ago | parent | next [-] | ||||||||||||||||
You forgot perhaps the most important one: 3. six `six` was instrumental in repairing the Python schism by giving people a way to incrementally move their 2.7 code to Python 3, and write code that was compatible in both. The six project didn't exist at first and the path to Python 3 was too painful without it. Six solved all that by smoothing over built-in libraries with different casing between versions, incompatible core libraries, the addition of unicode strings, print changing to a function, etc, etc. Perl 5 to Perl 6 (aka Raku) never got that. | |||||||||||||||||
| |||||||||||||||||
| ▲ | nine_k 4 hours ago | parent | prev | next [-] | ||||||||||||||||
Python 2.7 was kept very much alive, with a number of small improvements from the 3.x branch backported to it. Big players, like Django or SQLAlchemy, kept versions both for 2.x and 3.x for quite some time. This allowed for a smooth transition, when all of your dependencies finally had good versions for 3.x. The difference between Python 2.x and Python 3.x was not dramatic. I would say it was mostly cosmetic up until 3.5 when async landed. Even with these small changes, the splitting of byte strings and character strings alone (an obvious move towards sanity) was plenty annoying for many projects. Communities and ecosystems are fragile; sharp turns can easily break them.. Even careful maneuvering, like the Python 2 → 3 transition, put very visible strain on the community. A crazy jump that was Perl 6 was not survivable, even though Raku may be a fine language. | |||||||||||||||||
| ▲ | mixmastamyk 4 hours ago | parent | prev | next [-] | ||||||||||||||||
I was not affected by Py3 at all. First I completely ignored it for five years while it gestated. Then started kicking the tires when 3.4 dropped on a LTS. When 3.6 with better dicts and f-strings landed I moved over with barely a whimper, since I'd had a decade to get things upgraded to 2.7 first. None of my projects needed to worry much about char encoding, and I'd used logging extensively starting under 2.6 or so. | |||||||||||||||||
| ▲ | tptacek 4 hours ago | parent | prev | next [-] | ||||||||||||||||
Long before the AI/data science breakout, we were noticing in our consulting practice (2016-2020) a sharp dropoff in Ruby at startups, and Python as the modal language (by the time I left in 2020, it would have gone Python -> Node -> Ruby). So no, I don't think AI saved Python; it was fine before then. | |||||||||||||||||
| |||||||||||||||||
| ▲ | MoonWalk 3 hours ago | parent | prev | next [-] | ||||||||||||||||
I don't know. Isn't Python still viewed as a mess now? I was thinking of taking the time to learn it as the best way to write cross-platform utilities, but encountered a lot of negative sentiment about its ecosystem. And all the environment managers you seem to need for it are a turn-off. Granted, this is coming from a relative noob who read and followed a couple of "how to set up Python properly" articles and that's about it. But I pretty much decided to spend my time on JavaScript, despite its cumbersomeness for implementing simple utilities. | |||||||||||||||||
| |||||||||||||||||
| ▲ | culi 2 hours ago | parent | prev | next [-] | ||||||||||||||||
IMO javascript was a valid alternative. Easy to learn and easy to run. That's the main things needed for academic work Python had a history of tooling/libraries that made it well ingrained into academia | |||||||||||||||||
| |||||||||||||||||
| ▲ | skylurk 3 hours ago | parent | prev | next [-] | ||||||||||||||||
> No popular alternative I can easily imagine a scenario where Julia could have taken the data science crowd and Node.js could have taken everyone else. People like Python, I guess. | |||||||||||||||||
| |||||||||||||||||
| ▲ | dist-epoch 4 hours ago | parent | prev [-] | ||||||||||||||||
You're contradicting yourself - if Python had no popular alternative, what would have new people used instead and what would existing code have migrated to? | |||||||||||||||||