Plattformunabhängige Programmiersprache

14
Plattformunabhängige Programmiersprache Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

description

Plattformunabhängige Programmiersprache. Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler. Geschichte und Einführung in Java Wie funktioniert Java ? Unterschiede zwischen Java und C ,bzw. C ++. Art der Programmiersprache - PowerPoint PPT Presentation

Transcript of Plattformunabhängige Programmiersprache

Page 1: Plattformunabhängige Programmiersprache

Plattformunabhängige Programmiersprache

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Page 2: Plattformunabhängige Programmiersprache

• Geschichte und Einführung in Java

• Wie funktioniert Java?

• Unterschiede zwischen Java und C ,bzw. C++

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

•Art der Programmiersprache•Sicherheit•Laufzeit-Umgebung

•Abhängigkeit vom Prozessor?•Java / Javascript

•Übersicht•Beispiele

Page 3: Plattformunabhängige Programmiersprache

• Geschichte von Java– Die Urversion von Java - Oak (Object Application Kernel)– in einem Zeitraum von 18 Monaten vom Frühjahr 1991 bis Sommer 1992

unter dem Namen The Green Project entwickelt unter der Leitung von James Gosling im Auftrag von der Firma Sun Microsystems

– Benannt nach der Lieblingskaffeesorte Java der Programmierer– Ziel war eine vollständige Betriebssystemumgebung zu entwickeln, inklusive

virtueller CPU, für unterschiedlichste Einsatzzwecke z.B. Haushaltsgeräte. Industriegeräte usw.

– am 23. Mai 1995, wurde Java erstmals offiziell der Öffentlichkeit vorgestellt– seit 1996 anerkannt in Verbindung mit Internet (Integration von Java in den

Browser Netscape Navigator )– inzwischen wird Java weniger für Applets als für selbstständige Programme

und Serverapplikationen verwendet

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Page 4: Plattformunabhängige Programmiersprache

• Wichtige Eigenschaften von Java– Objektorientiert

• Java ist durchgängig objektorientiert• alle Elemente eines Programms müssen in Klassen definiert sein• hoher Grad der Wiederverwendbarkeit von Softwaremodulen

– Sichere Speicherverwaltung• keine durch Zeiger adressierten Speicherbereiche von unbestimmter Größe• Ablauf ohne Portierungsaufwand in verschiedenen CPU-Umgebungen

– Plattformunabhängige Programmdateien• Keine Einbindung in bestimmte Prozessor- oder Betriebssystem-Umgebung

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

Page 5: Plattformunabhängige Programmiersprache

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Page 6: Plattformunabhängige Programmiersprache

• Java Virtual Machine kompiliert den Byte-Code

• Kein Maschienencode• JVM

• Klassenlader• Speicherverwaltung und Bereinigung• Ausführungsarbeit

• Just-in-time-Compiler

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

Page 7: Plattformunabhängige Programmiersprache

• Objekte und Klassen in Java

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

•keine einzelnen Funktionen, alles ist Teil irgendeiner Klasse•keine structs und unions, nur classes •alle Klassen erben von der Klasse Object (alle verwandt)

Java-Programme sind grundsätzlich Definitionen von Klassen. Sie haben typisch den folgenden Aufbau: public class ClassName { // Definition von Datenfeldern // Definition von Konstruktoren // Definition von Methoden }

Page 8: Plattformunabhängige Programmiersprache

• Objekte und Klassen in Java

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

•Referenzieren und Dereferenzieren von Objekten wird automatisch vorgenommen•es ist nicht erlaubt, Zeiger oder Speicheradressen zu manipulieren

Beispiel C++ :Beispiel Java:

Gründe:•Zeiger sind eine Fehlerquelle•Sprache wird ohne Zeiger vereinfacht •Zeiger und Zeigerarithmetik können benutzt werden, Sicherheitsmechanismen zu umgehen

Page 9: Plattformunabhängige Programmiersprache

• Beispiel Programmaufbau prozeduraler Programmaufbau (Beispiel C)

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

objekt-orientierter Programmaufbau (Beispiel Java)

Page 10: Plattformunabhängige Programmiersprache

• Beispiel nummerische KonvertierungWenn eine Variable in einen anderen Typen konvertiert werden soll, so muss ihr einfach der gewünschte Typ in Klammern vorangestellt werden:

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

Einschränkungen Beachten!

Page 11: Plattformunabhängige Programmiersprache

• Java installieren / Ein Applet erstellen

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

•Java SDK von SUN kostenlos herunterladen•Editor herunterladen z.B. Eclipse (kostenlos)•Umgebungsvariabelen bestimmen

Page 12: Plattformunabhängige Programmiersprache

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

•Quellcode erstellen•HTML erstellen•Java-Klasse erstellen / Java starten

Page 13: Plattformunabhängige Programmiersprache

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

•Applet gestartet•Schnelle Änderung durch Editieren der HTML

Page 14: Plattformunabhängige Programmiersprache

Bodo Renner / Sebastian Fetissow / Philipp Schüßler Mikrocomputertechnik WS2009 / 2010 Prof. Küveler

Geschichte und Einführung in Java Wie funktioniert Java? Unterschiede zwischen Java und C ,bzw. C++

•Starten mit HTML

3D-Text Spiel Bustout Animation Fireworks