Geschichte und Einteilung der Programmiersprachen

<-- zurck zur Startseite | <- eine Seite vor | eine Seite weiter ->

Zunächst ein kleiner Abriss der Geschichte und (mögliche) Klassifikation der Programmiersprachen (kein Anspruch auf Vollständigkeit).

In der "Dinosaurierzeit" der Computer (Ende 40er, Anfang 50er) wurden die rechnenden Ungetüme und ihre Anzeigen mit direktem Maschinencode und etwas später mit Assembler gesteuert. Assembler gilt als "niedere", d.h. extrem maschinennahe Sprache. Mit ihr werden die einzelnen Register und Einheiten eines Chips und des Speichers durch den eingebauten Befehlssatz angesprochen. Als 1957 IBM mit FORTRAN die erste "höhere" Programmiersprache (also eine, die in gewissem Maße versucht, die menschliche Sprache abzubilden) vorstellte, herrschte Skepsis vor: eine Nicht-Assembler-Sprache wäre viel zu langsam. Trotzdem schienen die Vorteile zu überwiegen, so dass schon bald weitere höhere Sprachen folgten. COBOL, welches im kaufmännischen Bereich große Bedeutung erlangte und streng hierarchisch aufgebaut ist, folgte Ende der 50er. Mit LISP wurde 1960 bereits die erste funktionale Programmiersprache vorgestellt.
Im Laufe der 70er-Jahre entstanden die Sprachen, die auch heute noch in weiterentwickelter Form die Sprachenwelt bestimmen: C, Basic und Pascal.
Basic (Beginners All Purpose Symbolic Instruction Code) ist sehr einfach und war deshalb sehr beliebt als Einsteigersprache. Ähnliches gilt für Pascal, dass als Einsteigersprache für Schüler und Studenten gedacht war und in den 80ern sogar die an den Unis am meisten unterrichtete Sprache war (weswegen Lehrer heute immer noch Turbo Pascal unterrichten, obwohl es nur noch wenig praktische Bedeutung hat).
Auf C gehe ich etwas ausführlicher ein: die Sprache wurde schon 1971 entwickelt und recht maschinennah gehalten (was es recht schwer machte und deshalb die Entwicklung von Basic und Pascal induzierte). Ursprünglich für UNIX entwickelt, konnte es trotz der Maschinennähe (Speicherreferenzierung etc.) auf andere Plattformen portiert werden, da es, anders als Assembler, keine rechnerinternen Befehle verwendet.
Objektorientierte Programmierung (OOP) ist das Schlagwort der 90er und des Anfangs des 21. Jahrhunderts. Trotzdem reichen auch hier die Wurzeln bis in die 70er zurück.
Als Bjarne Stroustrup Ende der 70er sein Studium beendete und sich v.a. mit C beschäftigte, machte er Folgendes: ihn beeindruckte die Fähigkeit der Programmiersprache Smalltalk, Objekte zusammenzufassen und Klassen zu bilden (der Mensch klassifiziert seine Welt ja auch nach wahrgenommenen ähnlichkeiten). Er erweiterte die Bibliotheken von C in der Folgezeit um objektorientierte Konzepte und Ende der 80er war schließlich C++ entstanden. So wurden in dessen Fahrwasser auch die anderen beiden "großen" Sprachen objektorientiert erweitert: aus Basic/QBasic wurde VisualBasic, aus Pascal/TurboPascal wurde ObjectPascal, das heute Delphi (nach seiner Entwicklungsumgebung) genannt wird. Zuletzt wurde C/C++ die Sprache No. 1 an den Unis in den 90ern (heute ist es wohl Java).
Die Entwicklung an Java begann ursprünglich Anfang der 90er. Man wollte ein Betriebssystem namens Oak für Haushaltsgeräte schaffen (ernsthaft!). Schließlich wurde daraus bis 1994 eine eigenständige Sprache und in Java umbenannt. 1995 gelingt der Durchbruch, da Netscape eine Java-Umgebung in ihren Navigator 2.0 einbaute: die Leute waren hin und weg von den Möglichkeiten der Applets (v.a. da damals Websites noch extrem spartanisch auftraten). 1998 schon kam das JDK1.2 (Java Development Kit = Compiler + andere Tools), welches zahlreiche Erweiterungen, speziell für Window-Programme, bot. Ab jetzt sprach man auch von Java 2. Allerdings war das Grafiksystem damals noch recht unausgegoren und die Programme langsam, und so handelte sich Java mit JDK1.2 den Ruf ein, schnarchig langsam zu sein. Mit dem JDK1.3 und 1.4 wurde Java allerdings wieder richtig schnell und nähert sich schon langsam an C++ an.

Ein paar Dinge zu im Web gebräuchlichen Skriptsprachen, da diese in letzter Zeit ebenfalls große Bedeutung erlangt haben und für Internet-Benutzer meist ebenfalls interessant sind:
Perl (Practical Extraction and Report Language) stammt aus dem Jahr 1984 und wurde darauf optimiert, riesige Mengen ASCII-Text zu durchsuchen, zu bearbeiten, etc. und ist auf diesem Gebiet bis heute eigentlich unerreicht. Wie man am Erscheinungsdatum sieht, war Perl eigentlich zuerst gar nicht für den Einsatz im Internet gedacht, sondern eine Sache für den Desktop (es gibt Erweiterungen für Window-Programme) oder die Konsole (z.B. DOS), einen Boom erhielt die Sprache aber im serverseitigen Einsatz, da Mitte der 90er die einzigen Alternativen (Shell-Skripts und Tcl) sehr langsam waren. Heute ist Perl im Internet wieder im Zurückgehen begriffen, aber in der Industrie immer noch beliebt, wegen der oben angesprochenen Fähigkeit. Im Grunde aber sind die Möglichkeiten mit Perl viel zahlreicher als z.B. mit PHP, da letzteres ausschließlich für den Einsatz serverseitiger Websites gedacht ist.
Rasmus Lerdorf hatte es zur selben Zeit (Mitte der 90er) ziemlich dick, dass Perl bis dato noch keine vernünftigen Mechanismen bereitstellte, Formulardaten dynamisch einzulesen. Also schrieb er ein Modul in Perl, dass dies leistete und nannte es PHP - Personal Homepage Tools. Die Version 2, also PHP2, schrieb er dann schon in C. Das so entstandene PHP-FI (Personal Homepage - Form Interpreter) machte lediglich das, was es sollte: nämlich Formulare auswerten. Da sich jetzt auch professionelle Entwickler für das Konzept zu interessieren begannen, entstand unter deren Mithilfe PHP3, das genau zur richtigen Zeit kam (zusammen mit mSQL und dessen Weiterentwicklung MySQL) und so seinen Siegeszug antrat. Diese beiden Technologien puschten sich gewissermaßen gegenseitig. PHP hieß ab jetzt Hypertext Preprocessor. Der Name zeigt schon an, dass PHP eine extrem spezialisierte Sprache ist, die vornehmlich dynamisch Hypertext-Dokumente, also Websites, erstellen soll.
Python ist ebenfalls ein Sprache, das ursprünglich nicht für das Internet gedacht war, wurde von Guido van Rossum (Fan von Monty Python) Anfang der 90er entwickelt und implementierte einige Fähigkeiten von C++ und Java. Dies lässt Python - obwohl auch schon einige Jährchen auf dem Buckel - "moderner" daherkommen als überwiegend prozedurale Sprachen wie PHP oder Perl und ist mit ein Grund, warum Python immer mehr im Kommen ist. Es ist objektorientiert, eignet sich für Desktop-Programme und kann nicht nur interpretiert, sondern auch kompiliert werden (in Byte-Code).

Nun zu einer möglichen Einteilung der Sprachen:

Warum Java?

Wann ist Java nicht empfehlenswert?

nach oben