Einstieg in Java mit Eclipse

Bernhard Steppan

Einstieg in Java mit Eclipse

2020

664 Seiten

Format: ePUB

E-Book: €  23,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446463264

 

1 Programmiergrundlagen
1.1 Einleitung

Programmieren bedeutet, Computerprogramme zu schreiben. Computerprogramme bestehen aus einem oder mehreren Befehlen in einer Programmiersprache. Der Roboter Robert stellt den Studentinnen und Studenten des Programmierkurses von Professor Roth ein einfaches Java-Programm vor (Abbildung 1.1).

Abbildung 1.1 Robert aus der Maschinenwelt ist der Experte für Maschinenprogramme.

Die Studentinnen und Studenten des Programmierkurses finden, dass es doch sehr viele Anweisungen für ein so einfaches Programm sind. Anna möchte von Professor Roth wissen, ob es nicht noch einfacher geht:

Abbildung 1.2 Heute noch Programme abtippen, ist das wirklich noch zeitgemäß?

Auch Alexa, Cortana und Siri, sagt Professor Roth, sind nur Computerprogramme. Diese Programme wurden entwickelt, damit der Mensch den Computer über Sprache steuern kann. Alexa und Co. können aber nur die wenigen Aufgaben erledigen, für die sie speziell programmiert wurden. Möchte man, dass der Computer andere Aufgaben wie zum Beispiel eine Textverarbeitung ausführt, muss man ein spezielles Programm dafür schreiben. Diese Programme lassen sich zum Beispiel in Java entwickeln.

1.2 Die Sprache der Maschinenwelt

Wenn wir heute von Computern sprechen, so meinen wir immer Digitalcomputer. Diese Maschinen verstehen nur ihre digitale Maschinensprache. Digital bedeutet, dass der Computer für sämtliche Informationen den Binärcode verwendet. Daher besteht die Maschinensprache des Computers nur aus einer Folge von Nullen und Einsen.

Die Maschinensprache des Computers mit ihren Folgen von Nullen und Einsen ist für den Menschen jedoch nur extrem schwer verständlich. Computer direkt im Maschinencode zu programmieren, wäre daher vollkommen abwegig. Man würde sehr lange dazu benötigen, und die Wahrscheinlichkeit von Fehlern wäre hoch.

Wenn man den Computer maschinennah programmieren möchte, verwendet man dazu eine Hilfssprache. Diese Hilfssprache nennt sich Assembler-Sprache oder auch kurz Assembler. Professor Roth präsentiert seinem Programmierkurs ein einfaches Beispiel. Es gibt wie das Java-Programm zuvor lediglich die Zeichenfolge »Hallo!« auf dem Bildschirm aus (Abbildung 1.3).

Professor Roths Programmierkurs findet das Assembler-Programm ziemlich schwer verständlich. Wie konnten nur Programmierer eine so furchtbare Sprache erlernen? Die Antwort ist einfach, denn in der Anfangszeit der Computer gab es noch keine Hochsprachen wie Java. Die Programmierer mussten sich sehr genau mit den Prozessoren des Computers beschäftigen, wenn sie die Maschine in Assembler programmierten.

Abbildung 1.3 Dieses Assembler-Programm gibt ebenfalls »Hallo!« aus.

Assembler-Programme sind im Vergleich zu funktional gleichwertigen Java-Programmen viel länger. Sie bestehen aus vielen kleinteiligen Befehlen, die allein genommen nur wenig bewirken. Daher benötigt man viele dieser Befehle, um ein größeres Programm zu schreiben. Dieses Programm ist speziell für einen Computertyp geschrieben. Es lässt sich schlecht auf einen anderen Computertyp übertragen.

Neben dem hohen Aufwand für die Entwicklung solcher Programme ist es ein Hauptnachteil der Assembler-Sprache, dass sie nur schwer von einem Computertyp auf einen anderen zu übertragen ist. Die kleinteiligen Befehle haben aber nicht nur Nachteile. Sie besitzen den Vorteil, dass ein guter Programmierer damit sehr schlanke und schnelle Maschinenprogramme erzeugen kann. Sie benötigen zudem oftmals weit weniger Hauptspeicher als vergleichbare Programme, die in einer Hochsprache geschrieben wurden.

1.3 Hochsprache als Kompromiss

Es scheint irgendwie verhext zu sein: Computer verstehen nur ihre spezielle Maschinensprache.Wir hingegen verstehen ohne spezielles Programmiertraining nur unsere Muttersprache und vielleicht noch die eine oder andere Fremdsprache. Wie kann man diese große Kluft zwischen der Maschinenwelt und der Welt der Menschen überbrücken?

Wir können entweder noch leistungsfähigere Programme als Alexa, Cortana und Siri entwickeln, damit die Computer alles ausführen, was wir wollen. Oder wir lernen die Sprache des Computers, wenn wir spezielle Programme für Aufgaben entwickeln möchten, die Alexa & Co. nicht beherrschen – nein, das sind nicht die einzigen Möglichkeiten, denn es gibt glücklicherweise noch einen dritten Weg.

Ein komplexes Programm in Assembler zu programmieren, ist nicht mehr zeitgemäß. Daher hat man schon sehr früh begonnen, Programmiersprachen wie Java zu entwickeln. Diese Sprachen bilden eine Brücke zwischen der (für die meisten Menschen) schwer verständlichen Maschinensprache und der (für die meisten Maschinen) schwer verständlichen menschlichen Sprache. Diese Sprachen nennen sich Hochsprachen.

Abbildung 1.4 Hochsprachen sind Mittler zwischen Mensch und Maschine.

Hochsprachen sind für einen Menschen wesentlich einfacher zu erlernen und zu verstehen als die Sprache der Maschinenwelt. Aber wie funktioniert das? Wie übersetzt man eine Hochsprache in die Sprache der Maschinenwelt? Dazu hat man sich einen Trick überlegt. Dieser Trick ist ein spezielles Programm, das den Quellcode einer Hochsprache wie Java in die Sprache der Maschinenwelt übersetzt. Dieses Programm wird Compiler genannt und ist Bestandteil einer Entwicklungsumgebung.

1.4 Entwicklungsumgebung
1.4.1 Compiler

Der Compiler ist einer der Kernbestandteile einer Entwicklungsumgebung wie Eclipse. Er überträgt den Quellcode eines Java-Programms in die Sprache der Maschinenwelt. Der Quellcode ist der Text, der in den Abbildungen 1.1 und 1.3 zu sehen war.

1.4.2 Editor

Im Editor geben Sie den Quellcode eines Programms wie in einer Textverarbeitung ein. Ein Editor bietet darüber hinaus auch Unterstützung bei der Programmentwicklung wie zum Beispiel Ratschläge, wie man die angezeigten Fehler beheben kann.

Abbildung 1.5 Editor, Compiler und Projektverwaltung der Eclipse-Entwicklungsumgebung

1.4.3 Projektverwaltung

Java-Programme bestehen in der Regel aus einer Vielzahl von Dateien. Damit Sie den Überblick nicht verlieren, besitzt die Java-Entwicklungsumgebung eine Projektverwaltung. Sie zeigt an, welche Dateien zu einem Projekt gehören.

1.5 Laufzeitumgebung

Java-Programme benötigen eine spezielle Laufzeitumgebung. Mit anderen Worten: Java-Programme laufen nur mit einem zusätzlichen Programm auf Ihrem Computer. Davon merken Sie erst einmal nichts, denn die Eclipse-Entwicklungsumgebung ruft diese Laufzeitumgebung im Hintergrund auf, wenn Sie ein Java-Programm ausführen. Um zu verstehen, was es mit dieser Laufzeitumgebung auf sich hat, blättern Sie zum nächsten Kapitel. Es zeigt Ihnen, wie sich Java entwickelt hat und warum eine Java-Laufzeitumgebung überhaupt notwendig ist.

1.6 Zusammenfassung

Programmieren bedeutet, Computerprogramme zu schreiben. Computerprogramme bestehen aus einem oder mehreren Befehlen in einer Programmiersprache. Diese Befehle werden in Form eines Textes verfasst. In der Programmierung heißt dieser Text Quellcode. Computer erwarten die Befehle in Maschinensprache. Wir sprechen hingegen in unserer menschlichen Sprache. Um diese Lücke zu schließen, haben Informatiker Hochsprachen entwickelt. Java ist eine dieser Hochsprachen.

Abbildung 1.6 Computerprogramme bestehen aus Befehlen einer Programmiersprache.

Um ein Hochsprachen-Programm in Maschinensprache zu übersetzen, damit der Computer es ausführen kann, benötigen Sie ein Zusatzprogramm. Dieses Übersetzungsprogramm heißt Compiler. Der Compiler ist Teil der Entwicklungsumgebung. Diese besteht (unter anderem) noch aus einem Editor und einer Projektverwaltung. Mithilfe des Editors schreibt man den Quellcode eines Programms. Die Projektverwaltung verwaltet die verschiedenen Dateien, die zu einem Projekt gehören.

1.7 Aufgaben

       Wie nennt sich die Programmiersprache, mit der man »maschinennah« programmiert?

       Zu welcher Art von Programmiersprachen gehört Java?

       Was ist ein Compiler und welche Aufgabe erfüllt er?

       Wozu dient ein Editor?

       Wozu ist eine Projektverwaltung innerhalb einer Entwicklungsumgebung notwendig?

       Was ist eine Laufzeitumgebung?

Die Lösungen zu den Aufgaben finden Sie in Kapitel 25, »Lösungen«, ab Seite 585.

1.8 Literatur

Bernhard Steppan: Eine kleine Geschichte der Programmiersprachen;...

 

© 2009-2024 ciando GmbH