12 Stimmen

Sollte ich mit Python 3.0 beginnen?

Vor kurzem habe ich beschlossen, meinen Programmierhorizont zu erweitern und die Programmiersprache Python zu lernen. Während ich Python ein wenig für Klassen im College und für ein oder zwei Projekte bei der Arbeit verwendet habe, bin ich keineswegs ein Experte. Meine Frage ist folgende: Sollte ich mich mit den 2.x-Versionen beschäftigen oder sollte ich gleich zu 3.0 übergehen? Ich tendiere zu 3.0, da ich Anwendungen eher für den persönlichen Gebrauch oder zum Lernen programmieren werde, aber ich wollte sehen, ob es irgendwelche guten Argumente dagegen gibt, bevor ich anfange.

1 Stimmen

20voto

Alex Martelli Punkte 805329

Auf keinen Fall 3.0 - 3.1 ist da und ist in jeder Hinsicht stabiler, besser, schneller; es macht absolut keinen Sinn, zu diesem Zeitpunkt mit 3.0 anzufangen, wenn Sie die 3er-Reihe einführen wollen, sollte es auf jeden Fall 3.1 sein.

Was 2.6 vs. 3.1 angeht, so ist 3.1 eine bessere Sprache (vor allem, weil einige Dinge entfernt wurden, die sich im Laufe der Jahre angesammelt hatten, aber aus Gründen der Abwärtskompatibilität in 2.* verbleiben müssen), aber der Rest des Ökosystems (von Erweiterungen bis zu Tools, von Büchern bis zum kollektiven Wissen) ist immer noch sehr zugunsten von 2. 6 -- wenn Sie sich nicht darum kümmern, dass Sie (z.B.) bestimmte GUIs oder wissenschaftliche Erweiterungen verwenden können, auf App Engine bereitstellen, Windows mit COM skripten, eine schicke IDE von Drittanbietern haben, und so weiter, ist 3.1 ratsam, aber wenn Sie sich um solche Dinge kümmern, immer noch 2.* für jetzt.

8voto

Verwendung 3.1

Warum?

1) Solange alle noch 2.6 verwenden, haben die Bibliotheken weniger Gründe, auf 3.1 zu migrieren. Solange diese Bibliotheken nicht auf 3.1 portiert sind, hat man die Wahl, entweder die Stärken von 3.1 nicht zu nutzen oder die Aufgaben nur halb zu erledigen, indem man die hakelige Lösung eines zurückportierten Funktionssatzes verwendet. Seien Sie ein Vordenker und bringen Sie Python voran.

2) Wenn Sie 3.1 jetzt lernen und benutzen, müssen Sie es später, wenn der Massenport fertig ist, nicht neu lernen. Ich weiß, dass einige Leute sagen, dass man nicht viel lernen muss, aber warum sollte man den alten Mist überhaupt lernen? Python selbst ist auf dem Weg zu 3.1 Die Bibliotheken werden sich auf 3.1 zubewegen, und es ist ätzend, eine Sprache, die man bereits benutzt, neu erlernen zu müssen.

3) 3.1 ist rundum eine bessere Sprache stabiler und konsistenter als 2.6... das ist normal. Die Lektionen, die wir aus 2.6 gelernt haben, wurden alle in 3.1 eingearbeitet, um es besser zu machen. Dieser Prozess heißt PROGRESS . Das ist der Grund, warum niemand mehr Windows 3.1 verwendet. Es ist die Art und Weise, wie sich die Dinge VORWÄRTS bewegen. Was glauben Sie, warum man sich sonst die Mühe gemacht hat, eine Reihe von Funktionen überhaupt zurück zu portieren?

4) Wenn Sie Python lernen und 2.6 lernen, werden die Ports nicht mehr verfügbar sein, und Sie müssen die Bibliotheken und die Sprache von Grund auf neu lernen. Wenn Sie mit 3.1 beginnen, dann werden die Ports zu dem Zeitpunkt, an dem Sie sich mit der Sprache wohlfühlen, heraus sein, und dann können Sie die Bibliotheken lernen, an denen Sie interessiert sind. Es ist ein reibungsloserer Prozess .

5) Um ein besserer Entwickler zu sein. Wenn Sie immer wieder dieselben Dinge lernen müssen, wird Ihr Verständnis nicht sehr tief sein. Wenn Sie diese Sprache und ihre Bibliotheken nur einmal lernen, haben Sie mehr Zeit, mit ihnen zu arbeiten, als die Syntax neu zu lernen. So können Sie sie besser verstehen. Wenn Ihnen wirklich einige Teile fehlen, weil Sie auf die Bibliotheken verzichten? SCHREIBEN SIE SIE. Sie werden wahrscheinlich nicht eine ganze Bibliothek benötigen und können in der Regel nur die Teile schreiben, die Sie brauchen, und Werkzeuge für sich selbst entwickeln. Das wiederum hilft Ihnen, die Sprache besser und tiefer zu verstehen.

7voto

Anton I. Sipos Punkte 3115

Kurze Antwort: Beginnen Sie mit Python 2.6.

Warum: Programmieren macht mehr Spaß und ist nützlicher, wenn man sich die Arbeit anderer zunutze machen kann. Das bedeutet, dass man häufig Bibliotheken von Drittanbietern verwendet. Viele der beliebten Bibliotheken für Python haben noch keine Unterstützung für 3.x. Ich denke dabei an PIL und NumPy/SciPy. Mein Lieblingsinterpreter, ipython, funktioniert ebenfalls noch nicht mit 3.0. Viele Unit-Testing-Frameworks und Web-Frameworks sind ebenfalls noch nicht auf 3.0.

Wenn Sie also mit 3.x anfangen, werden Ihnen viele Türen verschlossen bleiben, zumindest bis die 3.x-Portierung in Schwung kommt. Es gibt zugegebenermaßen eine Menge netter Funktionen in Python 3.x, aber einige davon wurden in 2.6 zurückportiert und einige weitere werden es in 2.7 schaffen. Bleiben Sie also vorerst bei 2.6, und bewerten Sie 3.x in einem Jahr oder so neu.

4voto

jsight Punkte 27087

Ich denke, dass es besser ist, direkt mit 3.0 zu beginnen.

In der Python-Welt (wie in den meisten anderen, wirklich), Releases neigen dazu, eine Weile dauern, um alle Unterprojekte zu migrieren, aber wenn Sie jemals die Notwendigkeit, zurück zu 2.xx Übergang zu finden, ich glaube nicht, dass Sie finden, Dinge neu zu lernen, besonders schmerzhaft sein.

3voto

Bill the Lizard Punkte 384619

Sie sollten die neueste Version jeder Programmiersprache verwenden, die Sie lernen, es sei denn, Sie haben einen besonderen Grund no zu. Da Sie kein bestehendes Projekt haben, das nicht mit Python 3.0 funktioniert, können Sie die neueste Version verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X