Wirtschaftsinformatik (Bachelor-Studiengang): Programmierung (1. Semester)

Sie sind hier: StartseiteWirtschaftsinformatikProgrammierung Java (Kurs 1): Zur Geschichte objektorientierter Programmiersprachen

HB / CM, Kurs vom 01.04.2002 - 30.09.2002

Programmierung Java (Kurs 1): Zur Geschichte objektorientierter Programmiersprachen: Zur Geschichte objektorientierter Programmiersprachen (Simula 67, Smalltalk, Object Pascal, Eiffel, Oberon, C++, Java).

Zur Geschichte objektorientierter Programmiersprachen

Simula 67

Der erste Vorläufer objektorientierter Programmiersprachen ist die Sprache Simula 67. 1967 von O.-J. Dahl (Universität Oslo) als Sprache zur Realisierung ereignisgesteuerter Simulationen entwickelt. Die Begriffe "Objekt" und "Klasse" tauchten erstmals auf.

Smalltalk

Die erste rein objektorientierte Programmiersprache ist Smalltalk (rein = "alles ist ein Objekt"). Wurde ab 1972 von Adele Goldberg (Leiterin eines größeren Projektes) am Palo Alto Research Center von Xerox entwickelt.

Dieses Projekt hatte zum Ziel, die Mensch-Maschine-Kommunikation für das Jahr 2000 vorauszuahnen. Angedacht wurden auch z.B. die Maus sowie Fensteroberflächen.

Smalltalk verfügt über eine (sehr) große Klassenbibliothek. Ab etwa 1980 kommerziell verfügbar.

In der Praxis hat sich Smalltalk jedoch nicht durchgesetzt. Die Idee war zu revolutionär, die Zeit "noch nicht reif". Smalltalk hatte Performance-Probleme, großen Speicherbedarf und keine statische Typisierung. Smalltalk wird heute oft als Ausbildungssprache eingesetzt (Fachhochschule Hamburg).

Object Pascal

Seit ca. 1985 gab es verschiedene Ansätze, die Sprache Pascal (Ausbildungssprache von 1972 bis 1995 an der FHTW Berlin) zu einer objektorientierten Sprache zu erweitern. Diese werden unter dem Begriff "Objekt Pascal" zusammengefasst (z.B. Delphi der Firma Borland).

Hybridsprachen

Bildbeschreibung "Hybridsprachen": Objekt Pascal ist eine objektorientierte Sprache, Pascal eine prozedurale Sprache. Pascal ist eine Teilmenge von Object Pascal.

Hinweis: Sogenannte Hybridsprachen!

hybrid = vermischt, gemischt

Objekt Pascal hat sich in der Praxis nicht durchgesetzt, weil

Eiffel

Die Sprache Eiffel wurde von Bertrand Meyer (Franzose) als firmeninternes Werkzeug von Interactive Software Engineering entwickelt. Seit 1988 kommerziell verfügbar. Es handelt sich um eine rein objektorientierte Sprache. Im Gegensatz zu Smalltalk ist sie statisch typisiert. Die Sprache Eiffel beinhaltet interessante Konzepte:

Aus Sicht der Objektorientierung ist das eine hervorragende Sprache, konnt sich aber (bis jetzt) nicht durchsetzen (anfangs nur ein Compiler-Hersteller). Heute gibt es vier Anbieter. Eiffel wird in der Ausbildung eingesetzt (z.B. Uni Stuttgart).

Oberon

Die Sprache Oberon wurde von Niklas Wirth und H. Mössenbeck an der Eidgenössischen Technischen Hochschule Zürich entwickelt und ist seit 1991 kommerziell verfügbar (Oberon-2). Als Weiterentwicklung von Modula-2 (und damit von Pascal) ist Oberon-2 auch eine Hybridsprache.

In der Praxis hat sich Oberon nicht durchgesetzt, weil dies schon Modula-2 nicht gelungen war und es nur 3 Compiler-Hersteller gibt (2 davon Unis, 1 Firma). Modula wird an der Fachhochschule Reutlingen als Ausbildungssprache eingesetzt.

Sonstiges:

Flavors, Loops, XLisp, Clos sind objektorientierte Erweiterungen funktionaler Sprachen (z.B. von Lisp). Anwendungen nur in Spezialbereichen der "Künstlichen Intelligenz".

C++

Der "Durchbruch" der objektorientierten Programmierung kam mit C++. Bjarne Stroustrup hatte 1979 die Idee, C um objektorientierte Konzepte (angeregt durch Simula) zu erweitern (AT&T Bell, "C with Classes"). 1983 Umbenennung in C++ (übrigens mal wieder eine Hybridsprache, ist ja klar) und erste Anwendungen außerhalb eines Forschungslabors.

1985-1990 weltweite rasante Verbreitung von C++. Auf Drängen der Industrie Einreichung von Vorschlägen zur Standardisierung (1989). 1997 ANSI/ISO Norm für C++ veröffentlicht.

1985-1995 C++ ist die bei Neuentwicklungen am häufigsten eingesetzte Programmiersprache. C/C++ wird eingesetzt bei

Java

Um 1990/91 wird bei der Firma Sun ein firmeninternes Projekt ("Green", James Gosling / Patrick Noughton) gestartet, mit dem Ziel, eine Programmiersprache für Chips in Endgeräten (z.B. Fernsteuerung für Fernsehgeräte) zu entwickeln.

Diese Sprache sollte

Ergebnis: Die Sprache Oak (englisch = Eiche).

1992: *7 (sprich: Star Seven) als intelligente Fernbedienung
1993/94: Versuche, Oak und die entwickelte Technologie zu vermarkten.

Parallel dazu ab Ende der 80er: Entwicklung des WWW. 1993 erster Browser ("Mosaic", Marc Andreessen, Stundenlohn $ 6.88, Uni von Illinois; Marc wird der Gründer von Netscape.)

Mitte '94: James Gosling & Co. haben zwei Ideen:

  1. Browser für das Internet in Oak programmieren.
    Folge: "HotJava" (Jonathan Payne)
  2. Den Browser so bauen, dass in Web-Seiten eingebettete Programme (in Oak) ausgeführt werden können.

Am 23. Mai 1995 findet auf der "Sun World" eine Tagung statt, auf der HotJava vorgestellt wird.

Hinweis: 1996: Java-Interpreter wird in Netscape-Browser standardmäßig eingebaut.