lukaslalinsky a day ago

I was fresh at university, around 2001, and our mathematics professor introduced us to Python with NumPy/SciPy as an alternative to the commercial math tools. There aren't many events that changed my career as much as that. Being exposed only to compiled languages before that, it blew my mind. It was friendly, expressive and came with batteries included.

There was a huge sense of community around Python, that I didn't really see elsewhere in the programming world. It started with these scientific libraries. Python wouldn't be what Python is today without NumPy. It was nice to see in the last years the boost of the Python scientific community, with basically anything machine learning using Python as the DSL.

  • toyg a day ago

    > It started with these scientific libraries.

    I disagree. The scientific libraries were just one of many niches, and an awkward one at that. One could equally say "it started with xml libraries" or "it started with file-handling libraries" or "it started with http libraries" -- all of which were in the Standard Library very early, unlike the horrible-to-build numpy/scipy. All of these made the language popular initially across a number of different crowds. Numpy/scipy reached traction relatively late when Python was already well-established in niches like sysadmin, web, education, 3D, and many others. By 2001 we already had multiple web frameworks, Zope, even WSGI...

    It is occasionally annoying how this or that crowd tries to appropriate Python's success, hence flattening its purposes and aims.

    • Daishiman 15 hours ago

      But all the other use cases were covered back then primarily by Perl. Python was the first dynamic language to effectively use this class of libraries.

      • js2 11 hours ago

        I had been using Perl from 1995-2000. I was a fairly advanced Perl programmer (was there for the Perl 4 -> 5 transition), using it mostly for automating system administration tasks.

        In 2000 I joined a new startup and was shown Python 1.5.2 by the startup's chief architect/scientists. He'd come from Infoseek where he'd used it there to help build parts of the company.

        Now, I loved Perl. I was one of those annoying geeks with "RSA in 4 lines of Perl" T-shirt. I'd write JAPH programs for fun. But I appreciated how much "smaller" Python was than Perl. I was able to learn pretty much all of its rules in an hour? I didn't have to worry about all the crazy ways Perl programs could express themselves. (Is this scalar context or array context?[^1] Is this script using my or local? What the heck does this crazy line I didn't write do again? Oh wait, I wrote that line!)

        So anyway, this startup was using Python and now so was I.

        That startup is long gone, but I'm still using Python daily in my career.

        And I've never used numpy.

        Perl was/is great, but it's just too quirky to have the broad appeal of Python.

        [^1]: "It's all about context": https://archive.ph/IB2kR

        • dkdcio 7 hours ago

          FWIW I learned Perl in 2016, and it became my language of choice (sorta) for ~6 months, but the overwhelming momentum of Python is hard to avoid. Perl was/is cool though!

  • sigmoid10 a day ago

    In my university, we were given a choice to use either Matlab or Python for exercises in many advanced courses. We even got Matlab licenses for our personal computers. But since the smallest Matlab installation still came in at several GB and my personal computer was always full with games, I chose the python stack which came in at maybe 100-200 MB for all relevant packages, while nearly everyone else chose Matlab. None of them have ever used Matlab again after University and I still use Python all the time.

  • rossant 10 hours ago

    2001? But wasn't NumPy created in 2005? Apparently its predecessor was called Numeric.

pryelluw a day ago

OT: if you’re ever in Atlanta, come check out pyatl. We’re a pretty old and established python group. It’s always fun and interesting.

randomcarbloke a day ago

Drama driven development is the truly modern paradigm, and if you think it's limited to Python you're blind.

It's not community, it's meddling, toil, and folly.

  • librasteve a day ago

    true that, perl5 to perl6 (now raku) was a master class in that

    Raku is the most modern PL s metric

    • randomcarbloke 21 hours ago

      I stopped using Perl in the early 00s but I've heard rumours, how bad was it?

      • librasteve 19 hours ago

        well it started out with perl6 as a breaking change major upgrade to perl5

        the perl community fractured into those that wanted to avoid a breaking change (since they feared the kind of pain that Python 2 => 3 would later encounter) and those that wanted to evolve the language with things like a Type system and Object Oriented coding as standard

        the fracture became a chasm when it became obvious that perl6 was taking years and that there was no migration path from perl5 to perl6 - users began to explore options and often Python was top of the list

        this was exacerbated by the use of perl6 as the name ... later (much later) the name was changed to raku ... but by then the perl language was a shadow of its once dominant self and CPAN (the perl module library) lost a lot of folks doing maintenance and improvements so that began to bitrot

        fear lead to anger, anger lead to hate

        [btw raku is now very nice with all these features and still the great feel of classic perl and has a small but active and friendly community]

  • wolvesechoes 15 hours ago

    > Drama driven development

    Yes, the main paradigm across the FOSS world.

  • defraudbah a day ago

    that's why I love rust!

    • randomcarbloke 21 hours ago

      because you like the drama? It is quite entertaining but so tiresome.

      • defraudbah 21 hours ago

        he-he, sometimes, but mostly because it shows there are real people behind who have emotions. Agree on rust (put rails or others here) having too much of it sometimes

countfeng a day ago

Paul Everitt's confidence and enthusiasm forcontinuous improvement have made Pythonwhat it is today. Thanks

bgwalter a day ago

That is all good and well. Unfortunately, it degenerated into a tyranny where a small group of mediocre people grabbed power, censored the infrastructure and threatened people with defamation if they didn't obey.

Most developers have left or have been driven out. The remaining ones do corporate projects that generally underdeliver.

  • philipallstar 21 hours ago

    This is very normal - people like that are drawn to the free money available at foundations. Thankfully uv etc from Astral are doing what the very medicore minds at the PSF cannot.

  • toenail a day ago

    Lol, what does this mean?

    • ayhanfuat 21 hours ago

      Most recently Tim Peters was suspended and many people found the suspension reasons unjustified. I assume the GP is referring to similar events.

      • toenail 21 hours ago

        Ah, that makes sense, thanks. A few years ago I saw bullying and harassment in one Python project that was instigated by the code of conduct committee. Seems like history is repeating..

      • ahoka 21 hours ago

        Of the Timsort fame, wow.

        • zahlman 11 hours ago

          Timsort, the Zen of Python, and many other things. Over 2500 commits to the CPython repository overall (11th on the all-time list). Quite good at explaining details of how floating-point works, especially as relates to Python, IMX. And extraordinarily helpful over a long period of time: https://stackoverflow.com/search?q=user%3A2705542+is%3Aanswe...

bgwalter 21 hours ago

It is striking that this article equates community with bureaucratic efforts like setting up the PSF and getting funding for the PSF. It is essentially a hagiography for the bureaucrats. The omission of Tim Peters, who was later slandered by bureaucrats, is notable.

  • lumpa 21 hours ago

    I really hope Tim being in the documentary is the plot twist. He deserves a big chunk of time too.

musicale a day ago

I don't want a community - I want a programming language. Preferably one that doesn't throw away billions of lines of existing code just because.

  • zahlman 11 hours ago

    Python 2 code was absolutely not "thrown away just because". Nobody made your interpreter stop working; it was never on a cloud service or anything like that. It just stopped receiving bugfixes from core team (it's open source so everyone was and is free to take over maintenance) and third-party tool and infrastructure support (notably, PyPI) doesn't take it into consideration any more.

    Further, the changes were made for very good reasons, such as allowing beginners to accept user input on day 1 without opening ACE exploits in their programs, and having plain double-quoted string literals actually produce a string rather than an immutable byte buffer that vaguely assumes a generic code-page encoding, except for the contexts where it will complain if it's not plain ASCII (admittedly, this is still an improvement over trying to handle text in C with only the standard library), and making sure that decoding operations don't produce encoding errors and vice-versa, and making `isinstance(1<<64, int)` give the expected `True` result, and making `except` syntax make sense, and making sure there aren't two fundamentally different kinds of user-defined class.

    And by making these changes, we actually got Python 3 in about 2.5 years (4.5 if you allow for the first couple of releases having some issues figuring out the string literal transition and other such details — I agree they were premature) and were able to offer another 11 (9) for everyone to migrate. Whereas with Raku the entire 13.5 (more like 15.5) year period was spent on design and implementation, and now there hasn't been a new stable release for almost 5 years.

    • musicale 17 minutes ago

      From my perspective (suffering through the python 3 transition and living with ongoing changes in 3.x), compatibility was - and is - poorly handled. Many things can and should be done to ease the maintenance burden: things like intelligent defaults, compatibility libraries, and not doing stupid things like ripping out the print statement.

      Python's developers exhibited a truly dazzling contempt for the users of the language, and for existing code bases.

      Other languages (though not all.... <swift, cough>) have had an actual standard (one that even keeps working as runtime systems evolve) and not been so keen on dropping users and their code off a cliff.

      Platforms should absorb pain so that their users don't have to, and avoid breaking changes with pain that is multiplied across an entire user base.

      Apple (also known for arrogance combined with contempt for their developers) also gets this wrong, and loves to break iOS and Swift apps every year.

  • doesnt_know a day ago

    There are countless dead programming languages without communities you can pick then.

    • rusk a day ago

      Ruby and Perl are great examples of massively popular languages that withered because the language/platform outpaced the community.

      If the first question you’re asking yourself looking at a code base is “what version is this/do I know this version” then that language is not facilitating you.

      The successful languages are ones where “the community” prioritises backward compatibility. Java, C, Python have backward compatibility spanning decades. There’s a few discontinuities (lambdas in Java 8, Python 3, C++) but in most cases there’s a clear mapping back to the original. Python 3 is an exception to this but the migration window was something like 15 years…

      Busy engineers, scientists and academics have little interest in keeping up to date with language features. A computer and a programming language are a tool for a job and the source code is just an intermediate artifact. These are your “community”, and the stakeholders in your success.

      • xdfgh1112 a day ago

        Have you used them? Perl has version tags in source code and everything is feature gated including the stdlib. Python does none of that. The stdlib changes constantly and just looking at source code gives you no indication if you can run it with your installed python version.

        • simonw 17 hours ago

          > Perl has version tags in source code and everything is feature gated including the stdlib. Python does none of that.

            from __future__ import annotations
          
          > just looking at source code gives you no indication if you can run it with your installed python version

            requires-python = ">=3.9"
          • chromatic 16 hours ago

            I prefer Perl's approach for both:

                use v5.40;
            
                ....
            
            
            That's explicit, tied to a specific version, and executable code which can be scoped to a single source file.

            (I'd argued for that feature for years with my `Modern::Perl` feature bundle; glad to see that can be deprecated now.)

          • mdaniel 16 hours ago

            I don't believe that "from __future__" is the future-proofing you think it is, they just named it that way to be cute - a hypothetical 3.19 version couldn't even use it, since it's just a normal python import

              $ python3.13 -c 'from __future__ import awesome_feature'
                File "<string>", line 1
              SyntaxError: future feature awesome_feature is not defined
            
            the very idea of "future feature is not defined" is insaneo

            Anyway, I'd guess what they intend is

              try:
                from __future__ import fever_dream
              except SyntaxError:
                fever_dream = None
            
            because python really gets off on conditional imports
            • simonw 16 hours ago

              I was responding to the "Python does none of that" by pointing out that Python does indeed have features to help introduce new capabilities in a thoughtful way - I know it's not the same thing as something like conditional imports.

      • melagonster a day ago

        Perl have almost perfect backward compatibility, but small community and bad renown are not so good.

        • hnfong a day ago

          Perl doesn't have "perfect backward compatibility" in the normal sense of the word. There is only Perl 5 which is perfectly compatible since it hasn't changed for 25+ years (which is how they achieved "compatibility" -- by not changing), and there's Perl 6 which isn't backward compatible and nobody really uses it.

          • raiph 6 hours ago

            > Perl 5 ... hasn't changed for 25+ years.

            A major new version of Perl ships regularly. A few weeks ago the latest major new version shipped. From the 2025 changes document:

            > Perl 5.42.0 represents approximately 13 months of development since Perl 5.40.0 and contains approximately 280,000 lines of changes across 1,600 files from 65 authors.

            Skipping back 5 major new versions (to 2020):

            > Perl 5.32.0 represents approximately 13 months of development since Perl 5.30.0 and contains approximately 220,000 lines of changes across 1,800 files from 89 authors.

            2015:

            > Perl 5.22.0 represents approximately 12 months of development since Perl 5.20.0 and contains approximately 590,000 lines of changes across 2,400 files from 94 authors.

            2010:

            > Perl 5.16.0 represents approximately 12 months of development since Perl 5.14.0 and contains approximately 590,000 lines of changes across 2,500 files from 139 authors.

            There's been well over 10 million lines of code changed in just the core Perl codebase over the last 25 years reflecting huge changes in Perl.

            ----

            Perl 6 ... isn't backward compatible

            Raku runs around 80% of CPAN (Perl modules), including ones that use XS (poking into the guts of the Perl 5 binary) without requiring any change whatsoever.

            (The remaining 20% are so Perl 5 specific as to be meaningless in Raku. For example, source filters which convert Perl 5 code into different Perl 5 code.)

            ----

            But you are right about one thing; no one you know cares about backwards compatibility, otherwise you'd know the difference between what you think you know, and what is actually true.

            • hnfong an hour ago

              > But you are right about one thing; no one you know cares about backwards compatibility, otherwise you'd know the difference between what you think you know, and what is actually true.

              What the hell is this? Even if nobody I know cares about backwards compatibility, how does this relate to whether my knowledge is true or not?

              Apologies for trivializing perl5's progress in the past 25 years, but come on, chill out dude.

          • melagonster a day ago

            I know people don't like Perl, I just want to add some info here. The Perl 5 Porters have restarted adding new features at 15 years ago. It has progressed from version 5.20 to 5.42. Although the speed is slower than popular languages, they are maintaining backward compatibility while adding new features.

            Perl6 had been renamed to new language, Raku.

        • DonHopkins a day ago

          Backwards compatibility is terrible if what you're being backwards compatible with is terrible.

        • rusk a day ago

          Isn’t the actual “platform” itself fragmented these days? Different language versions, different libraries, different “engine”?

          I dunno it was 20 years ago I jumped ship when they tried shoehorning object oriented semantics into it. Eugh.

          • melagonster a day ago

            I do not really know which event you mentioned. But if you use the current version of perl interpreter. It still work for most of old versions. And new features keep safe for old perl.

      • nottorp a day ago

        How have they withered? Does every programming language have to compete for world domination via cancerous growth? I thought that only applied to VC backed startups and public companies if the startups survive...

        • rusk a day ago

          They’re not actively used in any circles I move in. The fact that your back is up suggests you have something invested in these antiquated niche tools.

          • nottorp a day ago

            Seriously? I tried Perl only once ever in my life time and I've never done Ruby.

            Doesn't mean I have to deny them the right to exist because they don't have a "community*".

            * more like a religion for some programming languages.

            • rusk 21 hours ago

              They have a right to exist. But there is strength in community. Successful platforms facilitate this and provide a means for participants to exceed the sum of there parts.

              This can in turn fuel development of the platform therefore helping keep it relevant.

              In recent times we call this “the network effect” and it applies to more than just social media.

      • wiseowise a day ago

        What makes you think Ruby withered? It has been stagnant, but not withered.

        • rusk a day ago

          The community withered. 10-15 years ago the cries of “Ruby” “Ruby” “Ruby” were deafening. I used Ruby and I really enjoyed and I thought I would leave Python behind but it but it never went anywhere from there. Somewhere around 3.x I think there were a load of breaking changes introduced and I imagine lots of people like myself just went back to using more stable platforms.

  • nromiun a day ago

    The great thing is that you don't have to join any community. Python is my favorite language and ever since I got flamed for asking a technical question in their subreddit I stopped going there.

    There are hardly any non-toxic programming communities out there. And if you value backward compatibility over everything else you can look at C and C++.

  • ModernMech 16 hours ago

    Unfortunately, a programming language without a community is nothing, because more than anything programming languages are languages, and a language is dead without a community that speaks it.

    • linhns 13 hours ago

      Exactly, that’s why Bjarne Strousoup says there are only 2 types of languages, one that people complain about, and one nobody uses

brcmthrowaway a day ago

The real question is how did Python avoid the toxicity of the Linux or bitcoin dev community (remember the block size debate?)

Though there was a developer who was forced to quit a while ago.

  • bigstrat2003 a day ago

    It didn't. I've seen people in the Python community tear someone's open source project to shreds because "it isn't Pythonic". It really soured me on the Python community when I saw people acting that way.

    • toyg a day ago

      It actually did, all the way until it got so mainstream in the web world that avoiding drama became basically impossible.

      Until the "cool kids" started meddling, it was a lovely village. It had a strong focus on beginners and teachers.

      • wirrbel a day ago

        this summarizes pretty well my first thoughts when reading the headline: "How python grew from a language to a community", because the Python community in 2000, the Python community in 2010, these are a different place to "whole world uses Python" in 2025.

        Back then it felt like a bit of a club, one that forms around a common hobby. Nowadays it feels more like the "community" of a high-school graduation class. Sure there is community there, but its mostly one of folks randomly thrown together into classrooms.

        Folks like Raymond Hettinger would today be totally drowned out in the listicle-style attention seeking times.

        > in the web world

        I would put that more broadly though, it was web, data-science, there was a point when it became the universal scripting language, and part of me kind of hoped that the crowd would move to nodejs for all of it, so that Python can become more peaceful again. But I guess there is no going back, we went from dinghi to cruise ship, and when the crowd leaves, it will just be a deserted cruise ship.

        • sharpshadow 10 hours ago

          The folks at the German python forum were very friendly to beginners and even answered the ‘dumb’ questions back then. Don’t know how it is today.

    • closewith a day ago

      Yeah, like most (maybe all) communities, Pythonistos can be pretty toxic if you're not in the in-group.

  • maxbond a day ago

    I think the Bitcoin part is simple - it doesn't have the perverse incentives of an investment vehicle. Everyone's financial stake is indirect and diffuse, it's not likely that any given PEP is directly connected to a developer's bottom line (though presumably this happens occasionally).

    • brcmthrowaway a day ago

      Big companies submit PEPs to force their will on Python. Meta and GIL removal.

      • maxbond 21 hours ago

        Who is pro-GIL...?

        The point is that, unlike in the Bitcoin block size debacle, you don't have people who are pulling in different directions because it directly impacts their bottom line if Python does X or Y. There's no one who particularly profits from there being a GIL.

        • dagw 20 hours ago

          Who is pro-GIL

          Nobody is pro-GIL per se. But a lot of people were pro-No-Single-Threaded-Performance-Desegregation. The first GIL-removal patch was submitted all the way back against python 1.4, and regular attempts have been made ever since, but it wasn't possible to remove the GIL without making the single threaded performance of existing python code worse, so Guido and co. refused to accept them.

          • bgwalter 20 hours ago

            And the performance hit is still up to 50%, just like in the first attempts. Except this time it comes from Facebook.

            • maxbond 20 hours ago

              Poking around, I've not been able to find anyone else claiming higher than 10%? Is this 50% from your benchmarks, or is there a link I can see?

  • ciupicri 12 hours ago

    One of the strengths of Bitcoin is its stability, the fact that it doesn't change on someone's whim like it happened for example with Ethereum which was forked because someone was smarter than their dumb contracts.

  • bgwalter a day ago

    Python is one of the most toxic communities out there. A couple of people sold out python-dev to their corporations and used the CoC and non-programming related activities to gain power. They drove people out who dared to contradict them.

    Some of the clique have been fired later and now CPython is basically a hollow shell with some corporate projects still going on.

    • lumpa 21 hours ago

      This is completely bonkers.

      The Python community is welcoming, many come for the language and stay for the community. It's not, of course, free of politics or drama, but it's very far from what you describe. Local communities are very strong, CPython core community seems to always be trying to improve to me.

      Even Tim Peters, who I really hope is part of the documentary, is an enthusiastic participant, both helping with gnarly CPython issues and providing assistance to newbies.

      If you look at the Fellows list[0], you can see that many important names aren't active in the community anymore (I don't know the reasons for each one), but many more are either active or in (very) good terms with the community.

      The CoC was and is a net positive, the diversity efforts even more so. Last Saturday I was at a local Python conference and the local community has welcome both, to great success and improvement.

      [0] https://www.python.org/psf/fellows-roster/

      • philipallstar 15 hours ago

        > The CoC was and is a net positive, the diversity efforts even more so

        By what measures?

  • thrownawaysz a day ago

    Grey beards didn’t take Python seriously, or more like they just didn’t care about. C and Java what matters after all and Python is just a toy for beginners!

    • brcmthrowaway a day ago

      Do Grey beards care about AI?

      • evdubs a day ago

        The Lisp grey beards do.