Python 3.4 erscheint ohne neue Sprachsyntax-Elemente
Seit gestern steht mit Python 3.4 eine neue Version der objektorientierten Skriptsprache zum Download bereit. Die Release Note erwähnt eine ganze Reihe an Neuerungen, darunter allerdings keine neuen Elemente für die Sprachsyntax. Python wird eine besonders hohe Codequalität nachgesagt.
Nach rund 18 Monaten Entwicklung ist die wichtigste Änderung bei Python 3.4 die Integration der Python-Paketverwaltung pip, die unabhängig von der Sprache entwickelt wird. Sie ist in Version 1.5.4 in Python 3.4 eingebunden. Das Modul ensurepip sorgt mittels eines Cross-Plattform-Bootstrapping-Mechanismus dafür, dass pip in jedem Fall auf allen Plattformen verfügbar ist.
Weitere Änderungen betreffen die neuen Bibliotheks-Module asyncio, enum, pathlib, selectors, statistics und tracemalloc sowie Verbesserungen an unter anderem den Modulen functools, multiprocessing, email, inspect und pydoc. Der neue Hash-Algorithmus Sip-Hash soll die Sicherheit von Python-Programmen erhöhen. Zudem wird nun TLS 1.1 und TLS 1.2 für SSL unterstützt. Eine weitere Erhöhung der Sicherheit erwarten die Python-Entwickler von einer Änderung bei der Erstellung von Dateidiskriptoren. Diese sind nun nicht mehr vererbbar und können somit nicht an Kindprozesse weitergereicht werden. Ausnahmen von dieser Regel können für Fälle, wo Vererbung erwünscht ist, definiert werden. Zudem wurde das Marshal-Format kompakter und effizienter gestaltet.
Die Tatsache, dass seit Python 3.1 keine syntaktischen Änderungen mehr in Python eingeflossen sind, ist einem zeitweiligen Moratorium von Python-Erfinder Guido van Rossum geschuldet, das dieser im Oktober 2009 veröffentlichte. Die Aussetzung von inkompatiblen Syntaxänderungen soll die Akzeptanz von Python 3.x erhöhen. Entwickler verweilen vielfach noch bei Python 2.7, da mit 3.x erstmals Inkompatibilitäten zu früheren Versionen in die Sprache eingeführt wurden. Das führte auch dazu, dass viele Linux-Distributionen mit Python 2.x und 3.x beide Zweige pflegen, was einen nicht unerheblichen Mehraufwand mit sich bringt.