Das hatten wir doch schonmal per Definition geklärtnomade hat geschrieben:BlackJack hat Recht.

Vielleicht waere es sinnvoller gewesen es in zwei Teile aufzusplitten. Also Teile I und II als ein Band, und Teil III als ein weiterer Band. Na ja, im Falle einer eventuellen 2ten Auflage, waere es eine Ueberlegung wert.Leonidas hat geschrieben:(da würde ich eher zum vergleichbaren Praxisbuch greifen, das ist zwar teurer und (dafür?) dicker und nicht ganz son falsch).
Das halte ich persönlich für einen schlechten Ansatz und das ist auch das was ich in der Lehre von Java als bedenklich einstufe. OOP ist nicht alles und gerade OOP-Lösungen finde ich oftmals aus Programmierersicht eher wenig spannend. Das schöne an Python ist eben dass es dem Programmierer die Wahl lässt wie er ein Problem löst und wenn man ein Problem besser funktional oder schlicht imperativ lösen kann dann ist OOP an dieser Stelle sogar nur störend.vicbrother hat geschrieben:Ich suche ein Tutorial/Buch, welches aus objektorientierter Sicht in die Sprache einführt, also Konzepte der Objektorientierung und das Herumspielen mit class und .
Schau dir doch mal SICP an, eines der bedeutendsten Lehrbücher über Programmierung schlechthin.vicbrother hat geschrieben:- Es wird nicht sofort gecodet sondern erstmal der wirklich wichtige "TopDown-Objekt" Blick eines Programmiers gelehrt.
Wieso? Meine bestehenden Programme zu Lehrzwecken verwenden oft kein OOP weil es einfach nicht sinnvoll ist, es einzusetzen. Dafür gerne mal seiteneffektfreie Funktionen.vicbrother hat geschrieben:- Objektorientierung ist das derzeit meistverwendete Programmierparadigma und bietet einen hohen Wiedererkennungswert, wenn der Schüler sich bestehende Programme zu Lernzwecken ansieht.
Also wenn du eine mathematische Lösung als Hack ansiehtst, dann gewissvicbrother hat geschrieben:- Andere Programmierparadigmen (insb. imperative und funktionale) führen ohne Übrung häufig zu undurchsichtigeren Code und verleiten zu schnellen Hacks.
Ist die Frage was für ein Interesse Anfänger an Algorithmen haben. Wenn man ihnen zeigt wie man Heapsort, Quicksort und Mergesort implementiert dann wirst du nur kritik Ernten wenn die Anfänger dann irgendwann merken dass die Methode ``sort`` oder das Builtin ``sorted`` wesentlich schneller funktionieren als ihre Algorithmen.vicbrother hat geschrieben:Danach sollte man meiner Meinung nach in Pseudecode Algorithmen formulieren, um auch hier ein Verständnis von Sprachen zu haben.
Nein. Gerade heute entstehen und werden so viele funktionale Sprachen wie nie zuvor verwendet und entwickelt. Schau dir Erlang an, das nun auch schon einige Jahre hat und ausgereift ist. Gerade bei Multicore-Prozessoren ist die Vermeidung von State in funktionalen Programmiersprachen wesentlich einfacher was zu viel einfacherer Parallelisierung führt. Siehe auch die neuen Sprachen wie Scala (quasi ein Superset von Java das viele funktionale Konzepte wieder in die Sprache reinbringt) oder Clojure (ein funktionales Lisp). Die Anzahl der Haskell-Libraries ist im Jahr 2008 vergleichbar oder schneller gestiegen als die Anzahl der Python-Libraries im selben Zeitraum.vicbrother hat geschrieben:Funktionale Programmierung mag ganz schon sein, ich habe selbst mit Miranda gearbeitet. Aber heute ist das i.d.R. nicht mehr das Konzept der Wahl
Ich habe nicht gemeint, dass man OOP nicht nutzen sollte - doch durchaus. Nur eben wo es sinnvoll ist. In GUI-Toolkits ist es durchaus sinnvoll und selbst GTK hat mit GObject ein in C implementiertes Objektsystem (das dann von Vala mit Syntaktischem Zucker versüßt wird).vicbrother hat geschrieben:Sieht man sich Frameworks wie Qt an, so kommt man an OO nicht mehr vorbei.
Es hat sogar eine Wikipedia-Seite. Aber OOP wirst du nicht finden. Dafür einen interessanten Lehransatz.vicbrother hat geschrieben:Was ist "SICP"? Gibt es dafür eine URL oder eine ISBN?
ejabberd ist in Erlang geschrieben, die Software die meine Arbeitszeit zusammenrechnet ist in Scheme geschrieben. MLdonkey und Unison sind in OCaml geschrieben und darcs in Haskell. Das ist alles Software mit der man durchaus Tag für Tag in Kontakt kommt.vicbrother hat geschrieben:Aber die täglich eingesetze Software baut sehr selten auf funktionale Sprachen auf. Oder kannst du mir Beispiele nennen?
Weil Filesharing nur illegal benutzt wird? ... da triffst du bei Python, das recht viel mit BitTorrent zu tun hat, auf die _richtig_ falschen Leute, ich sag's nur Oo'vicbrother hat geschrieben:@Leonidas:
Mit MLdonkey kommt man als gesetzestreuer Mensch kaum in Berührung.
Die wenigsten großen Programme sind in einer Sprache geschrieben. Ihre Aufgaben sind so stark abstrahiert, dass kritische und Kernsachen mit einer "niedrigen" Sprache optimiert werden... Also eine API geschaffen wird. Nun, andere Sprachen, wie die die Leonidas aufgezählt haben, benutzen nun diese Apis, um das Programm in einer effektiven Zeit zu optimieren und zu erstellen. Python und viele andere Sprachen (Ruby, die ganzen JVM-Sprachen) werden genauso eingesetzt. Deswegen ist diese Frage nach: "Worin ist das und das Programm geschrieben?"... oft nicht so leicht zu beantworten. Sonst könntest du ja sagen, dass Firefox in HTML und Javascript geschrieben ist. Wie dämlich klingt'n das?vicbrother hat geschrieben:Unison und ejabberd sind kleine Programme - Unison m.W.wird nicht mehr fortgeführt. Gibt es keine großen Projekte die funktionale Sprachen nutzen? Die die du aufzählst sind eher Ein-Mann-Ein-Tag-Projekte....
Es gibt wirklich schöne Lösungen mit funktionalen Sprachen. Aber das sind einzelne Algorithmen und keine großen Gesamtprojekte.
Gesetzestreue Bürger laden auch keine Debian-Images, stimmtvicbrother hat geschrieben:Mit MLdonkey kommt man als gesetzestreuer Mensch kaum in Berührung.
Achja, mir fällt noch CouchDB ein. Aber wenn du ejabberd als kleines Programm bezeichnest, dann hat Python auch keine großen Programme die damit implementiert sind. Schau, keiner nutzt Python!vicbrother hat geschrieben:Unison und ejabberd sind kleine Programme
Nein, es ist XUL und JavaScript ;)vicbrother hat geschrieben:Firefox besteht definitiv nicht aus JavaScript und HTML,
Teile der Facebook-Infrastruktur sind in Erlang geschrieben... Nicht viel Code vielleicht, aber verdammt viele User. Auch eine Form von großem Projekt.vicbrother hat geschrieben:Mit funktionalen Sprachen sehe ich nur keine großen Projekte verwirklicht.
Das Internet fällt allgemein wegen illegalen Inhalten auf - ist es nun auch illegal? Na, ich denke nicht. MLDonkey is nur'n Client von vielen Filesharingnetzwerken. Sie bieten eine fantastische Plattform für Verbrecher - sie selbst sind aber nicht verboten (zumindest sind das meine letzten Informationen).vicbrother hat geschrieben:@BlackVivi:
Python ist per se kein Verbrechen, auch BitTorrent nicht. MLdonkey ist aber hauptsächlich mit illegalen Inhalten aufgefallen...
So falsch ist das aber garnicht (wenn s/HTML/XUL/). Wenn ich hier das Paket "mozilla-firefox" installiere, werden vielleicht ein Dutzend C-Dateien kompiliert, und das wars.BlackVivi hat geschrieben:Sonst könntest du ja sagen, dass Firefox in HTML und Javascript geschrieben ist. Wie dämlich klingt'n das?