Beginner, Python 2.6 oder 3.1?

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
mechanicalStore
User
Beiträge: 115
Registriert: Dienstag 29. Dezember 2009, 00:09

Hallo,

bin neu hier und auch neu, was Python betrifft. Dabei stellt sich die Frage im Subjekt, Auch im Hinblick auf (noch?) nicht verwendbare Module, usw. Möchte ein bisschen mit Python rumprobieren, mal sehen, was dann draus wird. Interessant wäre auch zu erfahren, wie hier darüber gedacht wird, warum man besser Python, anstatt die Sprache xyz benutzen sollte (ohne einen Glaubenskrieg anzuzetteln).

Vielen Dank und schönen Gruß
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Herzlich willkommen im Forum! :)
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

Nutze Python 3.1, wenn möglich. Viele Bibliotheken sind bereits portiert. Python 2.6 ist allerdings weiterhin unverzichtbar, besonders im Web- oder Wissenschaftssektor, da die nötigen Bibliotheken für 3.1 fehlen. Da sich aber beide Versionen nur in wenigen Punkten unterscheiden, sollte ein zweigleisiger Lernprozess kein Problem dar stellen.

Warum wir gerne mit Python arbeiten und es anderen Sprachen vor ziehen (wenn das überhaupt der Fall ist, ich spreche da nur für mich), wird dir jeder anders beantworten. Ich für meinen Teil mag die gute Lesbarkeit und den klaren Syntax. Ich finde Python schlicht sympathisch.
Bottle: Micro Web Framework + Development Blog
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ich schliesse mich Defnull an und fuer die Gruende verweise ich auf die Suche, da die Frage schon mehrere male aufkam.

Warum Python? Schlechter Ort um die Frage zu stellen, oder? :twisted:
Wenn du aus einer anderen Mainstreamsprache kommst, wirst du schnell feststellen, dass du lieber Python nutzen willst ;)
mechanicalStore
User
Beiträge: 115
Registriert: Dienstag 29. Dezember 2009, 00:09

@derdon: Vielen Dank!

@cofi: Daher erstmal in Offtopic, um mich nicht gleich im ersten Posting unbeliebt zu machen. :) Komme hauptsächlich von C# (und Java, bzw. Andere, aber eher nur gestreift).

@Defnull: Wie "viele" Module gibt es denn überhaupt? Und wie viele sind portiert? Kann man das irgendwo sehen? Bzw. sind das genau die, die unter modindex auf den python-docs stehen? Gibt es eine Art cpan für python? Oder wie werden die installiert (falls nicht vom Packagemanager der jew. *nix-Distri)?

Schönen Gruß
Panke
User
Beiträge: 185
Registriert: Sonntag 18. März 2007, 19:26

unvollständige Liste von Modulen: pypi.python.org
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Schaut man sich die Liste auf pypi an, sind dort über 8700 Module für Python, aber nur 107 sind ausgewiesen für Python 3. So etwas wie http://isitruby19.com/ gibt es für Python AFAIK nicht. Auch einen "Standard" zum Installieren (und Deinstallieren!) von Paketen wie gems bei Ruby gibt es nicht. Bei Python streiten zur Zeit easy_install und pip um die Gunst der Anwender und weder das eine noch das andere kann Pakete je wieder löschen. Aber es gibt ja noch je nach Betriebssystem Paketmanager...

Wenn es nicht nur darum geht, mal den Sprachstandard zu lesen und sich an der Schönheit der Sprache zu erfreuen (was bei 3.x durchaus gegeben ist), würde ich mit 2.6 anfangen. Die Unterschiede sind so gering, dass 3.x außer einigen Verbesserungen (wie z.B. nur noch ein Konzept zur Vererbung, Strings sind immer Unicode, kein Fehler mehr bei try/except möglich) keine fundamentalen Vorteile bringt.

Für jemanden, der von .NET kommt, würde ich (ohne das wirklich zu kennen) IronPython empfehlen. Das ist inzwischen (als einzige alternative Python-Implementierung) kompatibel zu 2.6 und zum Teil schneller als die ursprüngliche C-Implementierung. Man kann's mit Silverlight (wie IronRuby) im Browser benutzen und es bietet Zugriff auf alles von .NET, wenn man's will.

Stefan
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

sma hat geschrieben:Bei Python streiten zur Zeit easy_install und pip um die Gunst der Anwender und weder das eine noch das andere kann Pakete je wieder löschen.
pip kannte ich noch nicht, aber es behauptet zumindest von sich selbst, Pakete auch wieder deinstallieren zu können.
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

pip ist der semi-offizielle* Nachfolger von easy_install, welches nicht mehr weiter entwickelt wird. *es wird von pypi offiziell beworben, ist aber noch (lange) nicht Teil der stdlib
Bottle: Micro Web Framework + Development Blog
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Darii hat geschrieben:Pakete auch wieder deinstallieren zu können.
Ist das so? Interessant. Ich dachte, der vorgeschlagene Weg wäre, zusätzlich noch virtualenv zu benutzen, und dann nach Gebrauch die ganze Umgebung wegzuwerfen. Das könnte man dann noch mit buildout kombinieren, das ich aber noch nie ausprobiert habe.

Stefan
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

mechanicalStore hat geschrieben:@cofi: Daher erstmal in Offtopic, um mich nicht gleich im ersten Posting unbeliebt zu machen. :) Komme hauptsächlich von C# (und Java, bzw. Andere, aber eher nur gestreift).
Dann solltest du vor allem aufpassen in Python nicht C#/Java zu schreiben. Das ist oftmals das Problem dass man die Sprache wechselt, aber die Idiome mitnimmt, und diese dann in der neuen Sprache reichlich seltsam aussehen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten