Seite 2 von 3
Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 11:56
von kevind
Für mich sieht es so aus als ob du mit Python schon genug beschäftigt bist, aber bevor du dir so ein teueres Buch kaufst deck dich erstmal mit Python Basics ein. (Netzwerkprotokolle sind sehr umfangreich und nichts was man mal eben so lernt)
Ich habe mir 2 Bücher gekauft:
http://www.amazon.de/Einstieg-Python-Pr ... pd_sim_b_2
und
http://www.amazon.de/gp/product/0321680 ... UTF8&psc=1
eines von beiden konnte mir meist weiterhelfen. Das Deutsche ist eher für Anfänger, das Englische für Anfänger - Fortgeschrittene (behaupte ich jetzt einfach

)
Dazu möchte ich sagen, zieh mal etwas durch was du anfängst. Wahrscheinlich wird dir jeder n anderes Buch empfehlen, wichtig ist nur das du mal ein Buch von vorne bis hinten durcharbeitest. Dann kannst du immernoch ein anderes Buch lesen...
Greetz
Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 12:20
von Gary123456
Das NetWorkHacks ist für viel später gedacht.
EDIT: Das Hello World Buch hält sich sogar an PEP8

Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 16:54
von Leonidas
Das das offenbar nicht viel taugt haben wir letztens schon diskutiert. Die Beispiele im Buch sind nicht so wie ein Python-Programmierer Code schreiben würde. Der Summerfield ist vermutlich besser auch wenn das kein sonderliches Buch zum Programmieren anfangen ist. Aber immerhin vertraue ich darauf, dass Summerfield Ahnung hat von dem was er schreibt.
@Gary123456: PEP8, wooow, am schluss haben sie im Python-Buch sogar noch idiomatisches Python

Ne aber im Ernst, ein Buch was sich nicht an grundlegende Codestandards für Python hält die ja in der Python-Community universell etabliert sind (nicht so wie in C), das ist schwer ernstzunehmen.
Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 17:27
von Gary123456
@Gary123456: PEP8, wooow, am schluss haben sie im Python-Buch sogar noch idiomatisches Python

Ne aber im Ernst, ein Buch was sich nicht an grundlegende Codestandards für Python hält die ja in der Python-Community universell etabliert sind (nicht so wie in C), das ist schwer ernstzunehmen.
Das größte Problem meinerseits war, dass ich einfach keine kindgerechten Aufgaben gefunden habe. Wenn ich was selber erfunden habe, war es entweder zu schwer oder zu leicht. Dieses Buch hat für jedes Kapitel eine Aufgabenseite (die man schriftlich erledigt) und dann noch Aufgaben, die man programmiert. Das Buch ist der Hammer! Super Erklärungen sind auch dabei! Nächstes Kapitel kommt GUI dran, dann kommen wir zum magischem Kapitel Kontrollstrukturen. Das beste Buch seit langem. Jetzt muss nur korrektes drinstehen. Gehe aber davon aus, weil 1. Rezensionen alle super sind (das ist kann man aber auch zum Teil
leider nicht mehr 100% werten lassen) und 2. Weil alle seiner Erklärungen logisch sind und 3. weil man merkt, dass er sich sehr viel Mühe gegeben hat.
Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 17:42
von BlackJack
@Gary123456: Nach dem was ich in den Beispielseiten bei Amazon gesehen habe hält sich das Hello World-Buch nicht an PEP8 bei der Namensgebung. `zeigeKontostand()` müsste dann nämlich `zeige_kontostand()` heissen und `meinKonto` müsste `mein_konto` heissen.
Das Thema GUI *vor* Kontrollstrukturen ist eigenartig, denn eigentlich gehört das ziemlich ans Ende, nach Klassen und OOP. Das Buch verwendet EasyGUI und PythonCard, was beides keine zeitgemässen GUI-Lösungen sind. EasyGUI geht noch wenn man mal den Benutzer Quick'n'Dirty was fragen möchte, aber von PythonCard würde ich die Finger lassen.
Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 18:28
von Gary123456
@Gary123456: Nach dem was ich in den Beispielseiten bei Amazon gesehen habe hält sich das Hello World-Buch nicht an PEP8 bei der Namensgebung. `zeigeKontostand()` müsste dann nämlich `zeige_kontostand()` heissen und `meinKonto` müsste `mein_konto` heissen.
Das stimmt.
GUI wird auch nor die allerleichtesten Basics beigebracht wie Messagebox, enterbox, inetgerbox, choicebox. Ich finde das ist recht gut und ich verstehe auch alles. Er will uns damit folgendes vermitteln: Eingabe, Verarbeitung, Ausgabe.
Aber ich denke, dass es dazu viel zu viel unterschiedliche Meinungen gibt.
Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 19:57
von Leonidas
Gary123456 hat geschrieben:Das Buch ist der Hammer! Super Erklärungen sind auch dabei! Nächstes Kapitel kommt GUI dran, dann kommen wir zum magischem Kapitel Kontrollstrukturen. Das beste Buch seit langem. Jetzt muss nur korrektes drinstehen. Gehe aber davon aus, weil 1. Rezensionen alle super sind (das ist kann man aber auch zum Teil leider nicht mehr 100% werten lassen) und 2. Weil alle seiner Erklärungen logisch sind und 3. weil man merkt, dass er sich sehr viel Mühe gegeben hat.
Ja wenn dir das passt und du die Sachen gut verstanden hast, dann scheint das ja wohl das richtige für dich gewesen zu sein. Freut mich.
Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 20:03
von snafu
Es ist schon richtig, dass man GUI-Programmierung bis zu einem gewissen Level auch ohne großartige Kenntnisse von OOP betreiben kann. Aber das dürfte sich dann hauptsächlich auf das Übernehmen von fertigen Snippets beziehen. Wenn man z.B. noch keine Ahnung von Vererbung hat, dann weiß man unter Umständen nicht, dass eine abgeleitete Klasse, die man evtl nutzt, noch viel mehr Funktionalität hat als das, was sie selbst an Methoden und Attributen definiert.
Wenn man einem Anfänger in einem Buch aber einfach nur mittels simplen grafischen Elementen Konzepte des Weiterverarbeitens von Eingaben und einer Ausgabe vermitteln möchte, dann kann man IMHO ruhig diese Herangehensweise auswählen. Zumindest ist dies meiner Meinung nach noch kein KO-Kriterium für ein Buch. Der Nachteil ist, dass man als Anfänger aufgrund der limitierten Kenntnisse schnell verwirrt sein kann bzw dass man den Eindruck hat, man würde nur die halbe Wahrheit erfahren.
Es ist auf jeden Fall wünschenswert, wenn das Buch dann erstmal zügig wieder von der grafischen Präsentation wegkommt und das darstellt, was meist am wichtigsten ist: Die hinter dem Programm stehende Logik. Also das, was passiert, um überhaupt Ergebnisse anzeigen zu können. Meist macht dies auch den Hauptteil des Quellcodes aus (wenn die Logik denn sauber von der Darstellung getrennt worden ist - andernfalls sieht man's nicht so deutlich).
Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 20:39
von Gary123456
Ne, ich komme schon weg von GUI, denn jetzt sind folgende Sachen angesagt:
- Schleifen
- Kommentare
- Kleines DemoSpiel (wird noch nichts erklärt, sondern ein Spiel präsentiert)
- Geschachtelte und variable Schlefien
- Listen
- Funktionen
- Objekte
- Module
usw.
Ich werde es morgen bis hoffentlich Listen schaffen. Heute habe ich schon ca. an die 7 Kapitel gemacht, jedoch auch nur, da ich schon etwas Wissen hatte.
Nach Module wirds richtig spannend, denn dann werden v.a. Spiele und Sounds besprochen. Wenn ich dieses Buch durchgelesen habe, kommt ein größeres Projekt (weiss auch genau welches

) und zu guter Letzt, werde ich mir wieder paar Sachen aus dem Galileo Book durchnehmen (Datum und Zeit,Mathematik, Schnittstelle zum Betriebssystem,Parallele Programmierung und zu guter Letzt Netwerkprogrammierung). Habe da einen festen und konkreten Plan, um an mein Ziel zu kommen. Wenn ich das mal durchhabe (nach zahlreichen Projekten), werde ich mir das andere Buch vornehmen und das Thema Network hacks durchnehmen. Und nicht wegzudenken: Natürlich werde ich bevor dem auch noch TKINTER besprechen. Und danach kommt keine Skriptsprache mehr, sondern eine richtige. Habe da C in Verdacht. Ich habe mit Bedacht diese Sprache gewählt und sie war sicher die richtige.
Ich habe schon mal diese Projekte in Visier: Wer wird Millionär mit Sound und spannenden Animationen, Chatprogramm mit umfangreicher GUI, einen Art RemoteZugriff, sofern dies möglich ist und einen Art Trojaner, der natürlich nicht verbreitet wird
Ich habe so einen klaren Plan, da ich ein großes Vorbild habe und das mir immer den Ansporn gibt, egal zu welcher Zeit, zu programmieren

Mal sehen, wie mein Wissenstand in 5 Jahren aussieht

Bis dahin wird aber sicher noch viel geschehen!
Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 20:52
von snafu
Gary123456 hat geschrieben:Ich werde es morgen bis hoffentlich Listen schaffen. Heute habe ich schon ca. an die 7 Kapitel gemacht, jedoch auch nur, da ich schon etwas Wissen hatte.
Bedenke dass du nicht Data, der Android vom Raumschiff Enterprise, bist. Ich verstehe, dass du wissbegierig bist, aber das menschliche Gehirn kann in aller Regel nicht soviel auf einmal verarbeiten. Es geht darum, Dinge im wahrsten Sinne des Wortes über Nacht sacken zu lassen und sich erst dann wieder neuen Dingen zuzuwenden. Gerade Programmierung ist nichts, was man sich an 3 Tagen mit ausreichend Kaffee-Vorrat in die Birne kloppen könnte. Aber das wurde hier glaube ich auch schon hinreichend erwähnt.
Also: Finde dein eigenes Lerntempo, wiederhole Dinge, schreib dir Dinge mit eigenen Worten auf, etc.
Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 20:59
von Gary123456
Naja die ersten Dinge waren ja nur die Dinge, die ich schon kannte und dennoch nochmal wiederholt habe

Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 21:05
von snafu
Gary123456 hat geschrieben:Und danach kommt keine Skriptsprache mehr, sondern eine richtige. Habe da C in Verdacht. Ich habe mit Bedacht diese Sprache gewählt und sie war sicher die richtige.
Eine Programmiersprache ist doch nicht weniger richtig, nur weil sie ausdrucksstärker ist und bestimmte potenziell fehleranfällige Dinge bewusst nicht unterstützt (wie z.B. Python). Es geht bei der Anwendung einer Programmiersprache einfach darum, ein Set von sprachlichen Mitteln zu haben, um ein Problem möglichst flexibel lösen zu können. Dazu gehören sowohl Syntax und Semantik der Sprache als auch dessen Standardbibliothek. C hat mit Sicherheit seine Daseinsberechtigung (und das haben wir alle auch schon tausendmal gehört), aber mit Sicherheit ist eine Skriptsprache deshalb nicht weniger "richtig". Programmiersprachen unterscheiden sich nunmal dadurch, dass sie manchmal für bestimmte Anforderungen besser geeignet sind als andere Sprachen. Das ist aber keine Frage von genereller Richtigkeit, sondern es geht nur darum, welche Sprache möglicherweise eher für ein bestimmtes Szenario geeignet ist im Gegensatz zu einer anderen. Ein Duschkopf ist ja auch nicht weniger richtig als ein Hochdruckreiniger (mir fiel gerade nichts besseres ein).

Re: Richtiges Buch
Verfasst: Mittwoch 3. April 2013, 21:52
von Leonidas
Gary123456 hat geschrieben:Und danach kommt keine Skriptsprache mehr, sondern eine richtige. Habe da C in Verdacht. Ich habe mit Bedacht diese Sprache gewählt und sie war sicher die richtige.
Was ist eine "richtige" Sprache? Ist OCaml eine "richtige" Sprache? OCaml kann sowohl zu Bytecode kompiliert werden wie Python aber auch zu nativem Code wie C.
Aber bedenke dass C für einen Einsteiger nicht unbedingt das beste ist. Ich hab zu C eine Love-Hate-Beziehung und generell wird C zu oft für Dinge hergenommen die in anderen Sprachen wesentlich besser implementiert worden wären. Andererseits ist C der kleinste gemeinsame Nenner, aber um Pointer zu verstehen habe ich erstmal x86-Assembler gebraucht und die weitreichenden Freiheiten die C dir lässt den Speicher zu korrumpieren sind etwas problematisch. Für dich wäre C eher zum lernen sinnvoll, aber weniger um darin Programme zu schreiben.
Aber vor allem muss ich snafu zustimmen: übernimm dich nicht. Rom wurde nicht an einem Tag erbaut und du lernst auch Python nicht in nem Monat.
Re: Richtiges Buch
Verfasst: Donnerstag 4. April 2013, 10:18
von Gary123456
Ja mit richtig habe ich auch was anderes gemeint. Für mich ist eine Sprache richtig, wenn ich damit machen kann, was ich erwartet habe.
Und C habe ich nach Python vorgenommen, da man damit hardwarenahe Sachen proggen kann (Kann man das mit C++ nicht auch?). C und C++ sind ja praktisch das gleiche, somit habe ich wieder Blödsinn erzählt. C oder C++. Mal sehen, was ich in 5 Jahren nehmen werde.
Nun paar allgemeine Wissensfragen:
- Python ist eine Skriptsprache, kann man diese Sprache denn nicht für größere Projekte einsetzen? Möglich wird das schon sein, was sind aber dann die Nachteile? Was ist der Nachteil , wenn man mithilfe von py2exe die py zur exe umwandelt?
Bye
Re: Richtiges Buch
Verfasst: Donnerstag 4. April 2013, 10:59
von mutetella
Gary123456 hat geschrieben:Python ist eine Skriptsprache, kann man diese Sprache denn nicht für größere Projekte einsetzen?
Mir konnte bisher noch niemand erklären, was eine Skriptsprache von "den anderen" (??) Sprachen unterscheidet. Und die immer wieder auftauchende Frage, ob denn Python nicht für größere Projekte geeignet sei, erschließt sich mir auch nicht. Weshalb sollte das so sein?
mutetella
Re: Richtiges Buch
Verfasst: Donnerstag 4. April 2013, 11:09
von nezzcarth
Gary123456 hat geschrieben:
Was ist der Nachteil , wenn man mithilfe von py2exe die py zur exe umwandelt?
Vergiss am besten, dass sowas wie py2exe existiert. Es mag ja Fälle geben, in denen das nützlich ist, aber in fast allen Threads hier (die gefühlt zwei mal die Woche auftauchen) die sich darum drehen, beruht die Verwendung auf einigen Fehlannahmen.
Re: Richtiges Buch
Verfasst: Donnerstag 4. April 2013, 11:19
von Gary123456
@mutella)
Skriptsprache bedeutet für mich, dass man mit Skripts einige Programme darstellen kann. Diese Skripts sind nicht allzulang. Da stellt sich mir die Frage, ob es bei größeren Projekten weniger "Leistung" besitzt, sprich ob das bei einem aufwendigem Programm langsamer startet bzw. langsamer läuft.
@nezzcarth)
Wenn ich Programmer programmiere müsste ich ja immer den Interpreter mitliefern. Das ist ziemlich dumm und daher die Frage zu px2exe. Ich sehe nur Fragen, wie man das anwendet, aber nicht direkt die Nachteile.
Re: Richtiges Buch
Verfasst: Donnerstag 4. April 2013, 11:24
von EyDu
Gary123456 hat geschrieben:C und C++ sind ja praktisch das gleiche, somit habe ich wieder Blödsinn erzählt.
Und schon wieder hast du Blödsinn erzählt ...
Lerne erstmal eine Programmiersprache vernünftig, selbst das wird dir innerhalb eines Jahres schwer genug Fallen. Prinzipiell wirst du vor dem Problem stehen, dass du gar keinen Vorteil hast auf C++ zu wechseln. Das lohnt sich nur, wenn man sehr dicht an die Hardware muss oder geschwindigkeitskritische Probleme hat. Letzteres macht aber nur Sinn, wenn das zu optimierende Problem bereits algorithmisch optimal gelöst ist. Ansonsten lässt sich sehr leicht eine Lösung finden, welche in Python schneller ist. Ob du allerdings (ohne Studium) jemals so weit kommst, dass du an solche Grenzen stößt, ist durchaus fraglich.
Hinzu kommt, dass ein Wechsel innerhalb der selben Sprachfamilie, in diesem Fall imperativ und objektorientiert, sehr einfach ist. Klar, die Syntax ist unterschiedlich, an vielen Stellen auch die Semantik und die Bibliotheken sind anders, aber prinzipiell gibt es keine großen Unterschiede vom Denkmuster. Daher lohnt es sicher eher, wenn man mal in eine andere Familie schaut, wie zum Beispiel Funktionale Programmierung.
Re: Richtiges Buch
Verfasst: Donnerstag 4. April 2013, 11:29
von Leonidas
Gary123456 hat geschrieben:Und C habe ich nach Python vorgenommen, da man damit hardwarenahe Sachen proggen kann (Kann man das mit C++ nicht auch?). C und C++ sind ja praktisch das gleiche, somit habe ich wieder Blödsinn erzählt. C oder C++. Mal sehen, was ich in 5 Jahren nehmen werde.
C und C++ sind überhaupt nicht das gleiche, sie sind nichtmal sonderlich ähnlich. Daher kannst du dir sicher sein dass jeder Programmierer der sagt dass er "C/C++-Programmierer" sei, nichts davon ist, sonst würde er wissen das das verschiedene Sprachen sind. Wenn man C++ wie C programmiert dann macht man was falsch.
Gary123456 hat geschrieben:Python ist eine Skriptsprache, kann man diese Sprache denn nicht für größere Projekte einsetzen?
Erklär mir was eine Skriptsprache ist
Gary123456 hat geschrieben:Was ist der Nachteil , wenn man mithilfe von py2exe die py zur exe umwandelt?
Der Nachteil ist, dass die Binaries nicht mehr Platformunabhängig sind, eine 64-Bit EXE kannst du etwa nicht unter 32-Bit-Windows verwenden, eine 32-Bit-EXE kann nicht mehr als 4 GB RAM verwenden. py2exe-generierte Distributionen sind groß weil sie eine komplette Python-Installation mitschleppen und diese hängt auch auf der Version fest die mitgeliefert wurde, das heißt wenn es Python-Sicherheitsupdates gibt müssen alle py2exe-Pakete neu gemacht werden oder sie sind unsicher statt Python *einmal* zu aktualisieren. Auf Platformen != Windows kann man mit py2exe schon gar nichts mehr anfangen.
Und du musst den Interpreter nicht mitliefern. Der ist ja schon vorinstalliert. Oftmal sogar sowohl python2 als auch python3.
Re: Richtiges Buch
Verfasst: Donnerstag 4. April 2013, 11:38
von mutetella
Gary123456 hat geschrieben:Wenn ich Programmer programmiere müsste ich ja immer den Interpreter mitliefern.
Das kann durchaus vorkommen, je nach Programmiersprache und Plattform. Aber wo liegt das Problem? Wenn Du mal genauer hinschaust wirst Du feststellen, dass bei vielen Programmen (sowohl unter Linux wie auch Windows) während einer Installation unaufgelöste Abhängigkeiten auftauchen, die idealerweise vom Installer aufgelöst werden.
Nur weil man es unter Windows gewohnt ist, via Klick auf eine .exe ein Programm zu installieren, heißt das ja noch lange nicht, dass unter Windows bereits alles zur Ausführung dieses Programms zur Verfügung steht.
mutetella