zlacker

[return to "How Python grew from a language to a community"]
1. musica+ji1[view] [source] 2025-08-04 06:47:26
>>lumpa+(OP)
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.
◧◩
2. doesnt+Ri1[view] [source] 2025-08-04 06:54:29
>>musica+ji1
There are countless dead programming languages without communities you can pick then.
◧◩◪
3. rusk+Tj1[view] [source] 2025-08-04 07:08:35
>>doesnt+Ri1
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.

◧◩◪◨
4. xdfgh1+Lu1[view] [source] 2025-08-04 09:19:03
>>rusk+Tj1
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.
◧◩◪◨⬒
5. simonw+Ra2[view] [source] 2025-08-04 14:17:26
>>xdfgh1+Lu1
> 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"
◧◩◪◨⬒⬓
6. mdanie+7i2[view] [source] 2025-08-04 14:48:01
>>simonw+Ra2
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
[go to top]