8 ms·
How Python grew from a language to a community
- lukaslalinsky 1y agoI 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.
- sigmoid10 1y agoIn 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.
- toyg 1y 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.
- deleted 1y ago[deleted]
- Daishiman 1y agoBut 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 1y agoI 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 https://archive.ph/IB2kR
- dkdcio 1y agoFWIW 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!
- deleted 1y ago[deleted]
- rossant 1y ago2001? But wasn't NumPy created in 2005? Apparently its predecessor was called Numeric.
- pryelluw 1y agoOT: 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.
- countfeng 1y agoPaul Everitt's confidence and enthusiasm forcontinuous improvement have made Pythonwhat it is today. Thanks
- brcmthrowaway 1y agoThe 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.
- thrownawaysz 1y agoGrey 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 1y agoDo Grey beards care about AI?
- maxbond 1y agoI 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 1y agoBig companies submit PEPs to force their will on Python. Meta and GIL removal.
- maxbond 1y ago
- musicale 1y agoI 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.
- doesnt_know 1y agoThere are countless dead programming languages without communities you can pick then.
- rusk 1y agoRuby 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.
- melagonster 1y agoPerl have almost perfect backward compatibility, but small community and bad renown are not so good.
- DonHopkins 1y agoBackwards compatibility is terrible if what you're being backwards compatible with is terrible.
- rusk 1y agoIsn’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.
- randomcarbloke 1y agoDrama 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 1y agotrue that, perl5 to perl6 (now raku) was a master class in that Raku is the most modern PL s metric
- randomcarbloke 1y agoI stopped using Perl in the early 00s but I've heard rumours, how bad was it?
- librasteve 1y agowell 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]
- michaelcampbell 1y agoIs there a canonical "perl 6" now? LIke I can't go to perl.org and download one, or at least the "latest stable version" is listed in the 5.x range still. Or is "perl 6" not even a thing to ask about, and "raku" is what was to be "perl 6" became?
- bgwalter 1y agoThat 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.
- toenail 1y agoLol, what does this mean?
- ayhanfuat 1y agoMost recently Tim Peters was suspended and many people found the suspension reasons unjustified. I assume the GP is referring to similar events.
- ahoka 1y agoOf the Timsort fame, wow.
- zahlman 1y agoTimsort, 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%3Aanswer https://stackoverflow.com/search?q=user%3A2705542+is%3Aanswe...
- lumpa 1y agoAnd still an important voice in the Python community: https://discuss.python.org/u/tim.one/summary https://discuss.python.org/u/tim.one/summary
- toenail 1y ago
- bgwalter 1y agoIt 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 1y agoI really hope Tim being in the documentary is the plot twist. He deserves a big chunk of time too.
- pseufaux 1y agoThe Talk Python podcast just did an episode adjacent to this https://talkpython.fm/episodes/show/513/stories-from-python-history https://talkpython.fm/episodes/show/513/stories-from-python-...