Heute zu Gast auf Blogturio: Werner Ziegelwanger. Er ist Betreiber des Developer-Blog und informiert heute über die Programmiersprache Java.
Java ist eine moderne Programmiersprache, die Mitte der 90er Jahre von Sun Microsystems entwickelt wurde. Im Gegensatz zu allen anderen zu dieser Zeit verfügbaren Sprachen war sie von Beginn an zu 100% objektorientiert. Neben dieser Tatsache war das revolutionäre an Java, dass der Code nicht direkt im Betriebssystem ausgeführt wird, sondern in einer virtuellen Maschine, der JVM (Java Virtual Machine). Also quasi in einer geschützten Sandbox Umgebung. Das hat zwei sehr wichtige Auswirkungen, welche mit ein Grund für den Erfolg von Java waren:
- Sicherheit
das Programm darf nur Ressourcen der virtuellen Maschine verwenden und wird nicht direkt vom Betriebssystem ausgeführt. Somit ist es nicht möglich, dass dieses Programm andere laufende Prozesse aktiv beeinflusst. - Unabhängigkeit vom Betriebssystem
der Hauptgrund für den Erfolg. Solange das Betriebssystem die Java virtuelle Maschine installiert hat, kann das selbe Java Programm sowohl auf Windows als auch MacOSX, Linux, Solaris oder jedem anderen Betriebssystem ausgeführt werden. Das führte sehr bald dazu, dass Handysoftware auf Java lief und zum heute erfolgreichsten mobilen Betriebssystem Android, bei dem alle Apps Java Programme sind!
Java wurde im laufe der Zeit weiterentwickelt und wird aktuell in der Version 1.7 verwendet. Mittlerweile wird Java von Oracle vertrieben, welches Sun Microsystems gekauft hat.
Was benötigt man als Java Programmierer?
Wenn man selbst Java Programme entwickeln möchte benötigt man folgende Dinge:
- eine Entwicklungsumgebung (IDE)
das Programm in dem man das Java Programm schreibt. Diese IDE ist nicht zwingend notwendig. Man kann Java Source Code auch mit jedem beliebigen Textprogramm schreiben und über einen Compiler zu einem Programm kompilieren, jedoch will man nicht auf die Funktionen einer Entwicklungsumgebung verzichten. Diese hat neben Syntax Highlighting auch Funktionen wie Fehlerberichterstattung, Sicherungen, Debuggfunktionen und vieles mehr. Beliebte Java IDEs sind Netbeans und Eclipse. - das Java Development Kit (JDK)
im Java Development Kit ist alles dabei was man für das erstellen eigener Java Programme benötigt. Das ist zum einen der Java Compiler (javac), welcher aus dem Source Code das Programm erstellt und die virtuelle Maschine (java) zum Ausführen des Programms. Zusätzlich findet man im Kit zahlreiche hilfreiche Tools wie einen Debugger, die Java Dokumentation, Archivierungswerkzeuge oder Testprogramme. - die virtuelle Maschine (JVM)
die virtuelle Maschine benötigt jeder, der das Programm ausführen muss. Diese ist im Development Kit enthalten. Heutzutage gehört die Java virtuelle Maschine schon zu der Basissoftware zahlreicher Betriebssysteme.
Wie sieht ein einfaches Java Programm aus?
Das einfachste Java Programm ist wohl eine einfache Textausgabe auf der Konsole. Das Programm liefert als Ergebnis den Text „Hallo Welt“. An diesem einfachen Beispiel erkennt man schon die Objektorientierung der Sprache. Es gibt eine Klasse mit dem Namen HelloKonsole und eine so genannte statische main Methode. Diese ruft nur die Systemausgabe der virtuellen Maschine auf und übergibt den Text.
public class HelloKonsole {
public static void main(String args[]) {
System.out.println(„Hello Java“);
}
}
Falls die Begriffe „Klasse“ oder „Methode“ noch neu sind, sollte man sich zumindest folgendes merken: der in dem Beispiel gezeigte Aufbau ist der so genannte Einsprungspunkt des Programms. D.h. nachdem der Benutzer dieses gestartet hat, wird zu aller erst der Code ausgeführt, welches sich innerhalt von den geschwungenen Klammern von main befindet. Diese main Methode gibt es in einem Java Programm nur genau 1 mal!
Java ist universell einsetzbar
Das gezeigte Beispiel ist ein so genanntes Konsolenprogramm, welches lediglich auf der Textkonsole gestartet wird und dort auch Ausgaben machen kann. Konsolenprogramme übernehmen Aufgaben, bei der man keine bis wenig Benutzerinteraktion benötigt, also alles was im Hintergrund laufen kann, wie Sicherungen, langwierige Berechnungen, Systemdienste uvm.
Neben Konsolenprogrammen gibt es noch andere Einsatzbereiche von Java:
grafische Applikation
- diese sind teils hoch komplex aufgebaut als die Programme die man als Benutzer kennt. Beispielsweise Programme wie Textverarbeitung, Spiele, Mailprogramme und vieles mehr. Wie bereits erwähnt sind alle Android Apps solche grafischen Programme.
- Applet
das sind kleine Programme die in Webseiten eingebettet sind und im Browser laufen. Meist findet man solche Applets bei grafischen Anwendungen z.B. Bildbearbeitung im Browser, visuelle Darstellungen für Funktionen uvm. - Servlet
das sind Serverprogramme. Viele Webseiten sind Servlets. Diese schicken die Webseite (den HTML Code) zum Browser, können aber auch durch Formulare Daten erfassen und in Datenbanken speichern.
Die Grundlagen
Java ist stark geprägt von der Programmiersprache C bzw. C++. Das heißt, fast die gesamte Syntax enthält die selben bekannten Schlüsselworte. Aus diesem Grund ist der Umstieg auf Java für viele Programmierer einfach. Die Syntax besteht aus folgenden Elementen:
- Kommentare
damit kann man im Code Erklärungen für andere Programmierer einfügen. Diese werden nicht ins fertige Programm übernommen und dienen nur zur Erklärung des Source Codes. - Quelldatei Elemente
das sind Paketdeklarationen, Importstatements und die bereits erwähnten Klassen- und Interfacedefinitionen - Schlüsselwörter
Java kennt knapp 50 Schlüsselwörter (zum Beispiel if, int, while, …) bis auf diese Ausnahmen darf man seine Variablen und Methoden frei benennen.
Neben dieser Grammatik von Java enthält diese Sprache auch alle bekannten Elemente anderer Programmiersprachen wie:
- Variablen / Datentypen
in Variablen kann man Wert in unterschiedlichen Datentypen speichern. Z.B. ganze Zahlen, Dezimalzahlen, Texte, usw. - Methoden
das ist wiederverwendbare Code. Eine Methode ist die Bezeichnung einer Funktion, welcher einer Klasse zugeordnet ist.Ein Beispiel soll die Begriffe Klasse, Variable und Methode erklären:Eine Klasse könnte ein Mensch sein. Dieser hat Variablen wie Alter (Zahl als Datentyp), Vorname und Nachname (beide Text als Datentyp). Eine Methode wäre eine Namensänderung wie durch eine Heirat. Diese Methode ändert den Nachnamen. Diese kann man beliebig oft verwenden. Eine andere Methode wäre der Geburtstag, welcher das Alter um ein Jahr erhöht.
Soviel zur kurzen Einführung in die Grundlagen.
Kritik an Java
Java wurde schon sehr früh vorgeworfen, langsam zu sein. Das ist zum Teil richtig. Im Gegensatz zu C++ Programme, die speziell für einen Rechnertyp kompiliert werden, ist Java universell einsetzbar. Bei C++ muss zum Beispiel alles, was man an Speicher benötigt, wieder freigegeben werden, schließlich darf ein C++ Programm die kompletten Systemressourcen nutzen. Tut das C++ das nicht oder nicht richtig, dann führt das irgendwann zu einem Systemabsturz. Bei Java darf das Programm nur die Ressourcen der virtuellen Maschine benutzen. Das Programm muss diese nicht aktiv wieder freigeben, der so genannte Garbage Collector räumt von Zeit zu Zeit nicht benutzten Speicher auf. Diese Funktion bremst das System, dafür läuft das Java Programm auch stabiler. Für den Programmierer ergibt sich somit ein geringerer Aufwand für die Planung des Programms und für das Testen.
Heute ist Java allgegenwärtig. Dank Android hat mittlerweile schon jeder Kontakt mit Java Programmen gehabt. Heute ist die virtuelle Maschine so weit entwickelt, dass sich kaum noch Performanceunterschiede zu C++ Programmen ergeben, außer diese sind sehr gut optimiert. Auch 3D Spiele können mit Java entwickelt und verkauft werden.
P.S.: Interesse geweckt? Unser Kurs Java Programming for Beginners gibt eine komplette Einführung in Java!
Schreiben Sie einen Kommentar
Ein Gedanke zu „Gastbeitrag: Die Programmiersprache Java“
Ein wirklich interessanter Artikel. Bin zwar selbst nur C++ Programmierer, habe jetzt aber schon lust auch einmal mit Java Erfahrungen zu machen.