Softwarelabor 1. Einführung



Ähnliche Dokumente
Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

JAVA als erste Programmiersprache Semesterkurs

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Applications Applets (eingeschränkte Rechte)

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

Überblick. 5 Java. Insel Indonesiens. ( km 2, 65 Mill. Einw.) amerikanischer Slang für Kaffee (" Betriebsstoff der Java-Programmierer")

Einführung in Eclipse und Java

Vorkurs Informatik WiSe 15/16

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

1. Java Grundbegriffe

Java Schulung. Objektorientierte Programmierung in Java. Prof. Dr. Nikolaus Wulff

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

0. Einführung. C und C++ (CPP)

Einführung in PHP. (mit Aufgaben)

Einführung Internettechnologien. - Clientseitige Programmierung -

Version 0.3. Installation von MinGW und Eclipse CDT

Objektorientierte Softwareentwicklung SoSe 15

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Übungen Informatik I. JAVA - Einführung. elga Gabler, Holger Vogelsang, Christian Pape. Übungen Informatik 1 Folie 1

Programmiersprachen und Programmierkonzepte

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Applets I. Grundlagen der g Applet-Programmierung

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Präsentation Von Laura Baake und Janina Schwemer

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Praktikum: Einstieg: Arbeitsplatz, JCreator

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Online-Publishing mit HTML und CSS für Einsteigerinnen

! " # $ " % & Nicki Wruck worldwidewruck

Proseminar Technische Informatik A survey of virtualization technologies

Prinzipien Objektorientierter Programmierung

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Qt-Projekte mit Visual Studio 2005

ASD ZSS. RZ-Süd (LfStaD) Internet

JAVA. Ein kurzer Überblick. Thomas Karp

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Print2CAD 2017, 8th Generation. Netzwerkversionen

Powermanager Server- Client- Installation

C# im Vergleich zu Java

4D Server v12 64-bit Version BETA VERSION

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Robot Karol für Delphi

Kompilieren und Linken

CORBA. Systemprogrammierung WS

C++ im Web mit Tntnet

Windows 8 Lizenzierung in Szenarien

Modellierung und Programmierung 1

Java Einführung Packages

Vorstellung - "Personal Remote Desktop" für (fast) alle Hardwareplattformen und Betriebssysteme

GEONET Anleitung für Web-Autoren

Java Applet Alternativen

WINDOWS 10 Upgrade. Beispiel: Desktop-Ausschnitt von vorhandenem WIN 8.1 (rechte Ecke der Taskleiste)

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Erster Bug: eine Motte

Java Einführung Programmcode

e-books aus der EBL-Datenbank

Netzwerkversion PVG.view

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag

Lösungen zum 2. Komplex

Java für Anfänger Teil 1: Intro. Programmierkurs Manfred Jackel

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Herzlich willkommen im Modul Web-Engineering

Übung: Verwendung von Java-Threads

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

25 Import der Beispiele

Prof. Dr. Uwe Schmidt. 21. August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

Objektorientierte Programmierung für Anfänger am Beispiel PHP

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

SEH WHITEPAPER USB-TO-NETWORK (UTN) Nutzung von nicht-netzwerkfähigen USB-Outputgeräten (GDI-Drucker, Multifunktionsgeräte, Kopierer) über das Netz

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Nutzung von GiS BasePac 8 im Netzwerk

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

Programmieren was ist das genau?

Objektorientierte Programmierung OOP

1. Java ist Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Einführung zu den Übungen aus Softwareentwicklung 1

Grundlagen der Informatik

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

Einstieg in die Informatik mit Java

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Transkript:

Softwarelabor 1. Einführung Prof. Dr. holger.vogelsang@fh-karlsruhe.de

Inhalt Inhalt 1. Einführung Warum Java? Marktanforderungen Geschichte von Java Eigenschaften von Java Einführung in Eclipse Kleine Beispiele Softwarelabor 2

Warum Java? Java ist derzeit die Programmiersprache für das Internet. Java ist ein Programmierkonzept der Zukunft. Objekt-orientierte Programmierung ist für komplexe und umfangreiche Aufgaben unerlässlich. Plattformunabhängigkeit und Netzwerkfähigkeit sind Voraussetzungen für eine weltweite Verfügbarkeit einer Anwendung. Java verzichtet auf prozedurale Elemente (gute Lehrsprache für die objekt-orientierte Programmierung). Sehr umfangreiche und gute Klassenbibliothek als Standard vorhanden. Java macht Spaß. Softwarelabor 3

Warum Java? Umfrage bei www.devx.com unter Entwicklern nach den wichtigsten notwendigen Fähigkeiten: Softwarelabor 4

Warum Java? Nach einer Studie der Firma Gulp (www.gulp.de) finden momentan die überwiegende Anzahl von Projektanfragen im Java-Umfeld statt -> gute Marktchance für Absolventen. Java C++ Softwarelabor 5

Was ist Java? Java ist... Insel Indonesiens (126 650 km 2, 65 Mill. Einw.) am. sl. für Kaffee ( Betriebsstoff mancher Java-Programmierer ) Software-Technologie für objekt-orientierte Programmierung und verteilte Anwendungen (und damit Thema der folgenden Folien) Softwarelabor 6

Java OOP und das Internet Java ist neben einer Programmiersprache auch eine Softwaretechnologie und umfasst: objektorientierte Programmierung eine leistungsfähige Klassenbibliothek (API) Internet-Fähigkeit Module und Schnittstellen für die schnelle Erstellung verteilter Anwendungen Java wird von SUN Microsystems entwickelt und als frei verfügbare Entwicklungsumgebung (JDK) verteilt. Java nutzt das Internet als Infrastrukturbasis Java-Programme (Bytecode) sind plattformunabhängig Typen von Programmen: Applets: In WWW-Seiten eingebunden und in einem Browser ausführbar. Applikationen: eigenständig ausführbares Java-Programm Weitere (nicht Bestandteil der Vorlesung) Softwarelabor 7

Geschichte von Java 1991: Erstes Projekt bei SUN (James Goslin), Ziele: einfache Programmiersprache für Steuerungselektronik grafische Benutzeroberfläche für Unterhaltungs- und Haushaltselektronik klein, einfach portierbar 1992: Oak (Vorgänger von Java) Computer zur Steuerung von Haushaltsgeräten Duke who helped users through the easy-to-use, image rich, graphical user interface 1993: Hotjava WWW-Browser mit Java-Interpreter, vollständig in Java geschrieben. 1995: SUN kündigt Java auf der SunWorld 95 an, Netscape wird Java-fähig jetzt: JDK1.3.1_01 und JDK1.4 RC Es werden sehr viele Java-Entwickler in der Industrie benötigt. Softwarelabor 8

James Goslin James Goslin Vize-Präsident von Sun Microsystems, Inc. Chef-Ingenieur und maßgebender Architekt der Java-Technik Seit 1984 befasste er sich mit verteilten Computersystemen Konstruierte... Mehrprozessorversion für UNIX Das Andrew Window-System Einige Compiler und mail-systeme Emacs-Texteditor für UNIX. Softwarelabor 9

Entstehung wichtiger Programmiersprachen Genealogie einiger wichtiger Programmiersprachen Fortran Lisp Cobol Algol Basic C PL/1 Pascal Visual Basic C++ Smalltalk Simula Java Delphi Softwarelabor 10

Java als Programmiersprache (simple) Java White Paper:... simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded and dynamic language Unkompliziert einfach zu lernen (viel einfacher als C++) Java ist eine Weiterentwicklung von C++ - Beschränkung auf das Notwendigste (keine Zeiger, keine Header-Dateien, keine Unions) - Verzicht auf Trickkisten - Kein Precompiler (keine Makros) Klein: Läuft auf Rechnern mit kleiner Ausstattung. Das Grundsystem (Interpreter, Standardklasse, Thread-Unterstützung) benötigt ca. 215 KB Hauptspeicher. Softwarelabor 11

Java als Programmiersprache (object-oriented) Java White Paper:... simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded and dynamic language Vollständig objekt-orientiert: Ein Objekt besteht aus Daten und Zugriffsmethoden. Im Idealfall erzeugt man wiederverwendbare Objekte. Im Laufe der Arbeit kann auf eine Bibliothek bereits erzeugter Objekte (Baukasten) zugegriffen werden (Wiederverwendung). Ein Satz solcher Bibliotheken wird mit der Sprache mitgeliefert. Die wesentlichen Konzepte der objekt-orientierten Programmierung wurden umgesetzt: - Kapselung (Daten und Funktionen) - Vererbung - Polymorphie Softwarelabor 12

Java als Programmiersprache (distributed) Java White Paper:... simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded and dynamic language Verteilt = internet-fähig: Durch Java-Applets: - Die können über das Internet verteilt und lokal in einem Browser ausgeführt werden. Durch eine geeignete Klassenbibliothek: - TCP/IP-Kommunikation (Sockets) - HTTP/FTP-Anwendungen - RMI für einen sehr einfachen entfernten Methodenaufruf Ziele: Software muss nicht mehr auf dem Client installiert werden. Durchbrechen des Microsoft-Monopols der Betriebssysteme. Softwarelabor 13

Java als Programmiersprache (interpreted, high-performance) Java White Paper:... simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded and dynamic language interpretiert = schnell? Java-Code wird nicht direkt durch den Prozessor ausgeführt, sondern durch einen zwischengeschalteten Interpreter. Vorteile: - Kein Linker erforderlich - Plattformunabhängiger Code Nachteile: - Geringere Ausführungsgeschwindigkeit Lösung: - Bytecode als maschinennaher Code - JIT- und Hotspot-Compiler, Java-Prozessoren Softwarelabor 14

Java als Programmiersprache (Compiler und Interpreter) Compiler Code import java.text.*; class Test { void print(){} } Compiler (Win32) Compiler (Sparc) Ausführbare Datei (Win32) Ausführbare Datei (Sparc) Compiler (PowerPC) Ausführbare Datei (PowerPC) Interpreter Code Interpreter (Win32) import java.text.*; class Test { void print(){} } Compiler Java Bytecode (plattformunabhängig) Interpreter (Sparc) Interpreter (PowerPC) Softwarelabor 15

Java als Programmiersprache (robust, secure) Java White Paper:... simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded and dynamic language robust und sicher: Vorteile durch die Verwendung von Compiler und Interpreter: Der Compiler kann Typfehler und andere logische Programmierfehler finden. Der Interpreter stellt sicher, dass kein Zugriff auf fremde Programme oder Daten erfolgen kann. Der Interpreter kann Laufzeitfehler mittels sog. Exceptions abfangen, auf die das Programm gezielt reagieren kann (keine Rechnerabstürze durch Programmierfehler). Softwarelabor 16

Java als Programmiersprache (architecture neutral, portable) Java White Paper:... simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded and dynamic language plattformunabhängig und portierbar Der erzeugte Bytecode läuft auf allen Java-Plattformen unabhängig vom Prozessor. Keine ungenauen Spezifikationen wie in C++ (die Größe des Integer-Datentyps int ist nicht festgelegt). Softwarelabor 17

Java als Programmiersprache (multithreaded, dynamic language) Java White Paper:... simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded and dynamic language Multithreading: In einem modernen Programm laufen viele Aktionen gleichzeitig (besser: unabhängig und möglicherweise parallel) ab. Java bietet eine Unterstützung für die Parallelität, die dem Entwickler viel Arbeit abnimmt. Dynamik: In Java können Klassen zur Laufzeit nachgeladen werden (z.b. auch über das Netzwerk). Dieses funktioniert nur durch die Verwendung eines Interpreters. Softwarelabor 18

Die Java Virtual Machine (JVM) Java-Werkzeuge Der Java-Compiler erzeugt Java-Bytecode. Der Java-Bytecode ist plattformunabhängig, im Internet verteilbar und auf jedem Rechner mit einer Java Virtual Machine (JVM) lauffähig. Die Java Virtual Machine besteht aus: Bytecode-Lader Bytecode-Verifizierer (überprüft die Sicherheitsregeln) Bytecode-Interpreter (führt das Programm aus) eventuell Hotspot-Compiler oder JIT: Übersetzung des Bytecodes in Maschinencode zur Laufzeit! Softwarelabor 19

Einsatzgebiete Java-Einsatzgebiete Geeignet für prinzipiell alle programmierbaren Anwendungen: Benutzeroberflächen Grafik und Animation verteilte Anwendungen Information, Animation, Kunst, Unterhaltung im WWW Beispiele: Intelligente Information mit Multimedia und Interaktion in Wissenschaft und Ausbildung. Benutzeroberflächen für Datenbankzugriffe Kommunikations- und Büroanwendungen Java ist ungeeignet für Hardware-nahe Anwendungen (Treiber), da das Sicherheitskonzept einen Hardwarezugriff verbietet. Ausweg: Java Native Interface (Kombination aus Java und C/C++/Assembler). Softwarelabor 20