Programmiersprachen & Werkzeuge
Website: | Hamburg Open Online University |
Kurs: | Programmieren mit Java |
Buch: | Programmiersprachen & Werkzeuge |
Gedruckt von: | Gast |
Datum: | Donnerstag, 21. November 2024, 13:45 |
Beschreibung
Hier bekommst du eine Einführung in Programmiersprachen und erfährst, welche Entwicklunsgwerkeuge du für dieses Lernangebot benötigst.
Programmiersprachen
Seit der Entwicklung des Computers wurden verschiedenste Programmiersprachen entwickelt. Vielfach wurden diese Sprachen für eine sehr spezielle Problemstellung konstruiert. Sie wurden dann aber erweitert, sodass mit den meisten heute verbreiteten Programmiersprachen, alle Aufgaben lösen, die mit Computern gelöst werden können. Für die Wahl einer geeigneten Programmiersprache ist der Funktionsumfang meist kein entscheidendes Argument. Es ist eher zu berücksichtigen, wie gut die Sprache sich in das jeweilige Umfeld eingliedert. Aus diesem Grund eignen verschiedene Programmiersprachen sich für manche Aufgaben sehr gut und für andere eher schlecht.
Im Folgenden soll eine grobe Einordnung gegeben werden, um sich in der Menge der Programmiersprachen, besser orientieren zu können.
Die Maschinensprache ist die, für den Computer verständliche, Sprache. Sie ist nicht für alle Computer gleich sondern ist vom Prozessor und dessen Architektur abhängig. Sie wird vom Prozessorhersteller festgelegt.
Im Sprachumfang sind rudimentäre Funktionen enthalten für die Grundrechenarten, Vergleiche, die Ablaufsteuerung und das Laden und Speichern von Daten. Programme die in dieser Sprache geschrieben sind, sind für den Prozessor direkt ausführbar. Für Menschen ist sie kaum lesbar oder schreibbar. Auch die menschenlesbare Sprache Assembler, die fast die selben Befehle schreibt, eignet sich nicht, um komplexe Logik zu programmieren.
Als höhere Programmiersprachen bezeichnet man Sprachen, deren Quelltext erst durch einen Compiler übersetzt werden muss, damit er vom Prozessor verstanden werden kann. Sie haben den Vorteil, dass sie wesentlich lesbarer für Menschen sind und, dass man sie mit Hilfe des Compilers für verschiedene Architekturen übersetzen kann.
Es gibt aber auch Programmiersprachen, die nicht durch einen Compiler übersetzt werden, sondern durch ein anderes Programm, den sogenannten Interpreter, interpretiert und ausgeführt werden. Diese Interpretersprachen lassen sich leichter auf andere Plattformen übertragen. Sie sind aber meist minimal langsamer in der Ausführung.
Eine Besonderheit ist die Programmiersprache Java. Denn hier wird der Quelltext compiliert. Aber nicht in Maschinensprache, sondern in eine Zwischensprache den sogenannten Bytecode. Der Bytecode wird dann wiederum von einem Interpreter der Java-Virtual-Machine ausgeführt. Die Java-Virtual-Maschine kann für viele verschiedene Plattformen bezogen werden. So funktionieren in Java geschriebene Programme plattformunabhängig. Java ist heute eine der wichtigsten Programmiersprachen und in Java geschriebene Programme laufen sowohl auf den Großrechnern von Banken und Versicherungen als auch auf kleinen Geräten wie z.B. Android-Smartphones. Auch in noch kleinere Computer wie Waschmaschinensteuerungen hat die Sprache einzug erhalten, dann aber wieder richtig compiliert in Maschinensprache.
Da Java eine sehr vielseitige und gut strukturierte Sprache ist soll dieser Kurs die Programmierung anhand der Sprache Java vermitteln. Die gelernten Konzepte lassen sich später leicht auf andere Programmiersprachen übertragen.
Zusätzlich zu der Unterscheidung nach der Ausführbarkeit können Programmiersprachen aber auch nach sogenannten Programmierparadigmen unterschieden werden. Ein Programmierparadigma beschreibt den Stiel mit dem Probleme gelöst werden. Ein Programmierparadigma wäre zum Beisiel die Strukturierte Programmierung in der der Fokus auf eine klare Pragramstruktur gelegt wird. Es wird auf Sprünge im Programmablauf verzichtet. Ein weiter gehender Ansatz wäre die Modulare Programmierung. Hier wird das Programm in möglichst viele, klar abgetrennte Module aufgeteilt um eine bessere Lesbarkeit und Wiederverwendbarkeit zu erziehen. Beide Paradigmen werden von den oben genannten Sprachen, mit Ausnahme von Assambler, unterstützt.
Ein weiteres Programmierparadigma ist die Objektorientierte Programmierung. Hier werden die Daten und die damit ausführbaren Aktionen, in sogenannten Klassen, zusammengefasst. Java gehört zu den objektorientierten Sprachen und ist eigentlich vollständig von diesem Paradigma geprägt. Wir wollen in diesem Kurs trotzdem so gut es geht darauf verzichten, da die Objektorientierung ein zu großes Thema für den Einstieg wäre. Sie kann in einem weiteren Kurs erlernt werden.
Entwicklungswerkzeuge
Für die Programmierung von Java gibt es eine Fülle an Hilfsmitteln. Vom einfachen Texteditor bis zur integrierten Entwicklungsumgebung (IDE), die einem viele Aufgaben abnimmt gibt es viele Werkzeuge. Unter einer integrierten Entwicklungsumgebung versteht man ein Programm, dass alle Werkzeuge, die zum Programmieren einer Programmiersprache wichtig sind vereinigt. So kann sie nicht nur den Quellcode in Dateien speichern, sondern beispielsweise diesen auch auf Fehler prüfen und mit Hilfe eines Compilers auch gleich in ein Programm übersetzen. Durch den Einsatz einer IDE wird die Programmierung sehr viel einfacher und produktiver.
Aber auch nach dem Schreiben gibt es diverse Möglichkeiten wie Programmierer sich das Leben erleichtern können. Beispielsweise durch die Verwendung eines Versionierungssystems wie Git, welches alle Zwischenstände der Quelldateien speichert und so das Wiederherstellen einer älteren Version ermöglicht. Oder auch Build-Systeme wie Maven oder Gradle, welche automatisch nach einer Änderung das Programm compilieren, Tests ausführen und das Programm für die Auslieferung an Kunden vorbereiten. Diese Funktionen sollen an dieser Stelle nicht behandelt werden, da dies zu umfangreich wäre. Wir beschränken uns daher auf den ersten Einstieg mit einer IDE.
JDK installieren
Bevor wir Java programmieren können, müssen wir unseren Computer vorbereiten. Wir benötigen ein sogenanntes JDK (Java Development Kit) welches den Werkzeugkasten zur Java-Programmierung darstellt. Hierin ist unter Anderem der Compiler enthalten, mit dem wir danach unser Programm für den Computer übersetzen werden. Alle Computer auf denen wir Java-Programme, ausführen wollen müssen eine Java-Laufzeitumgebung (JRE = Java Runtime Environment) installiert haben. Sie liefert den Interpreter, der den Java-Bytecode ausführen kann. Das JDK liefert immer die JRE mit, so dass es für unsere Computer ausreicht ein JDK zu installieren.
Aus historischen und lizenzrechtlichen Gründen gibt es aktuell mehrere JDKs und JREs auf dem Markt. Es empfiehlt sich das openJDK bzw. openJRE zu verwenden oder die Versionen die die Firma Oracle unter der GPL veröffentlicht hat. Hierbei handelt es sich um eine Open Source Version, für deren Verwendung keine Lizenzgebühren anfallen. Sie können unter https://openjdk.java.net/ heruntergeladen werden. Hierbei muss aber darauf geachtet werden, dass man nicht doch versehentlich zu Oracles Downloads, für kommerziellen Einsatz, weitergeleitet wird, welche hier ebenfalls verlinkt sind. Für diese fallen Lizenzkosten an.
Auf eine Schritt für Schritt Anleitung der Installation soll an dieser Stelle verzichtet werden, da dies abhängig vom Betriebssystem und Java-Version variiert.
Eclipse installieren
Bei der Software Eclipse handelt es sich um eine Open Source IDE. Open Source heißt, dass ihr Quelltext öffentlich ist und von jedem weiterentwickelt werden kann. Eclipse wurde ursprünglich für und in Java entwickelt. Sie bietet alle Funktionen, die für den Einstieg nötig sind und finde auch im professionellen Umfeld häufig Verwendung. Sie kann kostenlos unter https://www.eclipse.org/downloads/ heruntergeladen werden. Es empfiehlt sich nicht den Installer herunter zu laden sondern den unter Link “Download Package” zu verwenden. Hier wählt man dann die “Eclipse IDE for Java Developers”. Das Package ist eine Zip-Datei und kann dann direkt entpackt und gestartet werden.
Nachdem wir die Installation abgeschlossen haben, können wir nun Eclipse starten. Hierfür starten wir die ausführbare Datei “eclipse”, in dem gerade entpackten Verzeichnis.
Während des Startvorgangs fragt Eclipse als erstes, welches Verzeichnis zum Speichern des Workspaces verwendet werden soll. Der Workspace ist der Ordner in dem Eclipse alle Projekte anlegt. Es wird automatisch ein neues Verzeichnis, im Heimatverzeichnis des Benutzers, vorgeschlagen. Dieser Vorschlag kann übernommen werden. Durch die Option “Use this as default and do not ask again” können wir zukünftige Startvorgänge beschleunigen.