Hallo Forum,
ich habe mich nun endlich dazu entschlossen meine geringe Freizeit als Hartz IV Empfänger sinnvoll zu nutzen und eine Programmiersprache zu lernen.
Meine Wahl fiel nach langem Googlen und nachfragen bei meinen Freunden von Kubuntu-de auf Python.
Nun zu meiner Frage, durch lesen hier im Forum und div. Wikis musste ich feststellen es gibt ja schon Python3.
Ich habe 2 Bücher, je eins von Galileo-Press + Addison-Wesley, einmal Python 2.6 und einmal Python3.
Macht es nu überhaupt Sinn mit Python 2.6 anzufangen und wenn 3 ist Eric5 schon für einen Neuling geeignet oder hat er noch Macken?
Gruss Goldhamster
Python2.6 oder Python3
Prinzipiell solltest du mit Python3 anfangen. Du solltest allerdings berücksichtigen, daß einige externe Bibliotheken (einige GUI-Toolkits, SQLAlchemy (?) ) den Wechsel von 2.6 auf 3 noch nicht vollzogen haben. Das macht in meinen Augen aber nichts, weil du mit den mitgelieferten / bereits für 3.x verfügbaren Bibliotheken schon sehr weit kommen wirst. Du mußt dir auch vor Augen halten, daß man das Programmieren nicht von heute auf morgen erlernen kann und damit ohnehin noch einiges an Zeit vergehen wird, bevor du in die Lage kommst, ernsthaft mit externen Bibliotheken arbeiten zu müssen / zu wollen. Und bis dahin kann die Sachlage schon wieder ganz anders aussehen.
Auf der anderen Seite hat sich zwischen 2.6 und 3.x nicht so viel getan, daß das Gelernte beim späteren Umstieg völlig für die Katz wäre. Es gibt aber ein paar Fallstricke zu beachten. Näheres findest du hier im Forum und auf python.org .
Zu Eric kann ich nicht viel sagen. Habe ihn nur kurz und vor sehr langer Zeit eingesetzt. Gehöre zur vim-Fraktion. Er steht aber in einem guten Ruf. Für den Einstieg sicherlich nicht die schlechteste Wahl. Ansonsten tuts aber auch jeder etwas bessere Text-Editor (z.B. Proton).
Nachtrag: Offensichtlich setzt du ja Linux ein, dann könntest du mal einen Blick auf Kedit und Kate werfen. Die beiden dürften für den Anfang ausreichen.
Auf der anderen Seite hat sich zwischen 2.6 und 3.x nicht so viel getan, daß das Gelernte beim späteren Umstieg völlig für die Katz wäre. Es gibt aber ein paar Fallstricke zu beachten. Näheres findest du hier im Forum und auf python.org .
Zu Eric kann ich nicht viel sagen. Habe ihn nur kurz und vor sehr langer Zeit eingesetzt. Gehöre zur vim-Fraktion. Er steht aber in einem guten Ruf. Für den Einstieg sicherlich nicht die schlechteste Wahl. Ansonsten tuts aber auch jeder etwas bessere Text-Editor (z.B. Proton).
Nachtrag: Offensichtlich setzt du ja Linux ein, dann könntest du mal einen Blick auf Kedit und Kate werfen. Die beiden dürften für den Anfang ausreichen.
Eines noch zur Ergänzung: Das Galileo-openbook ist Müll, vergiss das gleich mal wieder. (Über die Forensuche findest du auch Gründe).
Edit: Für den Einstieg in Python 3 ist das offizielle Tutorial eigentlich ganz gut, eine dt. Übersetzung gibt es auch: http://tutorial.pocoo.org/
Edit: Für den Einstieg in Python 3 ist das offizielle Tutorial eigentlich ganz gut, eine dt. Übersetzung gibt es auch: http://tutorial.pocoo.org/
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/
Da wohl die meisten Leute noch 2.6 einsetzten werden, würde ich auch mit 2.6 anfangen, da dir dann auch z.B. hier im Forum besser und schneller geholfen werden kann und wird.
Die Unterschiede zu 3.x sind auch nicht so gravierend, als dass du dich dann, wenn du einmal Einblick in die Materie hast, nicht noch umarbeiten kannst.
Auch finde ich die Unterstützung von 3.-Party Bibliotheken schon wichtig, weil man dann (entsprechende Dokumentation vorausgesetzt) schneller zu sichtbaren Ergebnissen kommt, was einen zusätzlich motiviert.
Die Unterschiede zu 3.x sind auch nicht so gravierend, als dass du dich dann, wenn du einmal Einblick in die Materie hast, nicht noch umarbeiten kannst.
Auch finde ich die Unterstützung von 3.-Party Bibliotheken schon wichtig, weil man dann (entsprechende Dokumentation vorausgesetzt) schneller zu sichtbaren Ergebnissen kommt, was einen zusätzlich motiviert.
Ja, genau, so muss das sein. Erst kommt das `Hallo Welt`-Programm und dann wirds mit Sphinx dokumentiert!DasIch hat geschrieben:Fang mit 2.x an, da hast du keine Probleme mit fehlenden Abhängigkeiten, vorallem da Sphinx noch 2.x benötigt. Später auf 3.x zu wechseln ist wirklich kein Problem.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Ich denke auch, Sphinx ist definitiv kein Argument für Programmieranfänger. Selbst wenn man seit Jahren mit Python unterwegs ist, stehen die Chancen nicht schlecht, daß man damit nur passiv in Berührung gekommen ist.jbs hat geschrieben:Ja, genau, so muss das sein. Erst kommt das `Hallo Welt`-Programm und dann wirds mit Sphinx dokumentiert!DasIch hat geschrieben:Fang mit 2.x an, da hast du keine Probleme mit fehlenden Abhängigkeiten, vorallem da Sphinx noch 2.x benötigt. Später auf 3.x zu wechseln ist wirklich kein Problem.
Bei vielem anderen muß man halt gucken. Beispiel SQLAlchemy: Klar ist das eine wunderbare und elegante Art, mit Datenbanken umzugehen. Man sollte aber trotzdem verstehen, was da im Hintergrund abläuft. SQLAlchemy ohne praktische Kenntnisse in SQL kann schnell sehr frustrierend werden. Von daher würde ich sagen, daß man es erst einmal "zu Fuß" probiert, und sich erst später von Toolkits verwirren läßt. Das, was Python von Hause aus mitbringt ist ja schon recht mächtig. Abgesehen davon haben viele den Sprung ja doch schon gemacht oder sind kurz davor. Insofern würde ich sagen, daß Abhängigkeiten und/oder die Verfügbarkeit von Erweiterungsmodulen für einen Programmieranfänger nicht wirklich das Thema ist.
Das möchte ich so als Argument nicht gelten lassen. Wenn es da überhaupt Unterschiede in der Beratungsgeschwindigkeit und -qualität geben sollte, dann dürften die marginal sein und sich allenfalls auf die Geschwindigkeit beziehen, die aber ohnehin hier im Forum ausgesprochen hoch ist..robert hat geschrieben:Da wohl die meisten Leute noch 2.6 einsetzten werden, würde ich auch mit 2.6 anfangen, da dir dann auch z.B. hier im Forum besser und schneller geholfen werden kann und wird.
Mit dem gleichen Argument kann man auch mit Python 3.x einsteigen und sich dann - sofern es überhaupt nötig ist - auf Python 2.x zurückarbeiten..robert hat geschrieben:Die Unterschiede zu 3.x sind auch nicht so gravierend, als dass du dich dann, wenn du einmal Einblick in die Materie hast, nicht noch umarbeiten kannst.
Entscheidend für einen wirklich tragfähigen Rat ist doch das, was gkuhl benannt hat: Was will der OP kurz-, mittel-, langfristig mit Python machen?
Es stellt sich immer noch die Frage, wann es Sinn macht auf Python 3.x zu wechseln. Es gibt durchaus genug Leute die sagen würden der Zeitpunkt kommt nie. Außerdem macht es bei jedem Projekt mit mehr als einem Modul durchaus Sinn Sphinx zu nutzen.jbs hat geschrieben:Ja, genau, so muss das sein. Erst kommt das `Hallo Welt`-Programm und dann wirds mit Sphinx dokumentiert!
- xpilz
- User
- Beiträge: 76
- Registriert: Sonntag 11. April 2010, 12:46
- Wohnort: Deutschland
- Kontaktdaten:
Nur mal als Nachtrag:
Wirklich so schlimm? weil das mein zweites Tutorial war und ich bin jetzt bei Kapitel 14. Soll ich auf das offizielle Umsteigen oder dieses noch zu Ende lesen?ms4py hat geschrieben:Eines noch zur Ergänzung: Das Galileo-openbook ist Müll, vergiss das gleich mal wieder.
Mein Python-Blog.
- Goswin
- User
- Beiträge: 366
- Registriert: Freitag 8. Dezember 2006, 11:47
- Wohnort: Ulm-Böfingen
- Kontaktdaten:
Ich würde definitiv mit Python 3.1 anfangen. Die theoretischen Kenntnisse, um von 2.x überzuwechseln, sind überschaubar, aber:DasIch hat geschrieben:Fang mit 2.x an, ... Später auf 3.x zu wechseln ist wirklich kein Problem.
- (1) man bildet sich falsche Angewohnheiten (wie zum Beispiel, die Klammern vom print zu vergessen), die man wochen- oder monatelang nicht loswerden kann,
(2) wenn du einige selbstprogrammierte Module wiederverwenden willst, musst du sie entweder umschreiben oder beide Sprachvarianten beherrschen, was nervenaufreibend ist.
Ich würde mal so sagen: Es enthält einige Patzer und ist an einigen Stellen "unpythonisch". Irgendwie hat das dazu geführt, dass man sich hier im Forum darauf eingeschossen hat - das funktioniert quasi wie ein Reflex: Sobald jemand dieses Buch erwähnt, dauert es in der Regel keine 10 min bis jemand "Vorsicht" ruft. Wenn dich Details interessieren, wird die Forumsuche dir einige Threads zu Tage fördern.xpilz hat geschrieben:Nur mal als Nachtrag:Wirklich so schlimm? weil das mein zweites Tutorial war und ich bin jetzt bei Kapitel 14. Soll ich auf das offizielle Umsteigen oder dieses noch zu Ende lesen?ms4py hat geschrieben:Eines noch zur Ergänzung: Das Galileo-openbook ist Müll, vergiss das gleich mal wieder.
Lies das Buch ruhig zu Ende, nimm das offizielle Tutorial dazu und vergleiche es miteinander. So lernst du gleich, wie man es am besten (nicht) macht.
Es gibt 2to3 da muss man nichts umschreiben, im schlimmsten Fall schreibt man einen eigenen Fixer. Wenn man von 3 auf 2 will hat man aber ein gewaltiges Problem und wenn man Web Anwendungen machen will kann man 3 sowieso vergessen.Goswin hat geschrieben:(2) wenn du einige selbstprogrammierte Module wiederverwenden willst, musst du sie entweder umschreiben oder beide Sprachvarianten beherrschen, was nervenaufreibend ist.
- Goswin
- User
- Beiträge: 366
- Registriert: Freitag 8. Dezember 2006, 11:47
- Wohnort: Ulm-Böfingen
- Kontaktdaten:
Interessant. Ich habe noch nie Web-Anwendungen geschrieben; hat das Problem da etwas mit der XHTML-Unterstützung zu tun?DasIch hat geschrieben:Wenn man Web Anwendungen machen will kann man 3 sowieso vergessen.
Ähm, die offizielle Python-Homepage empfiehlt 2.6 wenn man sich nicht sicher ist das man wirklich 3.1 haben will.
Und natürlich sind 3rd-Party Module wichtig für Anfänger. Denn irgendwann kann der Anfänger 'Hallo Welt!' ausgeben lassen und kennt die verschiedenen Arten von Schleifen und möchte dann vielleicht eine GUI schreiben, ein kleines Spiel mit Pygame, auf eine Datenbank zugreifen, irgendwas mathematisches mit NumPy anfangen, ein Bild manipulieren, eine Webanwendung schreiben, oder irgend etwas anderes was nicht von der Standardbibliothek abgedeckt wird, und stellt fest das für viele dieser Sachen die "Standardbibliotheken" noch nicht auf 3.x portiert sind. Und alles was er bis dahin geschrieben hat, kann er dann nicht mit neuem Verbinden wenn er auf 2.x umsteigen muss für die neuen Herausforderungen. Das ist IMHO ein unsinniger Umweg.
@Goswin: Das Problem sind die Webrahmenwerke die halt auch noch nicht (alle?) auf 3.x laufen. Also Django soweit ich weiss noch nicht. Fehlende Module für den Datenbankzugriff und die sowieso meist längere Zeit bis aktuelle Versionen bei Webhostern angekommen sind, spielen da auch mit rein.
Und natürlich sind 3rd-Party Module wichtig für Anfänger. Denn irgendwann kann der Anfänger 'Hallo Welt!' ausgeben lassen und kennt die verschiedenen Arten von Schleifen und möchte dann vielleicht eine GUI schreiben, ein kleines Spiel mit Pygame, auf eine Datenbank zugreifen, irgendwas mathematisches mit NumPy anfangen, ein Bild manipulieren, eine Webanwendung schreiben, oder irgend etwas anderes was nicht von der Standardbibliothek abgedeckt wird, und stellt fest das für viele dieser Sachen die "Standardbibliotheken" noch nicht auf 3.x portiert sind. Und alles was er bis dahin geschrieben hat, kann er dann nicht mit neuem Verbinden wenn er auf 2.x umsteigen muss für die neuen Herausforderungen. Das ist IMHO ein unsinniger Umweg.
@Goswin: Das Problem sind die Webrahmenwerke die halt auch noch nicht (alle?) auf 3.x laufen. Also Django soweit ich weiss noch nicht. Fehlende Module für den Datenbankzugriff und die sowieso meist längere Zeit bis aktuelle Versionen bei Webhostern angekommen sind, spielen da auch mit rein.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Also die, die die meisten Threads beantworten können Python 2.x genauso wie 3.x von daher macht es nahezu keinerlei unterschied welche Version man benutzt. Schließlich sind die Unterschiede ja echt nicht so groß..robert hat geschrieben:Da wohl die meisten Leute noch 2.6 einsetzten werden, würde ich auch mit 2.6 anfangen, da dir dann auch z.B. hier im Forum besser und schneller geholfen werden kann und wird.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- xpilz
- User
- Beiträge: 76
- Registriert: Sonntag 11. April 2010, 12:46
- Wohnort: Deutschland
- Kontaktdaten:
Es sind ja sowieso meistens nur Sinnfragen, oder kleine Skript-Schnipsel oder irre ich mich da?Leonidas hat geschrieben:Also die, die die meisten Threads beantworten können Python 2.x genauso wie 3.x von daher macht es nahezu keinerlei unterschied welche Version man benutzt.
Mein Python-Blog.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, für die Fehlersuche in großen Programmen ist das Forum ja auch nicht daxpilz hat geschrieben:Es sind ja sowieso meistens nur Sinnfragen, oder kleine Skript-Schnipsel oder irre ich mich da?

My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ob eine Web Anwendung HTML, XHTML, JSON oder XML ausgibt ist egal, dass Problem liegt beim WSGI. Es deutet sich zwar an dass der mod_wsgi Autor einfach sein Ding durchzieht und die Library Autoren nachziehen werden aber dass wird noch eine Weile dauern.Goswin hat geschrieben:Interessant. Ich habe noch nie Web-Anwendungen geschrieben; hat das Problem da etwas mit der XHTML-Unterstützung zu tun?