Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
42 KAPITEL 6. GRUNDLAGEN DES HAMSTER-MODELLS<br />
bzw. Maschinensprachen maschinenorientiert sind. Das bedeutet, mit Hilfe hoherer Programmiersprachen<br />
konnen menschliche Ideen und Konzepte zur Losung von Problemen viel besser<br />
als Programme formuliert und dem Computer mitgeteilt werden, als dies mit Maschinensprachen<br />
moglich ist.<br />
6.1.3 Compiler<br />
Wie aber " versteht\ nun ein Computer Programme, die in einer hoheren Programmiersprache<br />
formuliert sind? Ganz einfach: Es mussen Dolmetscher her, die die in einer hoheren Programmiersprache<br />
formulierten Programme in aquivalente Maschinenprogramme ubersetzen.<br />
Prinzipiell konnte die Aufgabe des Dolmetschens von Menschen erledigt werden, namlich von<br />
den oben angesprochenen Computerexperten. Das wurde das Problem aber auch nicht losen:<br />
Experten sind rar und nicht unmittelbar verfugbar. Von daher sind die Experten sehr schnell<br />
auf die Idee gekommen, als Dolmetscher selbst wieder die Computer zu nutzen. Sie haben (in<br />
Maschinensprache) Dolmetscherprogramme geschrieben, die sogenannten Compiler. Die Aufgabe<br />
eines Compilers besteht darin zu uberprufen, ob ein in einer hoheren Programmiersprache<br />
formuliertes Programm korrekt ist. Falls dies der Fall ist, ubersetzt der Compiler es in ein gleichbedeutendes<br />
Maschinenprogramm.<br />
Der Begri korrekt mu an dieser Stelle noch ein wenig prazisiert werden. Wozu ein Compiler<br />
fahig ist, ist die Uberprufung, ob das benutzte Vokabular und die Grammatikregeln der Programmiersprache<br />
eingehalten worden sind. Wozu er (leider) nicht fahig ist, ist die Uberprufung,<br />
ob das Programm auch das tut, was es soll, d.h. ein Compiler kann nicht uberprufen, ob das<br />
Programm das zu losende Problem korrekt und vollstandig lost. Diese Aufgabe bleibt immer<br />
noch dem Programmierer uberlassen.<br />
6.1.4 Programmiersprachen lernen<br />
Durch die De nition hoherer Programmiersprachen ist es heute nicht alleine Experten vorbehalten,<br />
Computer zum Bearbeiten und Losen von Problemen zu nutzen. Sie werden sehen, nach<br />
dem Durcharbeiten dieses Kurses werden Sie dies auch scha en.<br />
Genauso wie Sie zum Beherrschen einer Fremdsprache wie Englisch oder Italienisch das Vokabular<br />
und die Grammatik dieser Sprache lernen mussen, mussen Sie auch zum Beherrschen einer<br />
Programmiersprache ihr Vokabular und die zugrundeliegenden Grammatikregeln lernen. Dabei<br />
ist das Vokabular einer Programmiersprache sehr viel geringer als das Vokabular einer Fremdsprache.<br />
Die Grammatik einer Programmiersprache ist jedoch sehr viel praziser als die Grammatik<br />
einer naturlichen Sprache. Hinzu kommt, da zum Verstandnis einer Programmiersprache<br />
bestimmte Konzepte erlernt werden mussen, die bei naturlichen Sprachen nicht existieren. Bei<br />
imperativen Programmiersprachen sind dies bspw. Variablen, Anweisungen und Prozeduren.<br />
Stellen Sie sich vor, Sie haben sich ein englisches Worterbuch gekauft und etwa 1000 Vokabeln<br />
und die wichtigsten Grammatikregeln gelernt. Sie fahren nach England und mochten sich mit<br />
einem Englander unterhalten. Wie Sie sicher wissen, ist das nicht ganz so einfach moglich, Sie<br />
werden Ihre Probleme bekommen. Ganz wichtig beim Erlernen einer Fremdsprache ist das konsequente<br />
Uben. Erst nach und nach stellt sich ein Erfolgserlebnis ein. Alleine durch das blo e