Praktische Informatik 1



Yüklə 3,49 Mb.
səhifə14/25
tarix08.08.2018
ölçüsü3,49 Mb.
#61957
1   ...   10   11   12   13   14   15   16   17   ...   25

4.3 Java und Groovy


Java wurde seit 1995 bei der Firma Sun Microsystems entwickelt. Ursprünglich war die Sprache zur Implementierung von sicheren, plattform-unabhängigen Anwendungen gedacht, die über das Internet verbreitet und bezogen werden können. Ein wichtiges Konzept ist das sog. Applet, eine Mini-Anwendung, die innerhalb einer Web-Seite läuft. Inzwischen sind praktisch alle Internet-Browser „Java-fähig“ und können Applets ausführen. Künftige Anwendungen von Java liegen voraussichtlich im Bereich der kommunizierenden Geräte („Internet der Dinge“). Vorzüge von Java sind:


  • Java ist eine mächtige Programmiersprache, die die Sprachkonzepte herkömmlicher Programmiersprachen wie C oder Pascal mit OO-Konzepten und Konzepten zur Parallelverarbeitung und Netz-Verteilung verbindet. Zielsetzung war es, eine möglichst schlanke Sprache zu schaffen, die das Klassenkonzept ins Zentrum der Sprache stellt.

  • Das Konzept des Java Byte Code und der Java Sandbox erlauben eine einfache Portierbarkeit und sichere Ausführbarkeit auf den unterschiedlichsten Plattformen. Die Offenheit und hohe Portabilität von Java macht die Sprache zu einem guten Werkzeug für das Programmieren von Netz-Anwendungen.

  • Java gilt als robuste Sprache, die viele Fehler vermeiden hilft, z.B. aufgrund ihres Typkonzepts und der automatischen Speicherbereinigung. Java-Compiler sind im Allgemeinen vergleichsweise schnell und produzieren effizienten Code.

  • Durch die große Beliebtheit in akademischen Kreisen und bei Open-Source-Anwendern hat Java eine umfangreiche Klassenbibliothek, und es gibt viele Unterstützungswerkzeuge.

Im Kern ist Java jedoch eine Programmiersprache mit imperativen und rekursiven Konzepten ähnlich wie Pascal oder C.



    • So weist Java die meisten aus diesen Sprachen bekannten Konzepte wie Variablen, Zuweisungen, Datentypen, Ausdrücke, Anweisungen etc. auf - mit einer keineswegs verbesserten Syntax

    • Viele syntaktische und strukturelle Mängel und Ungereimtheiten sind nur mit der C / C++ Historie zu erklären

Die Ausführung eines Java-Programms geschieht im Allgemeinen in folgenden Schritten:



  1. Eingabe des Programmtextes in einem Editor oder einer IDE (integrierten Entwicklungsumgebung).

  2. Compilation, d.h. Übersetzung des Programms (oder von Teilen des Programms) in Byte-Code für die „virtuelle Java-Maschine“ (JVM).

  3. Binden und Laden, d.h. Zusammentragen aller verwendeten Bibliotheksklassen, Ersetzung von Sprungadressen usw., und ggf. Übertragung des Programms auf die Zielplattform.

  4. Aufruf des Programms und Start des Prozesses.

Bei der so genannten „just-in-time-compilation“ wird Schritt (2), (3) und (4) verschränkt zur Laufzeit ausgeführt, d.h., es werden immer nur die Teile übersetzt (z.B. von ByteCode in Maschinencode), die gerade benötigt werden. Die meisten modernen Compiler bzw. Laufzeitumgebungen unterstützen diese Methode.
Konzept der virtuellen Maschine:

Bis in die 1990-Jahre musste für jede Sprache und jede mögliche Hardware-Plattform ein eigener Compiler erstellt werden. Das Konzept einer „virtuellen Maschine“, d.h., eines standardisierten Befehlssatzes, erlaubt es, Compiler zu erstellen, die Code für diese idealisierte Maschine erstellen (in Java: Byte Code für die Java Virtual Machine). Auf den einzelnen Plattformen muss dann nur noch eine „Laufzeitumgebung“ definiert werden, die diese virtuelle Maschine mit der realen Hardware simuliert.




Java-Historie

ab 1991 Bei der Firma Sun wird von J. Gosling und Kollegen auf der Basis von C++ eine Sprache namens Oak (Object Application Kernel) für den Einsatz im Bereich der Haushalts- und Konsumelektronik entwickelt. Ziele: Plattform-Unabhängigkeit, Erweiterbarkeit der Systeme und Austauschbarkeit von Komponenten.

1993 Oak wird im Green-Projekt zum Experimentieren mit graphischen Benutzer-Schnittstellen eingesetzt und später (wegen rechtlicher Probleme) in Java umbenannt. Zu diesem Namen wurden die Entwickler beim Kaffeetrinken inspiriert.

1994 Das WWW beginnt sich durchzusetzen. Java wird wegen der Applet-Technologie „die Sprache des Internets“

seit 1995 Sun bietet sein Java-Programmiersystem JDK (Java Development Kit) mit einem Java-Compiler und Interpreter kostenlos an.

ab 1996 Unter dem Namen JavaBeans wird eine Komponenten-Architektur für Java-Programme entwickelt und vertrieben.

ab 2001 Eclipse-Projekt: integrierte Entwicklungsumgebung für Java und (darauf aufbauend) andere Sprachen und Systeme.

2006-2007 JDK als Open-Source freigegeben (OpenJDK)


Groovy

Groovy ist eine Erweiterung von Java, die 2003 definiert wurde mit den folgenden Zielen:



  • skriptartige Sprache, d.h., einzelne Anweisungen können sofort ausgeführt werden

  • dynamische Typisierung, d.h., es ist möglich, den Typ von Objekten zur Laufzeit vom System bestimmen zu lassen

  • funktionale Programmierung mit Closures, d.h. Auffassung von Code als Daten, der zur Laufzeit analysiert und übersetzt wird

  • originäre Unterstützung von Listen, Mengen, endlichen Funktionen; reguläre Ausdrücke und Mustervergleich für Textbearbeitungsaufgaben

  • Schablonensystem für HTML, SQL; Scripting von Office- und anderen Anwendungen

  • einfachere, „sauberere“ Syntax als Java

  • weitgehende Kompatibilität zu Java, Code für die Java Virtual Machine

Auf Grund der einfachen Handhabung in der Groovy-Konsole eignet sich Groovy besonders für Programmieranfänger und für die „schnelle“ Erstellung von Programmen („agile Software-Entwicklung“).

4.4 Programmierumgebungen am Beispiel Eclipse


Während der Erstellung eines Programms sind vom Programmierer verschiedene Aufgaben zu erledigen. Dafür stehen verschiedene Werkzeuge zur Verfügung:

  • Eingabe des Textes – Texteditor, syntaxgesteuerte Formatierer

  • Übersetzung in Maschinencode – Compiler bzw. Interpreter

  • Binden zu einem lauffähigen Programm – Linker, Object Code Loader

  • Finden von semantischen Fehlern – Debugger, Object Inspector

  • Optimierung des Programms – Profiler, Tracer

  • Auffinden von Bibliotheksroutinen – Library Class Browser

  • Design der graphischen Benutzungsoberfläche – GUI-Builder

  • Modellierung des Problems – Modeling Tools

  • Verwaltung verschiedener Versionen – Versionskontrollsystem

  • Dokumentation – Dokumentationsgeneratoren, Klassenhierarchieanzeiger

  • Testen – Testgeneratoren

Ursprünglich waren alle diese Funktionen in separaten Werkzeugen realisiert. Das ist recht umständlich, weil der Programmierer ständig zwischen den Werkzeugen wechseln muss. Daher begann man bereits in den 1970-er Jahren, die verschiedenen Aktivitäten beim Übersetzen und Binden durch Skripten zusammenzufassen (Make-files). Später wurden integrierte Entwicklungsumgebungen (integrated development environments, IDE) geschaffen, die den Texteingabe-, Übersetzungs- und Ausführungsprozess zusammenfassten. 2001 begann, initiiert durch die IBM, die Entwicklung der Eclipse IDE, einer freien, erweiterbaren Entwicklungsumgebung. Ursprünglich war Eclipse nur eine IDE für Java. Durch den Plug-In-Mechanismus ist es beliebigen Entwicklern möglich, Erweiterungen (auch für andere Programmiersprachen) vorzunehmen, so dass heute über 100 verschiedene integrierbare Werkzeuge vorliegen.

Eclipse zeichnet sich vor allem aus durch:

  • minimale Kernfunktionalität, extreme Erweiterbarkeit

  • Persistenz (gesamter Entwicklungszustand bleibt erhalten)

  • verschiedene Sichten auf ein Projekt („Views“), projektspezifisch konfigurierbare Perspektiven (Fenster, Leisten,…)

  • syntaxgesteuerte Editoren, Just-in-Time Compiler, …

  • JDT, CDT: Java / C++ Development Tools

  • EMF, GEF: Eclipse Modelling Frameworks, Graphical Editing Framework

Zu Eclipse gibt es eine umfangreiche online-Dokumentation im Programm selbst.



Die aktuelle Version von Eclipse kann bezogen werden unter http://www.eclipse.org/

Zur Installation des Groovy-Plugins ist in Eclipse der folgende Server anzugeben: http://dist.springsource.org/milestone/GRECLIPSE/e3.5/




Yüklə 3,49 Mb.

Dostları ilə paylaş:
1   ...   10   11   12   13   14   15   16   17   ...   25




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə