1. 40
    1. 23

      Finally, Python for workgroups.

      1. 3

        Oh, it took me too long to get that joke  😀

        1. 11

          It was even the “official” name of the 3.11 release of the Linux kernel: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Makefile?id=v3.11#n5

        2. 2

          You have to be of a certain age.

    2. 2

      Are the Python and TypeScript type systems similar?

      1. 6

        Yes and no. Python’s type system affects runtime in the sense that you can analyse it on runtime while TypeScript’s is build only and removed at build time. But both serve the same core goal of adding stricter typing to dynamic languages (Python and JavaScript) and they learn a lot from each other.

      2. 4

        No. Assuming we’re talking about mypy (Python doesn’t have a blessed type system, but type annotations), then mypy by default is nominally typed rather than Typescript’s structural typing (though Mypy has support for protocols, which look like structural typing)

        Ultimately Python’s object model is very different from Javascripts due to descriptors, so it makes stuff like Django models hard to model. On top of that, mypy doesn’t have some extremely useful type system utilities like declared type guards and type intersections.

        In my experience, mypy often feels like its approaching what many have experienced in OOP languages, whereas Typescript’s structural typing + type level programming aims to go much further.

        That being said both tools have similar onboarding strategies and work reasonably well with a typed/untyped code mix.

        1. 1

          Don’t ES6 classes have descriptors (or at least getter / setters)?

          And unless I’m misunderstanding what you mean, python does have typing.TypeGuard

    3. 2

      “And now for something completely different”. <- absolutely loved this paragraph. Unexpectedly welcome.

    4. [Comment removed by author]

      1. 25

        Is it really “blogspam” when it’s literally the release team’s post on blog.python.org?

      2. 6

        The obvious explanation is that OP is subscribed to the blog via RSS or something similar, which does not appear to be something one can do for the actual release page.