Tasse muggefugg Das unvergleichliche
DRÖPPEZ's
Einsteigerhandbuch JavaScript
Einführungsveranstaltung
31.Januar 2004, Schwerin
Droeppez

Hoch verehrtes Publikum, werte Schülerinnen und Schüler,

heute treten Sie also Ihren Unterricht bei mir in der Kunst des Programmierens an, und ich gratuliere Ihnen dazu.
Ich bitte Sie, wenn Sie bei mir wirklich lernen wollen, auf eine gewisse Disziplin zu achten, gerade auch zu Ihrem Vorteil, und vielleicht auch zum Vorteil Ihrer Mitschüler.
Es ist nämlich so:
Ich möchte, daß Sie mich verstehen, und ich weiß, daß Sie mich auch verstehen können, wenn Sie es wollen. Ihr Lernerfolg liegt bei Ihnen und Ihre Motivation auch, ebenso Ihr Nutzen, nicht nur der für Ihren Geldbeutel, sondern auch für Ihren Geist. Ich garantiere Ihnen: Ihr Geist wird durch Programmieren wirklich reicher werden, denn wie Musik oder Malerei ist Programmieren eine Kunst, und ich werde es hier nicht nur als Wissenschaft, sondern auch als Kunst lehren.
Von mir aus zünden Sie sich dazu ein Tütchen an, wenn Sie darauf klarkommen, legen Sie nach Möglichkeit Musik ein - zu empfehlen sind barocke, klassische, romantische Werke. Auch auf Zimmerlautstärke gedämpfter Tekkno, Drum'n Bass, Ambient, Jazz, Punk, Ska oder besonders Reggae sind hervorragend geeignet. Ich stelle Ihnen eine Liste der Musik, die ich zum Programmieren höre, zur Verfügung, und auch der ein oder andere Link, bei dem man kostenlos und legal wirklich gute Musik downloaden kann, wird dabei sein.
Das mag Ihnen jetzt vielleicht alles lustig oder überflüssig vorkommen ("Jo jo, der Schnacker, laß den ma' labern"), aber ich versichere Ihnen, Sie werden es nicht bereuen, allen Worten zu folgen, und diese zu durchdenken. Ich für meinen Teil werde mir Mühe geben, aber Sie sollten das auch - nicht nur aus erwiedertem gutem Willen - sondern auch aus Glauben an Ihre Fähigkeiten.

Ich glaube an Gott. Ich verlange von Ihnen jedoch nicht, daß Sie diesen Glauben mit mir teilen.
Ich empfinde es als zwar bedauerlich, aber normal, daß die Leute dies nicht tun. Jedenfalls glaube ich an Ihre Fähigkeiten, weil ich an Gott glaube, und weil ich glaube, daß er uns nach seinem Bild geschaffen hat.
Das heißt: nicht den Körper betreffen, sondern den Geist. Eine göttliche Fähigkeit ist beispielsweise die Fähigkeit zur Kreativität, und Programmieren ist eine der universellsten, allübergreifendsten und höchsten von Menschen erreichten Formen der Kreativität.

Wir werden hier an dieser Stelle keine wissenschaftlichen oder ingenieurtechnischen Höchstleistungen erbringen, wir werden keine geilen 3D-Shooter schreiben, wir werden auch keine Systemwerkzeuge bauen. Wir werden lediglich die Grundlagen dafür legen, daß Sie sich mit weiterführender Literatur selbst auf dieses Niveau heben können. Auch werden Sie hier einiges lernen, womit man schon eine ganze Menge lustiger Sachen anstellen kann, alles jedoch in der "Gummizelle" des Browserfensters.

Jedenfalls werden wir ein bisschen zusammen JavaScript bebasteln. Diese Sprache eignet sich also nicht sonderlich, um diese gewaltigen technischen Meisterwerke zu bauen, aber zu einem eignet sie sich hervorragend: dazu, an ihr das Programmieren zu erlernen. An JavaScript kann man all das Handwerkszeug (außer dem Fachwissen) erlernen, was man braucht, um Ingenieursoftware, Systemprogramme, Spiele und vieles mehr zu entwickeln. Und das geile daran: man kann es sofort benutzen, man kann es sozusagen "anfassen".

Man kann mit drei Programmzeilen etwas tun, was in einem ein gewisses Gefühl der Freude erwachen läßt, denn man hat ein einfaches Werkzeug, seiner Kreativität freien Lauf zu lassen.
Dank seiner Abstammung von der C-Familie (ANSI C, C++, Java, PHP, Perl) ist es problemlos möglich, einen Großteil seines Wissens über JavaScript sofort unter diesen Sprachen anzuwenden. ANSI C ist die Programmiersprache der Wissenschaftler, Ingenieure und der innovativen Systemprogrammierer - und mit JavaScript können Sie auch einen beträchtlichen Teil Ihres Grundwissens für C erlernen.

Wir, die Programmierer, sind Mitgestalter einer Entwicklung, an der richtig geniale Köpfe gebaut haben. Den ersten richtigen Computer hat bekanntlich ein Bauingenieur, Konrad Zuse, gebaut. Warum hat er das getan?
Die Antwort ist einfach und bestechend: Er hatte keine Lust mehr, seine Berechnungen von Hand zu erstellen. Das ist wirklich kein Spaziergang, gewaltige Mengen von Zahlen wollen gebändigt und durch den Rechenwolf gedreht werden, und man verliert sehr leicht den Überblick.
Also hat Konrad Zuse einen genialen und logischen Schluß gefasst: eine Maschine zu bauen, die uns hilft, die Welt in gewisser Hinsicht besser zu verstehen. Jeder Naturwissenschaftler benutzt heutzutage für seine Arbeit die Arbeit von Programmierern, viele programmieren selbst. Genauso sieht es bei den Ingenieuren aus. Und als Programmierer wird man ein "Kollege", einer im "Club", einer, der die Welt ein Stück weit ähnlich verstehen kann wie diese Menschen. Wenn ein Wissenschaftler einem Comupter wichtige Zusammenhänge erklären kann, dann kann er es auch einem anderen erklären, der programmieren kann.
Indem man die Fähigkeiten anderer Leute erlernt, erlernt man auch eine gemeinsame Sprache mit ihnen, und je umfassender diese Fähigkeit ist, desto umfassender sind auch die Verständigungsmöglichkeiten. Sie sind hier in keiner Geheimloge gelandet, eher dem genauen Gegenteil.

Es mag Ihnen jetzt wie Plauderei anmuten - aber ich halte es für Ihr Verständnis meinem Lehrstil und dem Lehrinhalt gegenüber sehr wichtig, daß Sie gewillt sind, sich etwas Zeit sowohl für das Programmieren zu nehmen, als auch Ihren Geist zu öffnen für diese neue, bewußtseinserweiternde Erfahrung.
Es nutzt Ihnen nichts, wenn Sie nur das Handwerk zu erlernen versuchen, versuchen Sie auch die Philosophie dahinter zu verstehen. Programmieren ist gleichzeitig Wissenschaft, Werkzeug der Wissenschaft, Kunst und auch Werkzeug der Kunst.
Sie sollten daher Ihren Geist auch der Wissenschaft und der Kunst öffnen, besonders aber dem Verständnis scheinbar banaler Zusammenhänge. Nehmen Sie sich einfach die Zeit, auch mal meine Geschichtchen und mein Gelaber mitzulesen. Sie wollen eine Leistung in Anspruch nehmen, nämlich etwas zu erfahren, also müssen Sie auch etwas mitbringen, nämlich Geduld und Zeit.
Beides werden Sie brauchen, wenn Sie überhaupt irgendwas programmieren wollen. Also lassen Sie mich noch ein wenig plaudern, und dann erst geht es richtig los.

Wie ich auf meinen Seiten schon erwähne, habe ich mal in Dresden Bauingenieurwesen studiert, das aber beschissen verrissen. Allerdings habe ich vor, diesen Abschluß an einer Fachhochschule nachzuholen. Mein erlernter Beruf nennt sich jetzt Fachinformatiker für Anwendungsentwicklung. In letzter Zeit programmiere ich Bordsoftware für diverses fahrbares Gerät.
Mir war es vergönnt, an einer gewissen Anzahl außergewöhnlicher Projekte teilzunehmen, ich habe Neuronalen Netzen beim Lernen zugesehen und genau dafür einen Linux-Treiber für das Synapse3PC-Board (Neurobeschleuniger) in meinen Kernel eingebastelt und als Modul gebaut. Ich kann nur jedem, der das Programmieren erlernt hat, empfehlen, sich die Kernel-Quelltexte regelrecht durchzulesen und sich von der Faszination "Linux-Kernel" packen zu lassen, denn es ist nicht nur nebenbei auch ein schöner Anblick. Programme von mir rechnen Teile der Statik für die Hubarbeitsbühnen eines aufstrebenden sächsischen Unternehmens durch - diese Maschinen sind, zwar zu einem bescheidenen Anteil, auch die Arbeit meiner Hände.
Man kommt als Programmierer mit gewisser Wahrscheinlichkeit in den Genuß, etwas zu erschaffen, was zwar nicht aus Materie besteht, aber mit dieser auf wundersame Weise wechselwirkt und das Leben dadurch auch positiv beeinflußt.

Programmieren ist etwas, das auch in eine saubere Umwelt und zu Menschen paßt, die mit ihrer natürlichen Umgebung in Harmonie leben, aber trotzdem hochentwickelte Technologie und Wissenschaft betreiben. Das Betreiben von Rechentechnik ist nicht zwingend mit irreversiblem ökologischen Verschleiß verbunden, kann uns aber sehr wohl dabei helfen, diesen zu reduzieren.

Doch ich will hier nicht allzu politisch werden.
Wenn Sie das Programmieren erlernen wollen, müssen Sie auch den Umgang mit den dazu benötigten Werkzeugen erlernen.
Am Anfang werden Ihnen ein Texteditor, ein Testbrowser und verschiedene Tutorials gute Dienste leisten, später werden Sie um die Benutzung der Konsole oder eines Debuggers nicht mehr herumkommen.
Sie werden also auch den Umgang mit dieser Einführung und dem angebauten Handbuch erlernen müssen. Ich werde versuchen, Ihnen das so einfach wie möglich zu machen.

Warum schreibt einer wie ich ein Handbuch zu JavaScript? Es war mal angedacht, daß ich einige Fortbildungslehrgänge halte, und dazu brauchte ich ein Handbuch. Alle deutschsprachigen JavaScript-Handbücher, die ich im Netz gefunden habe, riefen in mir nicht direkt Begeisterung hervor.
Also hab' ich selbst eins geschrieben, wie ich es mir wünschen würde. Das mit dem Unterricht hat sich aufgrund diverser Firmenpleiten dann zwar erübrigt, überlebt hat jedoch das JavaScript-Tutorial. Wie gesagt: ich habe ein Handbuch geschrieben, wie ich es mir wünschen würde, ein Nachschlagewerk für Programmierer eben.
Eins habe ich dabei nicht bedacht: Anfänger sind noch keine Programmierer, sie wollen es erst werden. Einem Anfänger muß man ein Anfängerlehrbuch geben, damit er sich erstmal zurechtfindet und orientieren kann und seine Angst verliert. Deshalb stelle ich dieses Anfängerlehrbuch zur Verfügung. Wenn Sie sich die Zeit nehmen, es durchzuarbeiten, werden Sie nachher ein Programmierer sein.
Ebenso werden Sie den Umgang mit den Dokumentationen erlernt haben - kann man eine Doku benutzen, kann man alle benutzen.
Deshalb wird dieser Anfängerlehrgang auch eine Führung durch mein JavaScript-Handbuch sein, damit Sie sich nachher problemlos darin zurechtfinden.
Wenn ich auf das Handbuch verweise, wird sich die jeweilige Seite in einem neuen Fenster öffnen, schließen Sie die Seite nach dem Lesen einfach, und das Anfängerhandbuch ist wieder im Vordergrund.

Ein Grund, warum so wenige Leute programmieren, ist Angst vor dem Komplizierten. Sie werden jedoch sehen, daß Programmieren lernen nicht komplizierter ist, als es für einen Erstklässler ist, Rechnen und Schreiben zu lernen. Sie können heute rechnen und schreiben, und tun dies vermutlich ohne größere Anstrengung richtig.
Genauso ist es mit dem Programmieren. Die Fertigkeiten werden Sie, wenn Sie ein bisschen dranbleiben, nebenbei beherrschen, als genauso einfaches Werkzeug wie Schrift oder Zahlen. Das Anspruchsvolle daran wird sein, mit den ganz einfachen Mechanismen des Programmierens interessante Software zu bauen, genauso wie beim Schreiben oder Rechnen nicht die Mittel das Komplizierte sind, sondern der Inhalt.

Nunja, nach dem Durcharbeiten dieses Anfängerlehrganges werden Sie eigene kleine Sachen für sich oder Ihre Arbeit bereits schreiben können, und zwar mit JavaScript. Teile der Steuererklärung in einem HTML-Formular durchrechnen lassen - warum nicht? Vielleicht sind Sie auch Ingenieur oder wollen es werden.
Einige kleinere Probleme lassen sich hübsch und schnell in JavaScript durchrechnen, und JavaScript-Kenntnisse sind ein guter Einstieg für ANSI C.

Sie bekommen von mir keine Zensuren, keine Zertifikate. Falls jemand doch Lust hat, sich unbedingt Noten zu holen: Gegen ein Honorar würde ich es, beispielsweise als Service für Lehrer und Professoren, übernehmen, kleine Arbeiten und Klausuren bzw. Aufgabensammlungen zu entwerfen.

Nicht daß Sie sich über die folgenden Seiten wundern: Ich werde ab der nächsten Seite vom Sie zum Du überwechseln, so ist es unter Entwicklern im Netz üblich. Sollten Sie sich nicht damit anfreunden können, bleibt Ihnen nur eins: dieses Handbuch nicht zu lesen.
Ansonsten jedoch: Willkommen im Club.

Zuerst jedoch eine kleine Einführung in die Navigation dieses Einsteigerseminars.
Klicken Sie dazu auf diesen Link:

weiter ----->
Autor: Ulrich Kritzner