Login
Newsletter
Werbung

Thema: Ende von Python 2 rückt näher

13 Kommentar(e) || Alle anzeigen ||  RSS || Kommentieren
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von coNP am Di, 10. September 2019 um 11:14 #

Wenn ich mir einige verbreitete Softwarebibliotheken ansehe, wo die Maintainer mit allen erdenklichen Hacks versucht haben, den Code Python 2 & 3 -kompatibel zu halten, wird mir schwindelig.
Ich selbst habe glücklicherweise von 2012 an ausschließlich auf Python 3 gesetzt, da bereits damals Python 2 auf der offiziellen Website als "legacy" eingestuft war.
Ich habe kein Verständnis für irgendwelche Maintainer, für die die Einstellung von Python 2 jetzt "unvorhergesehen", "kurzfristig" oder "überraschend" kommt.

  • 0
    Von Andy_m4 am Di, 10. September 2019 um 11:47 #

    Die Frage ist eher, musste eine solche inkompatible Änderung wie von Python 2 auf Python 3 überhaupt kommen?
    Ja. Wenn man sich die Änderungen anguckt, die machen Sinn. Was dann wiederum die Frage aufwirft, warum hat man es nicht von Anfang an so gemacht?

    Ganz einfach. Weil man sich nicht genug Gedanken beim Sprachdesign macht. Weil man nicht immer guck, was es schon gibt. Was für Probleme da aufgetreten sind. Ähnliches kannst Du ja auch bei anderen Sprachen beobachten wie z.B: PHP oder Javascript oder Ruby.

    Die alle haben angefangen so a-la "Ich mach erst mal das was mir in den Kram passt und dann guck ich weiter".
    Und so was kommt dann halt bei raus.

    • 0
      Von Ghul am Di, 10. September 2019 um 12:30 #

      Letztens habe ich mir mal wieder PHP angesehen.
      PHP 7 hat mir schon wesentlich besser gefallen, als die Versionen, die es davor gab.

    0
    Von Polynomial-C am Di, 10. September 2019 um 11:51 #

    Naja, es gibt wohl auch "Unbelehrbare", die lieber python2 in Eigenregie weiterpflegen wollen anstatt ihren Code auf python3 zu portieren:

    https://www.mobileread.com/forums/showthread.php?t=293242

0
Von Ghul am Di, 10. September 2019 um 12:28 #

Dann hätte man viele Schnitzer, mit denen man heute in C und C++ leben muss, aus dem Weg räumen können.

  • 0
    Von Tamaskan am Di, 10. September 2019 um 13:10 #

    Das hat man eigentlich schon gemacht, du kannst die alte Syntax aber meist weiterhin benutzen, um die Kompatibilität zu wahren. Ansonsten ist es inzwischen sehr angenehm in C++ zu programmieren.

    • 1
      Von Ghul am Di, 10. September 2019 um 13:28 #

      Das sehe ich nicht so.

      Variablen sind bei C++ bspw. generell erstmal public, es sei denn, man schreibt entsprechende Keywords davor um das zu ändern.
      Sicherheit zwecks sicherem Programmieren sieht anders aus.
      Es müsste genau anders herum sein, also generell erstmal alles private und nur wenn man es explizit hinschreibt, public.
      Dafür wäre aber ein Kompatibilitätsbruch notwendig, den es bei Python 2 zu 3 gab.

      Genauso schlecht sieht's beim switch fallthrough aus. Da müsste es genau anders herum sein und ein extra keyword müsste es explizit erlauben, ansonsten bleibt's verboten.
      Das würde viele Fehler vermeiden, aber auch hierfür ist ein Kompatibilitätsbruch notwendig.

      Dann Variablen, hier wäre es besser, wenn die alle erst einmal mit der initalisierung const, als unveränderlich sind.
      Und wenn man es anders herum will, dann gehört ein keyword davor.
      Auch das würde den Code weitaus besser machen und Fehler vermeiden.

      und so kann man gerade weiter machen. Da gibt's noch dutzende weiterer solcher Fälle.

      In C und C++ wurde an dem wesentlichen Grundgerüst kaum etwas verändert, man hat praktisch die Kompatibilität aufrecht erhalten und damit eine defensivere Programmierung mit weniger Fehlern und somit eine potentiell besser designte Sprache Zugunsten der Kompatibilität geopfert.
      Der Nutzer merkt das dann, wenn sein Programm abstürzt.

      Im Prinzip ist das also eine vertane Chance.
      Je mehr Jahre vergehen, desto schwerer würde so ein Unterfangen werden.

0
Von Chaff and wheat am Mi, 11. September 2019 um 13:40 #

So kann man doch viel besser die Spreu vom Weizen trennen. Wenn python2 End Of Life ist, dann sollen alle Packete die davon abhängen raus aus dem Package Repository. Bugs mit WON'T FIX gelöst werden. 10 Jahre sind Zeit genug eine halbe Menschengeneration ist das.

Nur mal so nebenbei, die meisten Betriebssysteme haben kürzere Supportzeiten als die EOL Notice vom Python2.

Pro-Linux
Gewinnspiel
Neue Nachrichten
Werbung