Programmmierkurs
Mit JavaScrip Programmieren lernen
Auf dieser Seite geht es mir darum, einen möglichst einfachen Einstieg
in die Programmierung, und damit auch von JavaScript und generell Programmiergrundlagen, zu vermitteln. CSS wird bis auf eine
Ausnahme komplett vernachlässigt und mit HTML nur ein minimales Grundgerüst gebaut, dass für die klassische
Ein- und Ausgabe der Programme dient.
------- Hilfreiche Werkzeuge -------
Tutorials und Refrenzen
Die Seite für Tutorials, Referenzen, Wiki und vieles mehr Selfhtml.org
Die Mozilla Entwicklerseite
Eine übersichtliche Seite: w3schools.com
Eine toll gemachte JavaScript Lern-Seite: JavaScript Hero
Editoren
Es gibt viele gute Editoren: z. B. Geany oder Notepad++.
Ich habe mich mit Visual Studio Code angefreundet. Sehr schön auch
Sublime Text
Bildbearbeitung Inkscape
Webbrowser: Google chrome
Mozilla firefox
Microsoft edge
IT News
Ein "must have" für IT'ler, IT-News, und mit vielem anderen, was es zu entdecken gibt, sicherlich eine Referenz:heise.de
JavaScript in anderen Bereichen
Die Möglichkeiten sind mannigfaltig und reichen von Mikrocontroller-Programmierung bis zu
serverseitigen Webanwendungen node.js mit
Datenbankanbindung MongoDB, Desktopanwendungen (Artikel auf
heise.de)
und der Programmierung von Office Erweiterungen Google Apps Script.
Als Beispiel zeige ich zwei Möglichkeiten:
Benutzerdefinierte Funktionen mit JavaScript als Erweiterung einer Tabellenkalkulation
Aus einer JavaScript Webanwendung eine Android App fürs Smartphone.
Das ursprüngliche und typische Umfeld
Im Kontext der dynamischen Internetseiten agiert JavaScript zusammen mit HTML und CSS im Sinne
der folgenden Abbildung:
Geschichtliche Einordnung
Timothy Berners-Lee hatte 1989 die Idee von Hypertexten, die über das Netz
ausgetauscht werden können. In der Folgezeit entwickelte er HTML und gilt damit als Begründer des World Wide Web.
Nach Mosaic entwickelte u. a. Marc Andreessen 1995 den Netscape Navigator, der weltweit bis dahin erfolgreichste und verbreitetste
Webbrowsers.
Zusammen mit Netscape wurde auch JavaScript entwickelt, um zunächst den statischen Inhalt der HTML Seiten
dynamischer zu machen oder auch Benutzereingaben zu validieren.
Programmierparadigmen
Der ... standardisierte Sprachkern von JavaScript beschreibt
eine dynamisch typisierte, objektorientierte, aber klassenlose Skriptsprache. ...In JavaScript
lässt sich je nach Bedarf objektorientiert, prozedural oder funktional programmieren.
Wikipedia
Darüber hinaus
Was heißt eigentlich funktional, Prozedural bzw. Objektorientiert
Unter der prozeduralen Programmierung versteht man, logisch oder sinnvoll zusammenpassende Aufgaben in einer
Prozeduren (procedures) zusammenzufassen. Für diese gekapselten Prozeduren vergibt der Programmierer einen Namen
und packt die auszuführende Aufgabe dazu bei den meisten Programmiersprachen in geschweifte Klammern. Z. B.:
quadriere { ergebnis = zahl * zahl; } oder sagHallo { console.log("Hallo!"); }, wobei die Anweisungen
üblicherweise aus mehr als eine Zeile bestehen. Die Prozeduren werden auch Methoden oder Funktionen genannt.
Wobei Funktionen typisch eine mathematische Berechnung beschreiben und Methoden eine davon abweichende Aufgabe.
In JavaScript gibt es diese Unterscheidung nicht; beides wird Funktion genannt. Letztendlich läuft eine prozedurale Programmierung
jedoch immer in einem fest vorgegebenen Ablauf ab, den es zu programmieren gilt. Ein Programm hat dabei immer einen festen
Start- und Endpunkt. Der Programmfluss kann mit Bedingungen, z. B. Wenn: "tue das", ansonsten: "etwas anderes", und mit
Schleifen: "tue etwas so und so oft", gesteuert werden.
Eine Objektorientierte Programmierung, kurz OOP, läuft grundsätzlich auch nach diesen Regeln ab. Hinzu kommen Objekte, die
einen gegebenen Sachverhalt beschreiben, der zunächst abstrakt gestaltet werden kann und später ausgebaut/vererbt und benutzt/gebunden
werden kann. Beispiel: Ein Bankkunde hat eine ID und ein Konto. Später könnte er zu den Kunden gehören, die Geld anlegen, also
Sparen wollen. Und im Programm können nun beliebig viele dieser 'Kunden-Objekte' angelegt werden die alle eine feste Laufzeit
mit demselben Zinssatz bekommen. Oft werden Objekte oder Objektklassen auch einfach als Abbild einer Datenbankabfrage erstellt:
"Gib mir alle Kunden aus dem PLZ-Bereich 9000, die ein Sparguthaben von mehr als 1000 Euro haben" und habe damit im Programm
ein Kundenobjekt/-klasse, die ich mit speziellen Angeboten bewerben kann.