ayhanfuat 21 hours ago [-]
The Zen of Python part was quite fun. I wish Tim Peters was in it though. He wrote yesterday:

> I do show up, but not “live”. For various reasons (mostly related to declining health), I didn’t actively participate. I gave the director (Ida Bechtle) a pile of source material at the start, and that was the last of my involvement. She spliced in some recycled video of an interview I did with the PyPy folks at a PyCon some years ago, but I’m there mostly so people could recite my so-called “Zen of Python”, which an actual historian (Joseph Dragovich) assured me is “the most famous values statement for any programming language community”. https://discuss.python.org/t/python-documentary-going-live-t...

primitivesuave 20 hours ago [-]
Adding a link to the ZoP for the uninitiated: https://peps.python.org/pep-0020/
sim7c00 16 hours ago [-]
try: __main__() except BeingDutchException: print("make some noize!") except: pass

how did i do on my python exam? 5.6 is also a pass!

suchoudh 20 hours ago [-]
In India people call initiation as Deekhsha.

This is where the guru whispers (3 times) to you the seed letters which one has to imbibe over decades of sadhana by lacs of repetition

this looks similar

#rememberThis

21 hours ago [-]
umvi 22 hours ago [-]
I used to love Python, back when it was basically just an alternative to perl for scripting. Now it strikes fear into my heart when I encounter something largish written in Python because it usually means "super slow bloated researchy untyped ai/math code that's a nightmare to work with"
b33j0r 22 hours ago [-]
There are two types of people who use python: those who understand statistics and those who write python.

I’m happy that python basically took over the role once filled by matlab, and I’m happy that it became the leader in AI dev instead of something worse (probably Java if gpt2 had hit 5-10 years earlier).

But you’re right. It’s not fun anymore. It feels more like a pseudolanguage for expressing tensors now, because of the influx.

I’m exaggerating only in feigned outrage. In my actions, I’ve been coding in rust, go, and zig ever since ChatGPT came out.

I think that moment made me value python less. When I think about why, it’s because python became less challenging, and the problem space shrank.

It’s been fun to go back to low-level and remember how computers actually work.

WD-42 19 hours ago [-]
I feel so similar. I love python, I’ve spent most of my career writing it. It’s done well for me. But damn is it just not fun anymore. Runtime errors are not fun anymore. Runtimes are not fun. Virtualenvs are not fun anymore even though uv is trying. Typeless loosy goosy code that passes dictionaries all over the place is just not fun. Rust ruined it for me. Or maybe I’m just bored.
morningsam 18 hours ago [-]
>Typeless loosy goosy code that passes dictionaries all over the place is just not fun.

mypy --strict in CI & don't let dict[str, Any] pass review if the keys are constants, insist on a dataclass or at least a TypedDict.

instig007 14 hours ago [-]
> & don't let dict[str, Any] pass review

good luck with justifying that before your manager (reacting to complaints within your team, claiming you being a bottleneck).

wiredfool 13 hours ago [-]
So just make it a dict[str, str] and json encode the payload.
epgui 11 hours ago [-]
> There are two types of people who use python: those who understand statistics and those who write python. I’m happy that python basically took over the role once filled by matlab […]

This exactly! Worded charitably, but accurately.

Python is a messy and complex language, full of historical baggage and non-essential machinery. I’ve been working in it for many years, so I’m not new or unfamiliar to it… But I know what a clean simple language looks like (eg.: clojure), so I have much less patience for unnecessary complexity now.

It may be arguably-better than some other popular languages (or MATLAB), but it's easy to find an objectively much better high-level language.

cherrycherry98 21 hours ago [-]
Agreed, as an OO scripting language it's lovely, especially compared to Perl where the OO features never meshed quite right. Going back 10 years ago it had a number of things that were novel compared to other languages: literals for common data structures, context managers ("with" statement), first class functions, comprehensions, generators.

On the other hand duck typing is largely a joke. Letting functions take anything as an argument and then just assuming it's a duck with the methods you want is no way to write a robust system. Performance wise you're boxed into a corner. The slow runtime will have you writing native code in another language, complicating your project. The GIL will have you jumping through hoops to work around.

As an offline data exploration and research tool limited to an individual or a small team, or for writing small utilities, I totally get it. For anything mission critical I'd much rather be in something like Java or C# where the typing situation is stronger, the performance is going to be much better, I have better access to threads if I need them, the reasons for dropping into native code are fewer, and the cross platform support works more seamlessly without additional layers like Docker.

ActorNightly 18 hours ago [-]
> Letting functions take anything as an argument and then just assuming it's a duck with the methods you want is no way to write a robust system

Everyone keeps harping on type safety, but it just doesn't play out in reality. Linux Kernel is incredibly robust, has never been a broken mess, and has basically no type enforcement, as you can cast pointers into other stuff.

In general, all typing does is move error checking into the compiler/preprocessor instead of testing. And time spent on designing and writing type safe code is almost equivalent to time spent writing tests that serve as an end-to-end contract.

There is a reason why NodeJS was the most used language before all the AI stuff came with Python.

>Performance wise you're boxed into a corner. The slow runtime will have you writing native code in another language, complicating your project.

Most of these performance arguments are similar to arguging that your commuter car needs to be a track spec Ferrari in terms of performance, by people that have very little experience with cars.

Plenty of fast/performant stuff runs on Python. PyPy is a thing also. So is launching small compiled executables like a process, that takes literally one line of code in Python.

>The GIL will have you jumping through hoops to work around.

This is just laughable. Clearly you have extremely little experience with Python.

sunrunner 15 hours ago [-]
> Linux Kernel is incredibly robust, has never been a broken mess, and has basically no type enforcement

Yes, as a result of strong development practices, a high skill floor, and where work is done by a small number of people knowledgable in the domain. These things are not mutually exclusive with type checking.

> In general, all typing does is move error checking into the compiler/preprocessor instead of testing

Which is an enormously powerful thing. Having those things be required by tests requires that the test exists for all the cases, which turns your tests into things that not only have to test behaviour but are also simultaneously responsible for checking types.

Compile-time type checking can essentially eliminate all need for type-based tests and is able to do it automatically for any code that exists, whereas this has to be opted in when using tests to check types.

You also don't get the benefit of compile-time tests automatically checking use cases for the types you don't support (which is likely more than the ones you do), whereas leaving this to test-time is practically impossible and you can only test the valid path. I've never seen a codebase that checks the negative paths for the hundreds-upon-thousands of types that aren't supported.

None of this is to say I'm against tests as end-to-end contracts, but moving type checking to compile time gives you a lot of extra kinds of assertions for free that you likely don't get from having tests to check types.

> There is a reason why NodeJS was the most used language

And the reason was? AFAIK Node came along as a runtime option for using a familiar language outside of the browser. Coupled with a single-threaded event-driven concurrency model out of the box it was an enormously practical/easy choice from the perspectives of both language familiarity for developers and fpr the workloads it was given.

ActorNightly 7 hours ago [-]
I dunno where this idea comes from that a code erroring out is somehow catastrophic. If you pass a wrong object type to a function, that mistake is very easy to fix. If you are structuring your code with crazy inheritance to where this error can get hidden, thats solely a you problem.
jibal 11 hours ago [-]
> Everyone keeps harping on type safety, but it just doesn't play out in reality.

If you ignore the vast number of cases where it does, and cherry pick an extraordinarily non-representative example like the Linux kernel.

> This is just laughable. Clearly you have extremely little experience with Python.

Or you have extremely little experience with the use cases where it applies, extremely little knowledge of the ongoing effort by the Python developers to address it, and think that ignorant mocking is an argument.

instig007 13 hours ago [-]
> And time spent on designing and writing type safe code is almost equivalent to time spent writing tests that serve as an end-to-end contract.

Do you write tests for every third-party function that interacts with your code, so that it never fails in runtime after a version bump?

How do you guarantee that your own refactoring is exhaustively covered by the prior tests you've written for the old version?

zdragnar 13 hours ago [-]
You don't need a test for every function. You probably want every function call covered by a test, though, otherwise you have untested code.

The exact granularity is a debate that has gone on for a long time. Nowadays, people seem to prefer larger tests that cover more code in one go so as to avoid lots of mocking / stubbing. Super granular tests tend to be reserved for libraries with no internal state.

epgui 11 hours ago [-]
While what you say could be argued, this is both an insufficient argument against, and irrelevant to, the post you’re commenting on.
kamaal 19 hours ago [-]
>>Agreed, as an OO scripting language it's lovely, especially compared to Perl where the OO features never meshed quite right.

Back then the whole OO crowd was with Java though.

Python's Moat was beginner friendliness to write simple scripts, which at the time- Perl was more like a thermonuclear scripting language. Most people who never wanted to graduate to that advanced stage of writing mega million lines of Perl code over a week(which was literally the use of Perl then), realised they needed some thing simpler, easier to learn, and maintain for smaller scripts- Kind of moved to Python.

But then of course simplicity only takes you that far, and its logically impossible to have a simple clean interface to problems that require several variables tweaked. Python had to evolve and is now having the same bloat and complications that plague any other language.

Having said that, I would still use Java if I had to start a backend project.

pjmlp 17 hours ago [-]
When Perl ruled the Earth, the OO crowd was with Smalltalk, Object Pascal, Delphi, Clipper 5, FoxPro, Actor, CA Objects, VB, C++.

In fact, many books that the OOP haters attribute to Java, predate its existence.

kev009 22 hours ago [-]
I was a big fan of python between 10 and 15 years ago for similar reasons, it felt "cleaner" than other scripting languages while also having rich standard and extended libraries.

With no real recent experience (I fell deep down the hole into C/kernel etc), I wouldn't have any authority to judge how it's adapted to time. But the most common complaint I've observed at companies of all size and sophistication is "the deployment story is a disaster". But it also seems like uv allows people to do all the "I want this specific version of such and such and I don't want $OS to know about any of this" well?

Re math/ai it's an interesting comment because a language is one part the syntax/stuff you receive, and one part the community that tells you to do things a certain way. I'd guess that Python has become such a big tent it is a little hard to enforce norms that other languages seem to have. This somewhat reminds me of Bjarne Stroustrup discussing scaling/evolving a language.

nighthawk454 21 hours ago [-]
I think a lot of it is things have shifted away from the raw language. Less and less you’re dealing with Python, and more an assortment of libraries or frameworks. Pandas, numpy, torch, fastapi, …, and a dozen others.

Packaging has been a nightmare. PyPI has had its challenges. Dependency management is vastly improved thanks to uv - recently, and with a graveyard of tools in its wake.

The modern Python script feels more like loosely combining a temperamental set of today’s latest library apis, and then dealing with the fallout. Sometimes parallels the Node experience.

I think an actual Python project - using only something remotely modern like 3.2+ standard library and maybe requests - is probably just as clean, resilient, and reliable as it ever was.

A lot of these things are and/or have been improving tremendously. But think to your point the language (or really the ecosystem) is scaling and evolving a ton and there’s growing pains.

kev009 20 hours ago [-]
I can see that. A little while ago I was working at a startup and we had a node.js thing that was really crucial to the business that did some gray hat browser automation stuff to scrape TikTok (the users opted into it, but TikTok itself was less permissive). For some reason a person wanted to move part of it to Python to orthogonally solve some other actual problem. They passed me the code and Pandas was there to effectively do an HTTP request and parse JSON and I thought to myself "woah, I'm not in Kansas anymore" -- I ended up not having to worry about it because I ported the idea back to the more mature node system and that turned out to be viable over time.

Libraries can overtake aspects of a language for better and worse. Ruby seemed really tied to Rails and that was great for it as an example.

nighthawk454 19 hours ago [-]
Ha, Pandas just to parse a website is a bit extra, I’d say. But yeah, it’s weird that you need libraries and api endpoints to do basic tasks these days.

It feels like something broke around 2015-ish. Going back, you could make a whole app and gui with Basic. You could make whole websites simply with HTML+PHP, sometimes using nothing but Notepad. You could make portable apps in Java with no libraries - even Swing or whatever was built in.

Now…? Electron, a few languages, a few frameworks, and a few dozen libraries. Just to start.

Bizzare.

WD-42 17 hours ago [-]
Everyone wants to be a programmer but nobody wants to write any damn code

— Ronnie Coleman

ActorNightly 18 hours ago [-]
>"super slow bloated researchy untyped ai/math code that's a nightmare to work wit

I love reading comments like this because it just makes me feel good about my job security.

You are aware that things like Youtube and Uber back ends all run on Python, right?

bronlund 17 hours ago [-]
I love reading comments like this because it just makes me feel good about my life choices.

You are aware that things like your bank and insurance all run on COBOL, right?

pjmlp 11 hours ago [-]
Also, that UNIX and C praised by so many, are only 14 year younger than COBOL (1959 vs 1973).
jsight 20 hours ago [-]
I'm happy to see this take gaining some steam. Python got a lot of love while it was growing to where it is now. IMO, that was largely well deserved.

But it seemed like a lot of people overlooked why it was loved. Most of us weren't wishing that our 2k+ line projects were all written in it.

Those little 20-500 line scripts were just so much more fun in Python than anything else though, and it showed up in survey after survey.

pansa2 19 hours ago [-]
> Those little 20-500 line scripts were just so much more fun in Python than anything else though

It's notable that you've written this in the past tense. These kinds of scripts don't seem to be a focus for Python any more.

In fact, I recently heard as justification for a new Python feature: "it helps us with our 100-million-line Python codebase". The language has become extremely complex as it prioritizes the needs of a few teams writing millions of lines over millions of developers each writing relatively few lines.

The reason is that the design team are all working on these large codebases and, understandably, mostly focused on what makes their own lives easier. I was hopeful that in the transition from a BDFL-based governance system to a Steering Council, we would see a larger variety of experience and opinions designing the language. Instead, I don't think there has ever been a single scientist, finance worker etc on the Steering Council - it's always software developers, almost always employees of large software companies.

WD-42 17 hours ago [-]
I’m curious what about the language is getting more complex. Any examples? The ecosystem definitely seems to be getting much more complex, but the language itself hasn’t evolved dramatically since type hints that I can remember.
jibal 11 hours ago [-]
I've been as programmer for 60 years. I know perl well and it was my go-to scripting language for years although I hated the sigils various other design choices. Only within this year did I set aside the time to learn Python. It didn't take long ... the language is not complex. Of course the libraries and frameworks and deployment tools etc. are extensive and dense and complex because the world has become so complex, extraordinarily so compared to the world when I started programming.
pansa2 10 hours ago [-]
> the language is not complex

It's easy to get started with, but it's certainly not simple. Even small expressions like `a + b` or `a.b` in Python have very complex semantics.

jibal 10 hours ago [-]
Gee, programming is hard.

The language is not complex.

(And there is a context here, with claims that the language has become complex ... your examples are obviously not relevant to that context.)

pansa2 17 hours ago [-]
Type hints aren’t a single addition - with every release they get more complex. It wouldn’t surprise me if the language included 20+ typing-related PEPs by now.

The other obvious example of complexity is pattern matching. The feature is very complex, especially how it breaks established rules of the language. It also required fundamental changes to the interpreter to accommodate it: a rewrite of the parser from simple LL(1) to PEG.

maleldil 12 hours ago [-]
> It also required fundamental changes to the interpreter to accommodate it: a rewrite of the parser from simple LL(1) to PEG.

The PEP 617[1] (the PEG change) doesn't mention pattern matching at all.

[1] https://peps.python.org/pep-0617

pauleveritt 11 hours ago [-]
Guido said for many years (decades) that he wanted to get back to the parser.
dralley 22 hours ago [-]
"math code" is generally using wrapped native libraries not really all that slow.

But this seems like an apples to oranges comparison. Yes, of course a few scripts are very different than "something largeish" written in Python

pjmlp 17 hours ago [-]
That has always remained my sole use of Python, scripting OSes and applications, my use of Tcl for application software trained me avoiding languages that always require going down to C for any performance related task.

Best of all with this approach, is that what is in the standard library suffices, no need to mess up with venvs, PYTHONPATH, or whatever is the current trend.

elcritch 17 hours ago [-]
Python was similar for me after learning Perl and some C in highschool. During university I used Python 2 on and off. It was amazing during that era and what I could build.

Then came Python 3 and it just never felt the same. PyQT projects faltered. Deps split. Strings broke.

However I started using Nim a few years back which has given me that Python 2 feeling – except with static types, better overall language design, meta-programming, and performance!

wolvesechoes 17 hours ago [-]
> However I started using Nim a few years back which has given me that Python 2 feeling – except with static types, better overall language design, meta-programming, and performance!

And except tooling, ecosystem, documentation and practical real-world application.

elcritch 16 hours ago [-]
There are plenty of practical real world usages from companies shipping video games, one of the first and most featureful eth2 servers, websocket servers powering millions of requests at Reddit, etc. Apparently some use in HFT as well now.

True the LSP is pretty bad, but Cursor makes up for a lot of that for me. Atlas dependency manager is great. Valgrind and TSan work perfectly. Gdb sorta works now. LLMS solve the docs issue.

The ecosystem is smaller, but I've been able to use it to successfully create tools for an IoT project with Nim running on an embedded esp32, a multi-threaded api server on linux processing images, and a web SPA with Karax in a couple of weeks of programming work. Oh and calling into Python for some datascience.

wolvesechoes 12 hours ago [-]
I obviously used hyperbole, as probably every single language out there is used in some serious project. And personally I am very fond of D language, so it is not like I am going to shit on Nim or anything else. I just had na impression that your comment implicitly express a sentiment popular on this website - that there is virtually no reason to use shitty Python in AD 2025, as some language X is as good or better in everything.

But then you find out that Nim people still rely on Nimpy, Rust people on PyO3, and even Julia people on PythonCall.

Yeah, no reason to use Python anymore, except by calling Python from your awesome language. The fact that these awesome Python packages are just wrappers over C/C++ doesn't change much - for some reason people using other languages are not willing to write and maintain wrappers of similar quality, including documentation.

elcritch 3 hours ago [-]
Ah good points. I do get a bit triggered from people who do crap on languages when hey you’ve built something, it works well, but it’s not written in whatever fad is current. Then go and rewrite it in react five times.

> The fact that these awesome Python packages are just wrappers over C/C++ doesn't change much - for some reason people using other languages are not willing to write and maintain wrappers of similar quality, including documentation.

True, the older I get the more I’m amazed at communities of people who just build things and keep them running. It’s impressive. But hey calling Python from other languages is pretty sweet.

Though I recently found the Python libraries for automation stuff to be lacking. So I wrote my own library with Claude. I suspect that the friction of creating good wrappers in smaller languages is lowering. I still used Python for actual clicking with a super small rest api.

ihaveajob 21 hours ago [-]
I'm wondering, what language do youb love nowadays?
nikolayasdf123 21 hours ago [-]
Go
smohare 19 hours ago [-]
[dead]
nikolayasdf123 21 hours ago [-]
C
zahlman 21 hours ago [-]
Would you really feel better about the same volume of Perl code, that was also using some FFI to a heavyweight C or Fortran math library?
22 hours ago [-]
17 hours ago [-]
smohare 20 hours ago [-]
[dead]
TheAlchemist 14 hours ago [-]
Nice watch !

Just wanted to say thank you to those people. They cared enough about it to make it what it is today. An incredibly versatile and powerful, yet simple to understand, language.

I remember when an old school C++ guy from a company I worked for showed up at my desk, he had a csv file he output for some complicated case of latencies issues to analyze (that was like ~10 years ago), and he got a glimpse of what a Jupyter notebook / pandas / plotting lib can do. After 15 mins, when we got a clear understanding of what was going on, his face expression was like 'what the hell did just happen ?'. Felt like magic. Still do !

pjmlp 11 hours ago [-]
Now imagine if the same guy had seen the same workflow being done in Smalltalk or Interlisp-D/Lisp Machines.

Jupiter Notebooks are a subset of what the experience felt like in those systems.

wraptile 15 hours ago [-]
Really enjoyed this and Python is basically what saved my software career.

Education system in Lithuania had turbo pascal in high-school and mostly java and c/c++ in university and while I really loved pascal in high-school the switch to Java was so jarring - "people really enjoy this? maybe I should do something else" is what I thought during my first year of college. Luckily Python started to become really big online and was such a joy to use and be a part of the community it really cleared up this notion that programming sucks. To this day this experience has stuck to me when approaching any new activity - is there a Python here somewhere that would unsuck this?

I'm quite a polyglot these days and will write Java if needed but Python is still my daily driver and it just feels right. If I'm doing something 10 hours a day, I'd like to feel good while doing it and that's exactly what Python delivers.

mont_tag 18 hours ago [-]
History of women in the Python world: In 2006, the first two women were voted in as PSF fellows, Laura Creighton and Anna Martelli Ravenscroft. In 2008, there were two women on the PSF board, Gloria Willadsen and Allison Randal. The woman mentored by Guido was Emily Morehouse-Valcarcel. She is now on the steering committee but was not featured in the film. Less prominent in the documentary was Carol Willing who was on the initial steering committee. Also featured were Mariatta Wijaya and Lisa Roach-Carrier who were mentored by another developer.
Chris2048 12 hours ago [-]
> Mariatta Wijaya .. who [was] mentored by another developer

But in the documentary Guido says he mentored Mariatta?

tqrlkab 11 hours ago [-]
[flagged]
jibal 11 hours ago [-]
Your comment casts you in an extremely bad light.
hitekker 7 hours ago [-]
It's good to have another record of history while most of the key participants are alive.

As someone who enjoys Python, I do wonder where Python will be in 10 years. I felt Guido's abdication came about due to fundamental challenges in the language (i.e., it's un-specifiable), which then were submerged by orthogonal, early 2020's social politics. I think some of the challenges have been addressed piecemeal (performance), but I worry that decisions makers may be losing their holistic understanding of the language.

bitpush 18 hours ago [-]
Is MartelliBot featured? Alex Martelli did sooo much for the success of python in the early days.

He was patient, informative and above all extremely thoughtful in his stackoverflow responses. He was also very generous with his talks, all of which added to the rich ecosystem Python had back in the day.

ayhanfuat 14 hours ago [-]
I didn't see him and he is not on the list:

"Armin Ronacher, Barry Warsaw, Benjamin Peterson, Brett Cannon, Drew Houston, Guido van Rossum, Jessica McKellar, Ken Manheimer, Lambert Meertens, Lisa Guo, Lisa Roach, Mariatta Wijaya, Paul Everitt, Patrice Lyons, Peter Wang, Robin Friedrich, Robert Kahn, Sjoerd Mullender, Steven Pemberton, Tim O'Reilly, Ton Roosendaal, and Travis Oliphant"

I believe he also coined the term duck typing.

attogram 24 hours ago [-]
1 hour and 24 minutes of python history, love it!
scripper1 21 hours ago [-]
I remember learning it in college. How easy it was to pull and parse a webpage and allow me to store and study the world’s information. I was hooked.
yomismoaqui 22 hours ago [-]
God bless the Go guys for not doing a Python 2 to 3 fiasco
aliljet 21 hours ago [-]
For better or worse, I find Python beautiful. And here's an easter egg for everyone (it comes up in the Documentary too):

  import this
Even on HN, indentation reigns king.
milliams 15 hours ago [-]
I enjoy:

  >>> from __future__ import braces 
    File "<python-input-2>", line 1
      from __future__ import braces 
                             ^^^^^^
  SyntaxError: not a chance
nighthawk454 18 hours ago [-]
Another fun one :)

    import antigravity
Hamuko 17 hours ago [-]
Yeah, nothing has really ever hit the same levels of readability that Python has for me, even if a language like Rust is very well-designed and better in many aspects.
sbinnee 13 hours ago [-]
I am surprised that the walrus operator had to do with Guido's resignation. The walrus operator is awesome. There are so many cases you need a temporary variable in a control flow. The walrus is a beautiful way to handle it.
mdaniel 7 hours ago [-]
"beautiful" is a bit of a stretch. I am completely open to the fact that doing it in a Pythonic way would make the grammar angry but things have gone off the rails when one needs to introduce a 2nd assignment operator into a language

  if ma = re.search(needle, haystack):
      print("ok, things are sane")
I cannot think of a stellar reason why assignment shouldn't be an expression in sane languages. While digging up the grammar[1] I was also reminded that walrus is seemingly incompatible with type annotations, too

  >>> if (x: str := re.sub("a", "b", "abc")):
    File "<python-input-8>", line 1
      if (x: str := re.sub("a", "b", "abc")):
         ^
  SyntaxError: invalid syntax
Also, you say "temporary variable" but it's no more temporary than any other local variable, because lexical scoping is evidently for children

I have always hated that comprehension variables leak for that same reason

1: https://github.com/python/cpython/blob/v3.13.7/Grammar/pytho...

zahlman 4 hours ago [-]
I'm still "surprised" (though I've known for years) that GvR and Peters were in favour of the design and co-wrote the PEP (https://peps.python.org/pep-0572/), and that the other author is Chris Angelico who I (also) otherwise greatly respect.

Where it's useful, it tends to just save a line of code or work around other defects (for example, the regex example near the start of the PEP points to either a missing null-coalescing operator — which has been repeatedly proposed and rejected, BTW — or the library's fault in not using the "null object" pattern). It's used twice for example as far as I can tell in all of pip and its vendored dependencies (>100 kloc), and it isn't really doing much in either case (https://github.com/pypa/pip/blob/main/src/pip/_internal/meta... and https://github.com/pypa/pip/blob/main/src/pip/_internal/meta... ; it was also used in `typing_extensions` but that's been dropped as a dependency; there are some false-positives related to code that parses source code and some data formats).

But most importantly to me, it fundamentally violates the strong https://en.wikipedia.org/wiki/Command%E2%80%93query_separati... seen throughout the rest of the language.

Meanwhile, changes that I think might actually be good are nowadays routinely rejected with the same kinds of arguments that PEP 572 faced and survived.

It's unfortunate that Guido felt harassed and ended up leaving the project. It was overall better under his leadership. I wish I'd been paying attention at the time. I suspect that the people who created that feeling must have themselves felt betrayed.

mixmastamyk 7 hours ago [-]
The functionality is sound, but Python already had the “as” pattern available. So I still believe creating a third way to do assignment was a mistake.
braza 8 hours ago [-]
Of course, languages always have their pivotal moment when they become a factor widely adopted in the whole world.

I cannot say for the back and general usage, but at least for AI/ML definitely that moment happened between 2014 and 2016 when Theano, Caffe, and later 2015/16 Tensorflow cemented Python as the default for ML applications.

ddanieltan 20 hours ago [-]
The launch of the documentary was followed up by a live Q&A session at EuroPython: https://youtu.be/Sf2AqQ5a38Y?si=BbJywWDCMZPgjhlN
agentultra 19 hours ago [-]
I can’t wait to see it.

I was big into Python for over a decade of my career. I spoke at Pycon US and Canada. Wrote a few libraries. It had a great community.

I’ll always be grateful for it.

mixmastamyk 20 hours ago [-]
One fateful spring day in 2000/2001? I read the Python tutorial. It was so good I never wrote a single new line of Perl after that, nor Java for about twenty years (when I brushed up because of needing a job).

Reading all the complaints about it recently is a bit surreal. Newer developers can't program without IDEs and "type systems." Packaging was kind of a mess, but feel like uv solved it. Neither issue really affected me, I used setup.py almost exclusively until moving to uv maybe six months ago.

It was always a glue/prototyping language—if you're using it for kernel drivers or multi-threaded Fibonacci servers or worse, that bad decision is yours (or that of your boss). ;-)

nromiun 19 hours ago [-]
Watching Python's rise has been a little wild. At first it was neck to neck with Perl and with Ruby after that. But then again nobody really expected AI to be this wildly popular.
zahlman 4 hours ago [-]
Python was already pulling way ahead of Perl and Ruby before that, largely due to scientific computing and data analysis stuff.
ActorNightly 18 hours ago [-]
There is a reason why NodeJS took off and was pretty much the prominent language on github before all the AI stuff with Python. Mind you this is pure JS, not even Typescript.

Processors and memory have gotten cheap enough were development speed matters more than compute cost.

nromiun 17 hours ago [-]
IMO NodeJS popularity was expected. After all these years you still can't use anything other than JS on the frontend (WASM is still too green). So if you are going to master a language you might as well use it in the backend too.
ChrisArchitect 21 hours ago [-]
Related:

Interview: Guido van Rossum Revisits Python’s Life in a New Documentary

https://thenewstack.io/guido-van-rossum-revisits-pythons-lif...

(https://news.ycombinator.com/item?id=45055272)

MilnerRoute 22 hours ago [-]
Here's another article with some comments from the new documentary's director - and from unsung Python hero Paul Everitt. (Everitt hired Guido van Rossum and all the other core developers in the late 1990s -- while keeping Python open source, and voting the nonprofit Python Software Foundation into existence.)

https://thenewstack.io/guido-van-rossum-revisits-pythons-lif...

pauleveritt 11 hours ago [-]
Thanks for the kind words, but really, I'm over-sung on this. It's been a long time since I impacted Python. I should be participating more. Hopefully t-strings is the place.
dang 19 hours ago [-]
Url changed from https://lwn.net/Articles/1035537/, which points to this.
__loam 22 hours ago [-]
[flagged]
jibal 22 hours ago [-]
Justify that claim.
__loam 8 hours ago [-]
I wonder if the popularity of a language that is dynamically typed, interpreted, and incapable of using OS features like threads has wasted more money than its proponents claim to have saved in so called development time. Languages like Go have existed for over a decade but we're still writing critical services in Python because we insist on teaching new programmers this garbage first before throwing them into the wilderness with no other tools.
some_guy_nobel 21 hours ago [-]
[flagged]
primitivesuave 20 hours ago [-]
Just to stymy the spread of misinformation - this is in reference to an interview from 2019 or 2020, where he said he would prioritize women/minorities for mentorship. While I personally don't agree with that notion (IMO mentorship should go to the most qualified person, regardless of race/background), I definitely didn't hear it as a refusal to help white men.
some_guy_nobel 18 hours ago [-]
[flagged]
lumpa 14 hours ago [-]
It is misinformation because it elides the context: white guys got virtually all the mentoring already, represented the absolute majority of core developers, held all the power in steering the language, etc.

So what he's saying is: my personal efforts focus on helping those that currently don't get help, don't have a voice. White man are doing fine already, they can forget getting direct help from me because they, as a group, don't need it.

So yeah, you can be upset that he's not offering to help those who, as a group, already have a path to getting into Python. Says a lot more about you though.

some_guy_nobel 7 hours ago [-]
So, it's okay for someone to say, "I won't help <race> <gender>, they can forget it", as long as <race>="white" and <gender>="male"?

And how do you define mentoring? Clubs? Participation in class?

Is an Italian man's participation in an open-source project equal to an American's? A Russian's? Why, because they're 'white'?

Should a Swedish man then be barred from help?

mixmastamyk 7 hours ago [-]
Twenty-year Python+ dev here that hasn’t worked in a year and a half. We all need help once in a while.
fnord77 22 hours ago [-]
> world's most beloved programming language

The more I use python, the more I hate it. For the inconsistencies and the short comings and the stuff it glosses over and absurdities like having the default queue be thread safe (sacrificing performance). My personal opinion is it is a garbage language.

zahlman 21 hours ago [-]
> absurdities like having the default queue be thread safe (sacrificing performance).

Why is this absurd? What are you writing where you need to scrape this sort of performance, but are perfectly fine with the overhead of interpreting bytecode at runtime, heap-allocating objects to represent floating-point numbers, not having homogeneous-type arrays that can store their elements contiguously in memory but which must indirect them, etc. etc. etc.?

Alternately, what world are you living in where everything a program does is CPU-bound and must be done efficiently? In this world, what led you to examine or try Python in the first place?

ihaveajob 21 hours ago [-]
I used to love Python. I still love it, but I used to love it, too.
breatheoften 21 hours ago [-]
Hilarious . I was a python fan before I was a reluctant user. It still has the most reliable debugger integration of any mainstream language which is my favorite thing about the language in its current state.

Debugger >> language -- next most popular language manifesto slogan (i hope).

ekianjo 22 hours ago [-]
> most beloved programming language

Citation needed

runjake 21 hours ago [-]
It’s #1 in the language admired/desired section of this year’s Stack Overflow Developer Survey. Perhaps that’s what they were referencing?

https://survey.stackoverflow.co/2025/technology/#admired-and...

ekianjo 19 hours ago [-]
"Want to use" is not the same thing as "I used it and I love it"
runjake 4 hours ago [-]
You missed that whole "admired" part of my point and the link. :-/
janmo 21 hours ago [-]
It is a very subjective take indeed
tx5912379 15 hours ago [-]
Python got big by impeccable marketing and this is the logical continuation. Several people in the video are raging bureaucrats who haven't done much apart from talking. Steering Council members who canceled and libeled Tim Peters are in that video.

Python has always suffered from the overrepresentation of talkers, and the recent draconian "leadership" that consists of the worst people have driven most developers away apart from some failing corporate projects.

This video tries to revive the spirit that existed in 2000 before many of those developers sold out Python to corporations and turned utterly evil.

bitpush 8 hours ago [-]
> Python got big by impeccable marketing

This is so further from the truth that it hurts. It sounds like you're fairly new to python, and you probably only saw python in its third or fourth "wave" at which point there were alternatives, and you could ask why was python being promoted.

- The first wave was systems programming (replacing aging perl and bash scripts) - Second wave was web, with django, flask etc. This is also the rise of Ruby on Rails. This cemented python's stature. - Third wave was data analysis, fueled by numpy and pandas - Fourth wave is ML, building on top of third with tensorflow and pytorch.

You can argue we've in the fifth wave with LLMs, but it is mostly a 4.5 in my head.

If you dont remember waves 1 or 2, it is hard to get a perspective. But python was much much much big by wave 2.

penguin_booze 17 hours ago [-]
Ugh, but why is the video so dark?!