Also ich habe auch gerade erst mit Python angefangen, und wusste nicht welche (wenn man eine nutzen will) IDE ich nutzen sollte.
Hab jetzt einige ausprobiert und komme am besten mit Wing IDE klar!
Einsteigerin
- noisefloor
- User
- Beiträge: 4257
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
bei freiesMagazin (www.freiesmagazin.de) gibt es eine ganze Reihe von brauchbar-objektiven
Buchrezensionen zu deutsch- und englischsprachigen Python-Büchern.
Gruß, noisefloor
bei freiesMagazin (www.freiesmagazin.de) gibt es eine ganze Reihe von brauchbar-objektiven
Gruß, noisefloor
Die Sonderausgabe 04.2011 beschäftigt sich explizit mit Python.noisefloor hat geschrieben:bei freiesMagazin (http://www.freiesmagazin.de) gibt es eine ganze Reihe von brauchbar-objektivenBuchrezensionen zu deutsch- und englischsprachigen Python-Büchern.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Es gab da mal ein Tutorial, bei welchem in ein wenig Korrektur gelesen habe. Uneingeschränkt würde ich es dennoch nicht empfehlen. Es "vermischt" iirc zu sehr Python 2 und 3 und ist für mein Empfinden auch didaktisch zu eng an die gängigen angelehnt, so dass ich da wenig Mehrwert sehe.
Ob man nun Python 2.x lernt oder 3.x spielt eigentlich keine Rolle, insbesondere als Anfänger!
Ob man nun Python 2.x lernt oder 3.x spielt eigentlich keine Rolle, insbesondere als Anfänger!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ich würde mal sagen, das ist eins der Top-Kriterien einer Doku (noch vor Vollständigkeit und Fehlerlosigkeit): ist die Doku verständlich?BlackJack hat geschrieben:Bei Amazon gibt es auch nicht zu knapp gute Rezensionen zu schlechten Einsteiger-Büchern, weil die nicht selten von Leuten bewertet werden die das Buch gerade gelesen haben und gar nicht einschätzen können wie gut oder schlecht das Buch fachlich ist, sondern nur ob sie es verstanden haben.
Die Bücher sind also gar nicht mal so schlecht.BlackJack hat geschrieben: So werden dann Bücher gut bewertet die erklären das `__del__()` ein Destruktor ist, ohne ein einziges Wort der Warnung was für Probleme man sich mit dieser Methode einhandeln kann, oder wie man public, private, und protected für Membervariablen in Python schreibt.
Ich selbst kann zu den aktuellen Galileo Büchern aber nichts sagen. Mein Einsteigerbuch war "Das Python-Praxisbuch" von Farid Hajji. Leider wurde das Buch nicht mehr aktualisiert. Da war zu allem was drin (1300 Seiten): was ist Pythonic, OO, GUI-Programmierung (nicht nur die eingebauten Bibliotheken, sondern auch PyQt), Datenbankzugriff, Web-Zeugs, Numpy, ... . Das Buch war auch in einem gut lesbaren Stil geschrieben.
Wenn ich mir dagegen das "offizielle" Python Tutorial anschaue, dann ist das didaktisch eine Katastrophe.
- 4.7.4. Unpacking Argument Lists, also die * Syntax wird getrennt von der ** Syntax erklärt und ziemlich am Anfang, noch vor Dictionary und Klassen.
- GUI Programmierung fehlt völlig. Klar das ist schwierig für das "offizielle" Tutorial, denn es muss ja neutral sein.
- IDE fehlt auch völlig (wohl auch wegen der Neutralität).
- Datenbanken und Web-Zeugs: nichts
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Also findest Du es besser, wenn Dir jemand in didaktisch tollem Rahmen, total motivierend und dazu noch verpackt in sehr gutem Stil beibringt, dass 1 + 1 = 3 ist, als wenn jemand in weniger didaktisch und evtl. in weniger angenehmen Stil das richtige vermittelt?MagBen hat geschrieben:Ich würde mal sagen, das ist eins der Top-Kriterien einer Doku (noch vor Vollständigkeit und Fehlerlosigkeit): ist die Doku verständlich?
Sie sind nicht so schlecht, weil sie falsches vermittelnMagBen hat geschrieben:Die Bücher sind also gar nicht mal so schlecht.BlackJack hat geschrieben: So werden dann Bücher gut bewertet die erklären das `__del__()` ein Destruktor ist, ohne ein einziges Wort der Warnung was für Probleme man sich mit dieser Methode einhandeln kann, oder wie man public, private, und protected für Membervariablen in Python schreibt.
Letztlich ist das bei Einsteigerbüchern genauso wie in jeder anderen Lebenslage, bei der man als Laie anfängt zu lernen: Man sollte auf den Ratschlag von Experten auf einem Gebiet hören; dies ist bei Plattformen wie Amazon schwer zu entscheiden, da dort *jeder* bewerten kann, unabhängig von seiner Qualifikation bezüglich eines Themas.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
BlackJack
@MagBen: Wie kann Verständlichkeit ein Top-Kriterium sein wenn das was vermittelt wird fachlich fragwürdig bis falsch ist? Das *muss* mit fachlicher Kompetenz einhergehen, denn Bücher von Leuten die verständliche Bücher für C#, C++, oder Java geschrieben haben, und nun so etwas nahezu 1:1 auf Python-Syntax abbilden mögen auch *verständlich* sein, und deshalb von Einsteigern gelobt werden, sind aber letztendlich ein Bärendienst am Leser.
Zum Umfang des offiziellen Tutorials: Das bietet einen Rundgang durch die *Sprache* und ein paar grundlegende Module aus der Standardbibliothek. GUI-Programmierung, IDE, und Webprogrammierung wären alles Dinge die nicht jeder benötigt und wo es verschiedene Implementierungen gibt, und sich dementsprechend die Frage stellen würde welche das offizielle Tutorial bevorzugen und damit irgendwie ja auch empfehlen sollte. Bei Datenbanken ist das ähnlich und bei den verbreiteten relationalen Datenbanken hätte das auch nicht viel mit Python zu tun, sondern müsste eher ein Tutorial über SQL, Mengenoperationen, ACID, … sein. Das sind alles umfangreiche Themengebiete mit eigenen Lösungen und vor allem auch eigenen Tutorials. Für jedes brauchbare GUI-Toolkit gibt es Tutorials für Anfänger, jedes nennenswerte Webrahmenwerk hat so etwas, und für relationale Datenbanken sollte sich auch Material finden lassen.
Die Liste in Deinem Beitrag ist komisch — vor der Liste steht dass das Tutorial didaktisch eine Katastrophe ist, von den vier Listenpunkten hat aber nur der erste etwas mit Didaktik zu tun, alle anderen beziehen sich auf angeblich fehlende Themen.
Wie man ein Tutorial eher als Wiki bezeichnen kann ist mir schleierhaft, da das zwei orthogonale Dinge sind und technisch das Tutorial kein Wiki ist. Was nicht heisst, das nicht jeder etwas daran verbessern könnte — „pull requests” werden hoffentlich nicht ignoriert.
Zum Umfang des offiziellen Tutorials: Das bietet einen Rundgang durch die *Sprache* und ein paar grundlegende Module aus der Standardbibliothek. GUI-Programmierung, IDE, und Webprogrammierung wären alles Dinge die nicht jeder benötigt und wo es verschiedene Implementierungen gibt, und sich dementsprechend die Frage stellen würde welche das offizielle Tutorial bevorzugen und damit irgendwie ja auch empfehlen sollte. Bei Datenbanken ist das ähnlich und bei den verbreiteten relationalen Datenbanken hätte das auch nicht viel mit Python zu tun, sondern müsste eher ein Tutorial über SQL, Mengenoperationen, ACID, … sein. Das sind alles umfangreiche Themengebiete mit eigenen Lösungen und vor allem auch eigenen Tutorials. Für jedes brauchbare GUI-Toolkit gibt es Tutorials für Anfänger, jedes nennenswerte Webrahmenwerk hat so etwas, und für relationale Datenbanken sollte sich auch Material finden lassen.
Die Liste in Deinem Beitrag ist komisch — vor der Liste steht dass das Tutorial didaktisch eine Katastrophe ist, von den vier Listenpunkten hat aber nur der erste etwas mit Didaktik zu tun, alle anderen beziehen sich auf angeblich fehlende Themen.
Wie man ein Tutorial eher als Wiki bezeichnen kann ist mir schleierhaft, da das zwei orthogonale Dinge sind und technisch das Tutorial kein Wiki ist. Was nicht heisst, das nicht jeder etwas daran verbessern könnte — „pull requests” werden hoffentlich nicht ignoriert.
Die Welt ist nicht schwarz-weiß. Deshalb braucht man zur Beurteilung mehrere gewichtete Kriterien und Verständlichkeit hat ein hohes Gewicht. Z.B. kann eine Klausur die den einen oder anderen Fehler enthält immer noch eine 1 oder 2 sein, ist der Rechenweg dagegen unverständlich, dann ist das viel schlimmer.Hyperion hat geschrieben:Also findest Du es besser, wenn Dir jemand in didaktisch tollem Rahmen, total motivierend und dazu noch verpackt in sehr gutem Stil beibringt, dass 1 + 1 = 3 ist, als wenn jemand in weniger didaktisch und evtl. in weniger angenehmen Stil das richtige vermittelt?
Bezüglich public, protected und private:
Wer das wirklich wirklich für etwas Unternehmenskritisches braucht, der soll es mit Java machen. Sowohl in Python als auch in C++ komme ich an die "private" Daten dran. Ich halte es deshalb nicht für ein großes Manko, wenn ein Einsteigerbuch erstmal alles andere erklärt, bevor es erwähnt, wie Python versucht protected und private zu simulieren.
Didaktik hat auch was mit Erfolgserlebnisse vermitteln zu tun. Ich habe früher Java-Trainings gehalten (2001 bis 2005). Da haben die Leute sich gefreut, wenn sie gesehen haben wie einfach es war ein Fenster erscheinen zu lassen (wenn es MFC Programmierer waren) oder dass es gar nicht mal so schwer ist ein Fenster erscheinen zu lassen (wenn es VB Programmierer waren).BlackJack hat geschrieben:Die Liste in Deinem Beitrag ist komisch — vor der Liste steht dass das Tutorial didaktisch eine Katastrophe ist, von den vier Listenpunkten hat aber nur der erste etwas mit Didaktik zu tun, alle anderen beziehen sich auf angeblich fehlende Themen.
Eben, ein Wiki ist eine Ansammlung von Wissen und ein Tutorial ist ein didaktisch aufbereiteter Rundgang durch dieses Wissen.BlackJack hat geschrieben:Wie man ein Tutorial eher als Wiki bezeichnen kann ist mir schleierhaft, da das zwei orthogonale Dinge sind und technisch das Tutorial kein Wiki ist.
Ich glaube nicht, dass Galileo sowas wie ein Programmierbuch Template hat, was dann mit C++, C#, Java oder Python Syntax gefüllt und gedruckt wird. Grundsätzlich halte ich Bücher nicht für gefährlich, das schlimmste was passieren kann ist, dass es öde ist. Dann macht man einfach mit dem nächsten Buch weiter. (Es wurden schon ganze Bibliotheken niedergebrannt mit dem Argument: Entweder enthalten die Bücher das gleiche wie die offizielle Lehre, dann brauchen wir sie nicht oder sie widersprechen der offiziellen Lehre, dann sind sie schädlich.)BlackJack hat geschrieben:@MagBen: Wie kann Verständlichkeit ein Top-Kriterium sein wenn das was vermittelt wird fachlich fragwürdig bis falsch ist? Das *muss* mit fachlicher Kompetenz einhergehen, denn Bücher von Leuten die verständliche Bücher für C#, C++, oder Java geschrieben haben, und nun so etwas nahezu 1:1 auf Python-Syntax abbilden mögen auch *verständlich* sein, und deshalb von Einsteigern gelobt werden, sind aber letztendlich ein Bärendienst am Leser.
Das hat für mich nicht wirklich etwas miteinander zu tun. public und private sind nur im Rahmen der Softwareentwicklung relevant, nicht aber für den Anwender.MagBen hat geschrieben:Wer das wirklich wirklich für etwas Unternehmenskritisches braucht, der soll es mit Java machen. Sowohl in Python als auch in C++ komme ich an die "private" Daten dran.
-
BlackJack
Python versucht gar nicht ``protected`` und ``private`` zu simulieren. Autoren diverser Bücher versuchen das, und bringen damit den Einsteigern Unsinn bei. Das ist ja genau der Kritikpunkt. Das ist der unverständliche Rechenweg der solche Bücher zu schlechten Büchern macht, auch wenn der Leser der Meinung ist er hätte es verstanden und das Buch sei deswegen toll.
Wikis und Tutorials sind Äpfel und Birnen, Deine Aufteilung Wiki auf der einen und Tutorial auf der anderen Seite macht keinen Sinn! Wie das Wissen das in einem Wiki erfasst wird, strukturiert ist, gibt die Technik selbst doch gar nicht vor, man kann dort problemlos auch einen didaktisch aufbereiteten Rundgang durch ein Wissensgebiet drin ablegen. Es werden teilweise ganze Bücher kollaborativ in Wikis erfasst und viele Firmen/Organisationen/Vereine benutzen Wikis für Dokumentation und ähnliches. Kennst Du Wikibooks?
Galileo mag solch ein Template nicht haben, aber es gibt Autoren die Bücher nicht schreiben weil sie sich ausgiebig mit einer Programmiersprache auseinandergesetzt und praktische Erfahrung damit haben, sondern weil sie sich den Markt anschauen, sehen das es im Gegensatz zu C#- oder Java-Büchern, verhältnismässig wenige Python-Bücher gibt, und sich denken, hey ich kann Java oder C++ und ich kann Bücher schreiben, also kann ich auch ein Python-Buch schreiben.
Das schlimmste was passieren kann ist eben kein ödes Buch sondern eines was falsches Wissen vermittelt. Das ist um so schlimmer je besser das Buch im nicht-fachlichen Anteil ist, denn dann finden das viele Einsteiger toll — und lernen Müll, den man dann später mühsam wieder entsorgen muss.
Du kommst jetzt echt mit Bücherverbrennungen? Bewegen wir uns auf einen Godwin zu?
Wikis und Tutorials sind Äpfel und Birnen, Deine Aufteilung Wiki auf der einen und Tutorial auf der anderen Seite macht keinen Sinn! Wie das Wissen das in einem Wiki erfasst wird, strukturiert ist, gibt die Technik selbst doch gar nicht vor, man kann dort problemlos auch einen didaktisch aufbereiteten Rundgang durch ein Wissensgebiet drin ablegen. Es werden teilweise ganze Bücher kollaborativ in Wikis erfasst und viele Firmen/Organisationen/Vereine benutzen Wikis für Dokumentation und ähnliches. Kennst Du Wikibooks?
Galileo mag solch ein Template nicht haben, aber es gibt Autoren die Bücher nicht schreiben weil sie sich ausgiebig mit einer Programmiersprache auseinandergesetzt und praktische Erfahrung damit haben, sondern weil sie sich den Markt anschauen, sehen das es im Gegensatz zu C#- oder Java-Büchern, verhältnismässig wenige Python-Bücher gibt, und sich denken, hey ich kann Java oder C++ und ich kann Bücher schreiben, also kann ich auch ein Python-Buch schreiben.
Das schlimmste was passieren kann ist eben kein ödes Buch sondern eines was falsches Wissen vermittelt. Das ist um so schlimmer je besser das Buch im nicht-fachlichen Anteil ist, denn dann finden das viele Einsteiger toll — und lernen Müll, den man dann später mühsam wieder entsorgen muss.
Du kommst jetzt echt mit Bücherverbrennungen? Bewegen wir uns auf einen Godwin zu?
Eher Terry Pratchett und der hat die Legende von hier http://de.wikipedia.org/wiki/Bibliothek ... en_ArabernBlackJack hat geschrieben: Bewegen wir uns auf einen Godwin zu?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Es geht ja auch nicht um die Welt, sondern einen *kleinen* Ausschnitt davon. Und solche können sehr wohl schwarz und weiß sein! Destruktoren gibt es in Python nicht. Punkt. Wenn jemand da etwas anderes behauptet ist das einfach falsch, ganz objektiv.MagBen hat geschrieben:Die Welt ist nicht schwarz-weiß.
Das Manko ist ja nicht, *wann* es erklärt wird, sondern *dass* es erklärt wird! Denn in Python hat eben kein Sprachmittel dafür, sondern lediglich Konventionen. (Was per se nichts schlimmes ist!)MagBen hat geschrieben: Bezüglich public, protected und private:
Wer das wirklich wirklich für etwas Unternehmenskritisches braucht, der soll es mit Java machen. Sowohl in Python als auch in C++ komme ich an die "private" Daten dran. Ich halte es deshalb nicht für ein großes Manko, wenn ein Einsteigerbuch erstmal alles andere erklärt, bevor es erwähnt, wie Python versucht protected und private zu simulieren.
Daher sind solche Abschnitte eben auch schlicht und ergreifend falsch! Und genau das hat BlackJack kritisiert
Einzig eine Closure wäre ein wirklich sprachliches Mittel btw. und ein tot sicheres
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- noisefloor
- User
- Beiträge: 4257
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Und genau diese Kritik, die von den Vorpostern hier mehrfach bereits erwähnt wurde, trifft auf viele (genau genommen alle mir bekannten) deutsch-sprachigen Bücher zum Thema "Programmieren mit Python" zu.
Gruß, noisefloor
Gefährlich nicht, aber man einen nachhaltig schlechten Programmierstil lernen und die Sprache "falsch" einsetzen. Natürlich bekommt man dann immer irgendie ein Prog hin, was läuft und "das macht, was es soll". Aber spätestens bei einem mittleren oder größeren Projekt steckt man nachhaltig in einer Sackgasse.MagBen hat geschrieben:Grundsätzlich halte ich Bücher nicht für gefährlich, das schlimmste was passieren kann ist, dass es öde ist. Dann macht man einfach mit dem nächsten Buch weiter.
Und genau diese Kritik, die von den Vorpostern hier mehrfach bereits erwähnt wurde, trifft auf viele (genau genommen alle mir bekannten) deutsch-sprachigen Bücher zum Thema "Programmieren mit Python" zu.
Gruß, noisefloor
Keine Frage die englischen Lehrbücher sind besser (Wenn der Student zahlt, dann muss der Prof auch unterhalten, wenn der Staat zahlt, dann bekommt der Prof das Gehalt auch so und das spiegelt sich dann in der Fachbücher-Kultur wieder).noisefloor hat geschrieben:Und genau diese Kritik, die von den Vorpostern hier mehrfach bereits erwähnt wurde, trifft auf viele (genau genommen alle mir bekannten) deutsch-sprachigen Bücher zum Thema "Programmieren mit Python" zu.
Aber was soll jemand ohne ausreichende Englischkenntnisse nun lesen, das "offizielle" Tutorial mag zwar keine Fehler enthalten, aber keine Fehler zu machen ist zu wenig. (Je größer die Firma ist umso häufiger trifft man auf Leute, die keine Fehler machen, das ist dann aber auch schon alles was sie tun.)
-
BlackJack
@MagBen: Jemand ohne ausreichende Englischkenntnisse sollte Englisch lernen. Ohne wird man sowieso nicht allzu weit kommen. Das entsprechende Diskussionsthema wurde hier ja schon relativ am Anfang verlinkt.
Ich war heute in einer Buchhandlung und habe mir einige Bücher angesehen, was soll ich mit Büchern die sich lesen wie ein Wissenschaftsbuch mit umschreibungen. diese Bücher sind geschrieben als wäre man schon Programmierer, da lerne ich es lieber so aus dem Internet und habe jetzt auch schon meine kleinen erfolge.
Interessant wäre jetzt die Amazon Rezensionen zu diesen Büchern zu lesen. Welche waren es denn?Carolin09 hat geschrieben:Ich war heute in einer Buchhandlung und habe mir einige Bücher angesehen, was soll ich mit Büchern die sich lesen wie ein Wissenschaftsbuch mit umschreibungen. diese Bücher sind geschrieben als wäre man schon Programmierer
Soweit ich weiß hat es sich für den Autor wirtschaftlich nicht gelohnt. Der deutschsprachige Markt ist zu klein (oder war es zumindest) für den Aufwand, den das Schreiben eines solchen Buches erfordert. Schade, denn das Buch war fachlich und didaktisch gut. Empfehlen würde ich heute "Learning Python" von Mark Lutz. Der schreibt zwar etwas weitschweifig, aber das kann Anfängern ja durchaus entgegen kommen.MagBen hat geschrieben:"Das Python-Praxisbuch" von Farid Hajji. Leider wurde das Buch nicht mehr aktualisiert.
-
Leonidas
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wie schon von kbr geschrieben ist das Buch ja zumindest was ich so gesehen habe auch Qualitativ recht gut, ich glaube ich habe es auch schon mehrmals Empfohlen. Was mich bei dem Buch gestört hat, und was du hier als Vorteil schreibst ist, dass es nachdem es die Sprache einführt ganz viel Kraut und rüben macht: PyQt, Datenbanken und Web-Zeugs etc. Vielleicht interessiert mich das nicht? Vielleicht hätte ich lieber ein kürzeres (und dadurch günstigeres) Buch, das auch nicht so schnell obsolet wird wenn PyQt von PySide ersetzt wird und Datenbankschnittstelle A von Datenbankschnittstelle B? Vielleicht will der User doch eine andere IDE verwenden, so dass sich eine Einführung in diese oder jede IDE gar nicht lohnt?MagBen hat geschrieben:Ich selbst kann zu den aktuellen Galileo Büchern aber nichts sagen. Mein Einsteigerbuch war "Das Python-Praxisbuch" von Farid Hajji. Leider wurde das Buch nicht mehr aktualisiert. Da war zu allem was drin (1300 Seiten): was ist Pythonic, OO, GUI-Programmierung (nicht nur die eingebauten Bibliotheken, sondern auch PyQt), Datenbankzugriff, Web-Zeugs, Numpy, ... . Das Buch war auch in einem gut lesbaren Stil geschrieben.
Ich finde es wäre sinnvoller gewesen das Buch in mindestens zwei Teile zu splitten.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
