Lieber Matthias,
Ich will damit sagen, beim Lernen sind schnelle AHA-Erlebnisse (Erfolge) und intiutives Verständnis sehr wichtig, ein Grund warum m.M.n. gefühlt 90% aller Anfängerlehrbücher (auch hochgelobte) zu allen Themen, nicht nur Programmierung, schlecht sind. Weil eben der Autor sich selbst zu weit entwickelt hat und viele Überlegungen des Lesers nicht mehr voraus ahnt.
Full Ack! Deshalb müssen wir hier als Team arbeiten.
ich sehe das ein wenig kritischer als ein simples Full Ack. Wenn man JavaScript einsetzen will, ist es alles andere als egal wo. Im Browser ist sein Einsatz zwar historisch betrachtet der Ursprung seiner Existenz (Netscape wissenschon), aber alles andere als intuitiv (Lisas Begriff). Im Browser JavaScript einzusetzen (z.B. um den Wert eines Inputs zu ermitteln) setzt implizit einiges an Wissen um HTML voraus, noch genauer um das DOM, mit dem JavaScript im Browser untrennbar zusammenhängt. Was den Einsatz von JavaScript außerhalb des Browsers angeht (node.js oder als Makrosprache in einem freien Office) sollten (und können!) wir im Wiki nicht (sinnvoll) abhandeln.
Ich habe mit JavaScript gelernt, wie objektorientiertes Programmieren prinzipiell funktioniert. Dabei hatte ich aber schon Vorkenntnisse mit BASIC, TurboPascal und Assembler (auf dem C64). Ohne dieses Vorwissen wäre mir das Erlernen deutlich schwerer gefallen. Ja, und natürlich hatte ich mich schon ausreichend mit HTML befasst, um die Idee mit dem DOM als Grundlage zu verstehen. Meiner Meinung nach muss man bei "Anfängern" in Sachen JavaScript schon einiges voraussetzen, wenn man ein Einstiegskapitel schreibt.
Hier ist das was anderes, ist wirklich gut, wäre aber m.M.n. besser, wenn direkt am Anfang tatsächlich schon kleine Erfolge durch Alert usw. kämen und das Spiel durch ein Spiel wie z.B. Memory oder 4gewinnt oder sonstwas leicht Verständliches ersetzt werden würde.
Da würde ich sogar mitgehen. Man kann zeigen, dass es auch in JavaScript grundsätzliche Dinge einer Programmiersprache gibt, wie z.B. Variablen und Prozeduren (hier Funktionen), sowie die üblichen Kontrollstrukturen wie Schleifen und Verzweigungen. Das kann man auch in einem kleinen Beispiel vorführen, welches alert, confirm und prompt verwendet - eben für das ganz schnelle Aha-Erlebnis, aber garniert mit dem Verweis auf die Schattenseiten dieser Methoden und dass diese historisch bedingt sind.
Da gibt es ja schon die Grundlagen der Programmierung. Es wäre zu überlegen, ob man diesen Kurs "Einstieg in …" nennen sollte und den jetzigen Einstiegs-Kurs dann …
- moderne Webseiten
- JS und das DOM
- ???
Die Grundlagen der Programmierung sollten genau das sein und bleiben: Grundlagen. Idealerweise hätte ich ein solches Tutorial gerne unabhängig von JavaScript als verwendeter Sprache, bzw. sowohl für JavaScript als auch PHP gleichermaßen konzipiert im Wiki. Was eine klassische EVA (Eingabe > Verarbeitung > Ausgabe) betrifft, hat man ja bei beiden keine intuitive Möglichkeit, wenn man document.write
und print
als scheinbar intuitive Ausgabefunktionen aussortiert.
Oder man lässt die Namen und überarbeitet beide Tutorials und setzt dabei imer wieder Querverlinkungen.
Genügt das wirklich? Da habe ich meine Zweifel.
Bis gestern gab es unter "Einstieg in JavaScript"
- eine Seite, die erklärt was JS überhaupt ist
- Einbindung in HTML
- wie man's im Browser wieder deaktiviert
Das finde ich nicht schlecht. Immerhin ist es ja nicht trivial (s.o.), allerdings habe ich jetzt auch keinen Überblick, ob dazu noch klitzekleine Code-Beispiele stehen, die wie oben angedeutet mit alert&Co einen ersten Vorgeschmack geben. Aber dann wäre aus meiner Sicht der Einstieg getan. Das Hantieren mit dem DOM wäre dann der nächste Schritt, den ich in einen eigenen Artikel setzen würde, da er mit einem reinen Einstieg nichts mehr zu tun hat.
Liebe Grüße
Felix Riesterer