Programmieren - wie geht das?
|
zurück zur Startseite von website-go! | zum PC-Lexikon |
Hinweis: Dies ist eine kleine Einführung zum Thema, die dem Verständnis dienen soll. Sie werden nach dem bloßen Studium dieser Zeilen nicht in der Lage sein, eine Karriere als Programmierer zu starten - da gehört etwas mehr zu. Aber vielleicht ist es ein Anfang und die Informationen des Artikels machen Sie lecker darauf, tiefer in die Materie einzudringen. Die vorgehobenen Links führen Sie zu einer Erläuterung im PC-Lexikon von website-go, welches Sie außerdem durch die Verknüpfung rechts oben auf dieser Seite erreichen.
1. Computer sind doof!
Na, da erzähle ich Ihnen wahrscheinlich nichts neues, oder? Allerdings ist dieser Ausruf nicht als rein emotionale Reaktion auf die Verweigerung eines Dienstes des heimischen PC zu verstehen, sondern als ganz sachliche Aussage. Computer (also die reine Hardware) für sich sind doof; von künstlicher Intelligenz kann man frühestens dann sprechen, wenn dem Gerät durch die Installation von Programmen "Leben" eingehaucht wird. Allerdings muss auch das gleich relativiert werden. Selbst wenn die vermeintliche Intelligenz eines modernen PC-Systems verblüffen mag, so tut die Maschine immer nur das, was die installierten Programme ihr befehlen. Diese wurden von Menschen erstellt und sind in der Regel alles andere als intelligent. Programme arbeiten Bit für Bit Routinen ab, so, wie es der Programmierer vorgesehen hat - vergleichbar mit dem kleinen Vogel in Opas Kuckucksuhr, der alle Stunde, Tag für Tag, seinen lieblichen Gesang ertönen lässt - vorausgestzt, die Uhr wird regelmäßig aufgezogen. Bei einer Uhr von Intelligenz zu sprechen ist also sicherlich fehl am Platze. Intelligent war der Erfinder und der Handwerker, der sie herstellte, Opa, der sie täglich aufzieht und Sie, die Sie die Zeigerstellung der Uhr, bzw. die Anzahl der Kuckucksrufe interpretieren.
2. Hardware without software gets you nowhere
Wie erwähnt: Computerhardware (also alle physischen Komponenten, die den Computer ausmachen) alleine bringt uns nirgendwohin; erst die Software (Programme) macht aus der Ansammlung von Transistoren, Widerständen, Kondensatoren usw. einen funktionstüchtigen Computer. Wenn Sie Ihren PC einschalten tritt zuerst das BIOS in Aktion und führt fundamentale Routinen aus (das Booten), um abschließend das Betriebssystem zu starten. Das heißt auf den meisten PC Windows und ist von der Firma Microsoft. Wenn das geschehen ist passiert vermeintlich nichts mehr. Im Hintergrund laufen allerdings zahlreiche Prozesse ab. (Arbeiten Sie mit Windows XP oder 2000? Dann drücken Sie die Tastenkombination Strg+Alt+Entf und Sie gelangen in den Taskmanager, wo Sie sich auf der Registerkarte "Prozesse" ein Bild davon machen können.) Außer dem Betriebsystem läuft auf Ihrem Rechner im Moment wahrscheinlich mindestens ein weiteres Programm: der Browser, mit dem Sie diese Seite betrachten, mit etwa 90 prozentiger Wahrscheinlichkeit ist das der Internet Explorer von der Firma Microsoft.
3. Sprichst du meine Sprache?
Programme werden in der Regel in einer höheren Programmiersprache geschrieben (z.B. C, Pascal oder Java). Nur selten macht sich ein Programmierer die Mühe, direkt in Assembler zu coden, obwohl das der Maschinensprache am nähsten kommt. Aber halt, das bedarf wohl einer kurzen Erläuterung! Computer kennen prinzipiell zwei Zustände: die berühhmten Gesellen "1" und "0" oder "an" und "aus", "JA" und "NEIN". Alle Daten, Befehle und Prozesse beruhen auf dem binären Zahlensystem. Auch Ihr PC kann im Grunde keine andere als die "binäre Sprache" oder "Maschinensprache" verstehen. Nun sitzen wir heute aber nicht mehr am Terminal und füttern den Computer mit Einsen und Nullen sondern schreiben mit der Tastatur, geben Befehle mit der Maus oder reden gar mit dem PC (z.B. Diktiersoftware). Es ist klar, dass zwischen der multimedialen Interaktion und der binären Maschinensprache etwas stecken muss, das das eine in das andere übersetzt.
Um die Kommunikation zwischen Mensch und Maschine zu bewerkstelligen kommen - Sie ahnen es sicher - Programme zum Einsatz. Doch wie werden solche Programme erstellt? Da dies wiederum von Menschen erledigt wird und die nun einmal besser mit Begriffen als mit binären Zahlenketten umgehen können, haben schlaue Köpfe Programmiersprachen entwickelt. Diese ermöglichen es, in einer mehr oder weniger kryptischen Syntax Befehlsfolgen zu kombinieren, welche anschließend kompiliert bzw. interpretiert werden (d.h. übersetzt werden - welches Verfahren zur Anwendung kommt richtet sich nach der verwendeten Programmiersprache). Das Kompilieren/ Interpretieren übernimmt ein Programm (Compiler/ Interpreter) und übersetzt den Quelltext in Maschinensprache - den einzigen Dialekt, den ein Computer versteht. Html wird übrigens vom im Browser enthaltenen Parser "geparst" (english to parse = analysieren), ein dem Interpretieren ähnlicher Vorgang. Javascript hingegen wird von dem in den Browser integrierten Interpreter interpretiert.
4. Das braucht man fürs Programmieren
1. ein Problem/ eine Aufgabenstellung
2. Informationen bzgl. der problemrelevanten Parameter
3. einen Plan (immer hilfreich)
4. geeignete Werkzeuge (Programmiersprache, Compiler)
5. eine lauffähige Umgebung
Programmiersprachen wurden nicht zum Selbstzweck entworfen, sonder um Aufgaben mithilfe der EDV zu lösen. Daher steht immer das Problem/ die Aufgabe im Vordergrund und nimmt u.a. auch Einfluss auf die verwendete Programmiersprache. Um eine Aufgabe lösen zu können, muss der Programmierer Informationen über die relevanten Parameter sammeln, also z.B. welche Hardwareressourcen stehen zu Verfügung? Ist eine Vernetzung mit anderen Programmabläufen erforderlich? Wer soll das Programm bedienen - wie also muss z.B. die Benutzeroberfläche gestaltet sein? Aus diesen Informationen macht der Programmierer eine Plan - meist auf Papier - und schafft erste und grundlegende Strukturen des zukünftigen Programms. Welche Programmiersprache zum Einsatz kommt richtet sich zum Einen nach den Anforderungen und der Komplexität der Aufgabenstellung, zum Anderern nach den Vorlieben/ Kenntnissen des Programmierers (nicht jeder "spricht" alle Sprachen). Schlussendlich bedarf es zu Testzwecken einer lauffähigen Umgebung für das neue Programm. Idealerweise ist dies das zukünftige Einsatzgebiet.
5. Fünf Generationen
Um einem Computer Befehle zu erteilen, die er versteht, bedarf es einer Folge von Instruktionen in binärer Form. Diese müssen auf die Architektur des Prozessors (CPU) zugeschnitten sein - ein Pentium-Chip versteht nicht die Sprache eines Athlon-Prozessors. Wenn ein Programmierer über genügend Wissen bzgl. des Aufbaus eines bestimmten Prozessors und eine ausreichende Portion Masochismus verfügt, dann wird er seine Befehle direkt in Maschinensprache formulieren. Das macht heute praktisch niemand - statt dessen greift man zur hierarchisch niedersten "menschlichen" Programmiersprache: Assembler. Da auch diese nicht wesentlich "komfortabler" als Maschinensprache ist, wurde eine Reihe anderer Programmiersprachen entwickelt.
Man kann die Programmiersprachen wie folgt in 5 Generationen unterteilen:
1. Maschinensprache - besteht aus Einsen und Nullen
und ist die "hardwarenächste" Sprache.
2. Assembler - fasst i.d.R. mehrere Maschinenbefehle zusammen (z.B.
< MOV> für das Verschieben von Dateien), die Abbildung in Maschinensprache
ist jedoch sehr direkt.
3. Prozedurale Sprachen - erlauben eine funktionsorientierte
Zerlegung der Aufgabenstellung. (z.B. Pascal, C).
4. Objektorientierte Sprachen (OO) - ermöglichen eine Modularisierung
und haben eine einfachere Syntax (z.B. JAVA, SQL).
5. Sprachen der KI - orientieren sich an der menschlichen Intelligenz
und die Syntax an der natürlichen Sprache (z.B. PROLOG).
Unterschieden werden hierbei die maschinenorientierten Sprachen (1 und 2) und die höheren Programmiersprachen (3, 4 und 5).
Eine eindeutige Zuordung der verschiedenen Sprachen in
die fünf Generationen ist allerdings nicht immer möglich. Es
gibt Hybridformen, die generationsübergreifende Charakterisika in
sich vereinen. So kann beispielsweise die Sprache Delphi sowohl
der dritten, als auch in der vierten Generation zugeordnet werden, da
sie Pascal und SQL-Komponenten verwendet.
6. Ein kleines Programm - selbstgestrickt
Ein klassisches Beispiel für die Realisierung eines einfachen Programmes ist das "Hallo Welt-Programm". In Javascript sieht der Quellcode so aus:
<html>
<head><title>Test</title>
<script type="text/javascript">
<!--
alert("Hallo Welt!");
//-->
</script>
</head>
<body>
</body>
</html>
Dieser simple Code veranlasst den Browser, ein kleines Fenster mit dem Text "Hallo Welt !" auszugeben. Damit Sie sich das Ergebnis ansehen können, öffnen Sie einen Editor (z.B. den in Windows integrierten "Editor") und fügen den obigen Code ein. Speichern Sie das Dokument als test.html ab und öffnen es anschließend.
7. Ein Taschenrechner in Javascript
Die Aufgabe: Erstellen eines Taschenrechners, der mit einem Browser bedient werden kann und über das Internet verfügbar ist.
Die Wahl der Programmiersprache: Hier bietet sich z.B. Javascript an, da einJavascript-Interpreter in die meisten modernen Browsern integriert ist und da es eine geeignete Plattform mit ausreichender Funktionalität bietet.
Hier können Sie den fertigen Quelltext des Dokumentes einsehen.
Und so sieht der fertige Rechner aus: Taschenrechner
zurück zur Startseite von website-go! |