240 likes | 549 Views
Technische Fachhochschule Berlin. University of Applied Sciences. Vergleich objektorientierter Programmiersprachen (OOP) mit Skriptsprachen von Autorensystemen zur Erstellung multimedialer Software. Probevorlesung. Vorüberlegungen. Vorgehen: Matrix - Anforderungen der gestellten Aufgabe
E N D
Technische Fachhochschule Berlin University of Applied Sciences Vergleich objektorientierter Programmiersprachen (OOP) mit Skriptsprachen von Autorensystemen zur Erstellung multimedialer Software Probevorlesung
Vorüberlegungen • Vorgehen: • Matrix - Anforderungen der gestellten Aufgabe • Beispiel einer Anwendung / Vergleich der Lösungen • Bildet das Ergebnis eine Entscheidungsgrundlage? • Rahmenbedingungen betrachten • Abstraktion und Eingrenzung
Gliederung Vergleich objektorientierter Programmiersprachen (OOP) mit Skriptsprachen von Autorensystemen zur Erstellung multimedialer Software
Programmiersprachen (Auswahl) • ImperativeProgrammiersprachen • ObjektorientierteProgrammiersprachen • DeklarativeProgrammiersprachen
Anwendungsgebiete Fortran Proz. mathematisch-technische Probleme Algol 60 Proz. mathematisch wissenschaftliche Probleme Cobol Proz. (Oo.) kaufmännische Probleme Lisp Funk. Symbol-Manipulation Basic Proz. kleinere mathematische Probleme Simula 67 Proz. Math.-tech.-wissenschaftl. Probleme und Simulationen Pascal Proz Math.-tech und kaufmännische Probleme C Proz. Systemnahe Programmierung Modula-2 Proz. (Oo.) Math.-tech und kaufmännische Probleme Prolog Prädikativ Anwendungen mit symbolischen Formeln Ada Proz. (Oo.) Echtzeitanwendungen SQL Deklarativ Datenbankanwendungen Smalltalk-80 Oo. Anwendungs- und Systemsoftware C++ Proz. (Oo.) Anwendungs- und Systemsoftware Eiffel Oo. Umfangreiche Softwaresysteme Java Oo. Anwendungen in vernetzten und heterogenen Umgebungen
Skriptsprachen • Ursprünglich mit kleinem Sprachumfang • Zugeschnitten auf ein spezielles Aufgabengebiet • Multimedia-Präsentation • Webanwendungen • Skriptsprachen werden nicht kompiliert
Interpreter • Längere Laufzeit des Programms • Unterstützung bei der interaktiven Programmentwicklung • Plattformunabhängigkeit
Abstraktionsebenen Multimedia-Anwendung Abstraktion von der Hardware Abstraktion von der Anwendung Framework oder Bibliothek System-Software Gerätetreiber Multimedia-Hardware-Geräte
Anforderungen an Programmiersprachen zur Erstellung multimedialer Software • Effiziente Verarbeitung großer Datenmengen • Spezifizierung von Zeitanforderungen • Mechanismen zur Handhabung von Ausnahmesituationen • Synchrone Darstellung mehrerer Medien • Wiederverwendbarkeit durch Modularisierungskonzept • Erweiterbarkeit und Wartbarkeit durch Modularisierung, Kapselung, Abstraktion und Hierachiebildung • Förderung von robusten Programmen in Entwurf und Entwicklung
Objektorientierung • Daten und Anweisungen werden als Einheit betrachtet • Objekte kommunizieren miteinander (Senden und Empfangen von Botschaften) • Ermöglicht paralleles programmieren und testen. • Unterstützung bei der Programmierung komplexer Aufgaben • Wiederverwendbarkeit von Programmcode • Erweiterbarkeit bestehender Programme
Objekt / Instanz 0009860 Instanz Variable: Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Objekt / Instanz 0007450 Instanz Variable: Punktzahl Erzeugen einer Instanz der Klasse xy Objekt / Instanz 0003360 Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Instanz Variable: Punktzahl Beispiel Punktezähler Vorlage / Klasse
Bonus erhöhe um 500 Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Vererbung und Kapselung Objekt / Instanz Vorlage / Klasse 0009860 Erzeugen einer Instanz der Klasse xy Objekt / Instanz 0007450 vererben Objekt / Instanz 0003360 Super Klasse
Anwendungsgenerator Abstraktionsebenen Multimedia-Anwendung Abstraktion von der Hardware Abstraktion von der Anwendung Framework oder Bibliothek System-Software Gerätetreiber Multimedia-Hardware-Geräte
Macromedia Director und Lingo • Umfangreiche Funktionalitäten und Einsatzbereiche • Skriptsprache Lingo ist teilweise objekt- und ereignisorientiert • Wurde häufig verändert z.B. Punktsyntax ab Version 7 • Befehle können in drei Gruppen eingeteilt werden: • Core-Lingo • Net-Lingo • Xtra-Lingo • Behaviour Library mit Lingo-Prozeduren • Grundgedanke der Objektorientierung wird unterstützt
Lingo Begriffe Klassischer Begriff Lingo Begriff Super Klasse, Basis Klasse Vorgängerskript Ancestor (=Ahne) Klasse Übergeordnetes Skript, Parent script (=Eltern) Instanz Untergeordnetes Objekt,Object, Instanz Instanz Variable, Attribut Eigenschaftsvariable, Property Methode Prozedur, Methode
Gemeinsamkeiten Lingo-Java • Erstellung neuer Instanzen mit „new“ • Wird eine Instanz mit „new“ angelegt, wird eine Referenz (Speicheradresse) auf diese Instanz zurückgegeben • Methoden und Eigenschaftsvariablen (Properties) • Einfachvererbung • Automatische Speicherreservierung • Verdecken von Methoden
Unterschiede Lingo-Java • Keine Klassenvariablen • Keine echte Kapselung • Keine Interfaces • Vererbung funktioniert auf Instanz Basis, nicht auf Klassenbasis • Vererbung ist dynamisch • Basis Klassen müssen keine Parent Skripte sein (auch Xtra, Sprites...) • Keine abstrakten Klassen • Kein Überladen • Parent Skripte erben nicht automatisch von einer Basis Klasse • Keine Klassenbibliothek
Zusammenfassung • Programmiersprachen wurden für unterschiedliche Probleme entwickelt • Programmiersprachen entwickeln sich neuen Anforderungen gemäß weiter • Skriptsprachen werden nicht kompiliert • Multimedia-Anwendungen stellen spezifische Anforderungen • Anforderungen einer Multimedia-Anwendung lassen sich gut durch objektorientierte Programmierung realisieren • Autorensysteme sind Anwendungsgeneratoren mit integrierten Skriptsprachen spezialisiert auf die Erstellung von Multimedia-Anwendungen • Integrierte Skriptsprachen in Autorensystemen unterstützen inTeilen die Umsetzung von objektorientierten Konzepten • Der Vergleich von Lingo und Java ergab Gemeinsamkeiten und Unterschiede
Vielen Dank für Ihre Aufmerksamkeit! Literatur Allenson et al.: Director 8.5 Studio Steinmetz, R.: Multimedia-Technologie Goll, J. et al: Java als erste Programmiersprache Balzert, H.: Lehrbuch Grundlagen der Informatik Poetzsch-Heffter, A.: Konzepte objektorientierter Programmierung Rechenberg, Pomberger: Informatik Handbuch Online-Quellen Grundlagen der Programmierung I und II: VFH Studienmodul, TFH Berlin Autorensysteme: VFH Studienmodul, TFH Berlin Dipl.-KommunikationswirtStefan Müller s.mueller@tfh-berlin.de www.tfh-berlin.de/smueller