Python Core Developers Release Version 3.10 -- First Major Release Since Transition from Python 2 (zdnet.com) 27
ZDNet reports:
"Python 3.10.0 is the newest major release of the Python programming language, and it contains many new features and optimizations," CPython maintainers announced in a blogpost...
One of the headline features is "structural pattern matching" in Python 3.10 -- a technique for handling data that's already available in C, Java, JavaScript, Scala and Elixir. "Structural pattern matching has been added in the form of a match statement and case statements of patterns with associated actions. Patterns consist of sequences, mappings, primitive data types as well as class instances. Pattern matching enables programs to extract information from complex data types, branch on the structure of data, and apply specific actions based on different forms of data," the project explains in release 3.10 notes. "While structural pattern matching can be used in its simplest form comparing a variable to a literal in a case statement, its true value for Python lies in its handling of the subject's type and shape," it adds.
Python core contributors presented the update in a meeting this week. Pablo Galindo Salgado, a physicist and core Python contributor, explained how the project is using Microsoft's GitHub Actions DevOps (CI/CD) tools to test Python changes on Windows, Linux and macOS systems. "When you merge something to Python, there is a CI in GitHub Actions, and we have other providers, although we are mainly using GitHub Actions now. It tests your commits on every single commit on Linux, Windows, and macOS," said Salgado.
Besides better error messages (including more precise and reliable line numbers for debugging), other changes to the language include overloading the pipe operator to allow a new syntax for writing union types, and type aliases (a kind of user-specified type, offering a way to explicitly declare an assignment as a type alias).
One of the headline features is "structural pattern matching" in Python 3.10 -- a technique for handling data that's already available in C, Java, JavaScript, Scala and Elixir. "Structural pattern matching has been added in the form of a match statement and case statements of patterns with associated actions. Patterns consist of sequences, mappings, primitive data types as well as class instances. Pattern matching enables programs to extract information from complex data types, branch on the structure of data, and apply specific actions based on different forms of data," the project explains in release 3.10 notes. "While structural pattern matching can be used in its simplest form comparing a variable to a literal in a case statement, its true value for Python lies in its handling of the subject's type and shape," it adds.
Python core contributors presented the update in a meeting this week. Pablo Galindo Salgado, a physicist and core Python contributor, explained how the project is using Microsoft's GitHub Actions DevOps (CI/CD) tools to test Python changes on Windows, Linux and macOS systems. "When you merge something to Python, there is a CI in GitHub Actions, and we have other providers, although we are mainly using GitHub Actions now. It tests your commits on every single commit on Linux, Windows, and macOS," said Salgado.
Besides better error messages (including more precise and reliable line numbers for debugging), other changes to the language include overloading the pipe operator to allow a new syntax for writing union types, and type aliases (a kind of user-specified type, offering a way to explicitly declare an assignment as a type alias).
Outstanding Troll: "First Major Release" (Score:1)
ZDNet reports:
"Python 3.10.0 is the newest major release
If that's merely accidental, then my name is "Let's Go" Brandon Tarquin Quirkendrubble (LGBTQ).
Re: (Score:2)
Re: (Score:1)
SuperKendall of course
Re: Does anyone have python3.8 or more for RHEL 7? (Score:2)
Re: (Score:1)
Does anyone have a working python3.8 or later RPM building for RHEL 7?
Usually it's a bad idea to replace a distro's Python because it breaks things.
Done this once and ruined a linux installation so it could no longer update.
You can do alternative installs of other Python versions next to the system python.
Google for the term "altinstall"
Lost dependencies. (Score:2)
Note that Python 3.9.7 cannot be used on Windows 7 or earlier.
Unfortunately leaving a lot of people behind.
Re: Lost dependencies. (Score:2)
Do you know what year it is and what the version number of Windows is?
Re: (Score:1)
I also know one of the selling points of open-source as opposed to proprietary is no forced obsolescence. Python is pulling a Windows 11 on us.
Re: (Score:3)
Windows introduces breaking changes which developers have to follow in order to keep their software running properly, and for this you aim your ire at - open source?
Python is running great on everything which is currently supported. If you want to run it on Windows 7, you can provide patches - to Python. Try providing patches to Windows 7 to bring it up to speed with Windows 10 and see how far you get.
Re: (Score:2)
Re: (Score:1)
I also know one of the selling points of open-source as opposed to proprietary is no forced obsolescence. Python is pulling a Windows 11 on us.
Actually, no.
Python is fully open source so no-one stops you from compiling it to run on windows 7.
The first few 3.9 betas ran on windows 7 - mostly without problemns, but you needed to have the latest windows updates installed.
But Python is also created by volunteers without receiving payment from users. To keep that sustainable new official releases are limited to operating systems that are in active support on the release day.
If you want Python 3.10 on Windows 7, download the code, locate the line where
Python is hell (Score:2)
Re: (Score:2)
Backwards incompatibilities? (Score:2)
Did they break any backward compatibilities ?
Yes, I'm still smarting from the work needed to move from Python 2.7 to 3.something. Perl hasn't pulled that kind of shit on the userbase for many many years (minor changes yes - bigtime backwards incompatibility no), still waiting to see if I can trust Python has finally grown up.
Re:Backwards incompatibilities? (Score:4)
Python 3 came out in 2008. Then, after that, in 2009 was when Perl broke magnificently with 5.10.1.
So Perl and Python broke badly at the same time, yet your ire is aimed at Python, which since then has not had that kind of breakage. Despite Perl's breakage being around the same time.
This isn't about when something happened. If it was, it would be Perl you would be casting shade on. This is about something else. Show us on the dolly where Python hurt you.
Re:Backwards incompatibilities? (Score:4, Funny)
3.9 = 3.10 "Major Release"? (Score:2)
Re: (Score:2)
Re: 3.9 = 3.10 "Major Release"? (Score:2)
I would agree it is a major release. With the changes to better help and the addition of match...it's a release I have been eagerly anticipated.
You are looking at the numbering system. The version is not 3.10...it is 3.10.0. The move from 2-3 happened 13 years ago, and got a first digit change because it literally broke basic in-built functions.