Call for Papers

Migration auf Python 3 ( Vortrag )

Warum die Uhr immmer lauter tickt

Referent: Rainer Grimm, Modernes C++
Vortragsreihe: Implementierung II
Zeit: 04.12.18 17:35-18:15

Zielgruppe

Entwicklung

Themenbereiche

Implementierung

Schwerpunkt

Technologie

Voraussetzungen

Grundlagenwissen

Kurzfassung

Python 3 wurde im Jahr 2008 veröffentlicht. Da Python 3 nicht abwärtskompatibel zu Python 2 ist, wurde in der Regel der bestehende Code in Python 2 weiterentwickelt und der neue Code direkt in Python 3 geschrieben. Die Existenz zweier Parallelwelten nimmt am 1.1.2020 ein abruptes Ende. Mit dem 1.1.2020 wird der Unterstützung von Python 2 eingestellt. Die Migration der Codebasis von Python 2 nach Python 3 ist daher unvermeidlich.

Gliederung

Welche neuen Feature bringt Python 3 mit? Viele Datenstrukturen werden nicht sofort, sondern erst auf Bedarf ausgewertet. 1/2 ergibt in Python 3 0.5 und nicht 0. Strings basieren auf Unicode.

Welche Aufräumarbeiten standen in Python 3 an? Die Python 2 Funktion input wurde als großes Sicherheitsproblem entfernt. print ist eine Funktion. Die Vergleichsoperatoren und die Mehrfachvererbung sind deutlich intuitiver.

Welche Feature wurden von Python 3 auf Python 2 zurückportiert? Python erlaubt deterministisches Destruktionsverhalten und unterstützt abstrakte Methoden und abstrakte Basisklassen.

Was gilt es bei der Migration auf Python 3 zu beachten? Startpunkt sollte eine Testabdeckung sein. Anschließend wird bestehende Python 2 Code auf Python 2.7 portiert. Danach gilt es, Python 3 kennenzulernen. Die Übersetzung des auf Python 2.7 portierten Code mit dem Flag -3 hilft, Inkompatibilitäten zu identifizieren. Dank dem Werkzeug 2to3 lässt sich schließlich der Python 2 Code migrieren.

Nutzen und Besonderheiten

Mein Vortag besitzt zwei Ziele. Zum einen geht er auf die Veränderungen von Python 2 nach Python 3 ein und zeigt, welche Herausforderungen Sie bei der Migration zu erwarten haben. Darüber hinaus gibt er Ihnen einen Leitfaden, wie Sie die Migration planen und durchführen können, denn das Jahr 2020 steht bereits vor der Tür.

Über den Referenten

Rainer Grimm ist seit vielen Jahren als Schulungsleiter tätig. Auf seinem Blog Modernes C++ beschäftigt er sich intensiv mit seiner Leidenschaft C++. Seine Bücher "C++11 für Programmierer", "C++" und "C++-Standardbibliothek" für die kurz und gut Reihe sind beim Verlag O'Reilly erschienen. Seine bei Leanpub veröffentlichten englischsprachigen Werke "The C++ Standard Library" und "Concurrency with Modern C++" sind in mehrere Sprachen übersetzt worden.