Hacker News
points by chuckadams 3 days ago | 0 comments
I remember falling in love with Python when I first learned it at version 1.5, liked it even more with 2.0, but when 3.0 came around, that's when I noticed the ecosystem falling apart. Not for the obvious incompatibility schism: I do think most of 3.0's changes were good ones, and it finally is the standard default version now, but in many other ways it feels like the ecosystem has still never really recovered. Virtualenv is still the same grotesque hack, where rather than doing what other languages like Perl and Ruby do and making some wrapper around setting PYTHONPATH, it relies on python's behavior of locating the library path relative to the install, thus hardlinking a whole python installation in and making you "activate" it first. That nothing has managed to replace it in 20 years speaks volumes.
[–] kenhwang 3 days ago
I'm hoping one day people look at Python the same way they look at Perl and PHP.

There has been so much programming language innovation in the past decade that I'm surprised someone hasn't built a better Python. I'd like to see something like Rhai or Roto take off which has a natural upgrade path to Rust.

Maybe it's because interpreted languages just aren't in vogue anymore and probably won't be for a long time if humans aren't even coding anymore.

[–] zamalek 3 days ago
> I'm surprised someone hasn't built a better Python.

I believe Mojo is an attempt at that. Python is probably too entrenched by my estimation.

[–] jacquesm 3 days ago
Roughly the time when Guido stopped fighting the hordes. The hordes won, wrested the language away from its creator and now they own the pieces. 2 to 3 was the worst possible way a language has ever been upgraded bar none. Hilariously, even today Python 2 persists in many places because of this.
[–] rspeele 3 days ago
> 2 to 3 was the worst possible way a language has ever been upgraded bar none

Perl 6?

[–] giancarlostoro 3 days ago
Which gave up and became its own language, its own level of confusion.
[–] dizhn 3 days ago
Essentially killing both languages.
[–] collabs 3 days ago
> Formerly named Perl 6, it was renamed in October 2019.

I can't imagine how anyone can complain about this. The community revolted. The team listened. What else do we want?

[–] dist-epoch 3 days ago
Guido wrested himself by accepting the stupid := operator against the huge opposition.
[–] jacquesm 3 days ago
> Guido wrested himself by accepting the stupid := operator against the huge opposition.

Yes, that's the attitude I was talking about.

See, when you are a maintainer of a popular language with a community at some point the bickering becomes the job. And when you are a creative person managing a horde of egos who all participate to put their stamp on something the only reasonable thing to do is to leave them to their own devices, which he did. I really don't blame him. Guido is one of the nicest people and to see how the Python community did not have a single second's consideration for how their incessant infighting must have made him feel is one of the worst stories of the FOSS movement.

[–] dist-epoch 3 days ago
Guido was celebrated because he had taste.

If you don't want bickering create a closed project, make it open but don't accept contributions, etc.

You can't have it both ways "I want a big diverse community, but they should all agree with me"

[–] Aeolun 3 days ago
I think the idea is that you start out believing people will cooperate, and that the best idea will naturally surface, and then you find out humans don’t actually work like that.
[–] jacquesm 3 days ago
It's not about agreement. It's about basic decency.
[–] qw5aj 3 days ago
And a couple of psychopath core devs gleefully celebrated hours after his resignation, marginalizing the event and tried to grab power directly. The two snakes are an appropriate symbol for Python.
[–] jacquesm 3 days ago
Exactly. No good deed goes unpunished.
[–] deathanatos 3 days ago
> thus hardlinking a whole python installation in and making you "activate" it first

You don't have to activate a venv to use it; `$VENV_PATH/bin/python3` just works.

(It also softlinks/symlinks the binaries.)

[–] ta2345fa59be 2 days ago
It has found its way in many Linux distros as a replacement for bash scripts when the implementation becomes just too convoluted. It's a boring syntax (though with few semantic quirks), intuitive to understand and hack, so the exact opposite to shell scripts. It get replaced by an implementation in C or Rust when the perfs start to falter. Another possible reason is that it's taught in college as an introductory language, and also that it became popular in AI circles, and thus models were mostly trained on it, perpetuating its usage. They got much better with other languages though, so maybe the situation is changing (improving maybe?). It has its merits: the syntax forces students to format their code correctly, it is very close to pseudo-code (is that a good thing though, in the end?).