www.wikidata.de-de.nina.az
Die Geschichte der Programmiersprachen beginnt bereits im 19 Jahrhundert und ist in ihren Anfangen stark durch die Mathematik und durch Ingenieurwissenschaften gepragt Ab wann eine Programmiersprache vorliegt ist tatsachlich nicht eindeutig zu bewerten Inhaltsverzeichnis 1 Anfange 2 Die 1930er und 1940er Jahre Logische Kalkule 3 Die 1950er Jahre Erste moderne Programmiersprachen 4 Die 1960er und 1970er Jahre Entwicklung neuer Paradigmen 5 Die 1980er Jahre Konsolidierung und Objektorientierung 6 Die 1990er Jahre bis heute Das Internetzeitalter 7 Siehe auch 8 WeblinksAnfange Bearbeiten nbsp Die Lochkartensteuerung der Jacquard MaschineMit dem Einsetzen der industriellen Revolution wurden viele vormals handwerkliche Tatigkeiten immer starker in die Kontrolle von Maschinen gegeben Diese waren durch ihre zyklischen Funktionsweisen besonders fur sich wiederholende Aufgaben ausgelegt Andererseits wurde es immer wichtiger den maschinell ausgefuhrten Prozessen auch Alternativen vorzugeben zumal diese Prozesse auch immer schneller ausgefuhrt werden konnten Exemplarisch fur diese Notwendigkeit steht die Einfuhrung des programmierbaren Webstuhls von Joseph Marie Jacquard am Anfang des 19 Jahrhunderts Der Webstuhl erhielt durch diskrete Auslassungen in den Lochstreifen die Informationen uber das zu webende Muster Das Kunsthandwerk des Webens konnte nun als Programmierkunst auf einem dem Stoffmuster analogen Medium fortgefuhrt werden Als erste Arbeit im Bereich der mathematisch logischen Programmierung gilt eine Vorschrift fur die Berechnung von Bernoulli Zahlen die Ada Lovelace in den Jahren 1842 1843 fur die mechanische Analytical Engine von Charles Babbage erstellte Dieses Programm konnte zu ihrer Zeit nur von Hand ausgefuhrt werden denn wegen Fertigungsproblemen gab es im 19 Jahrhundert keine funktionsfahige Maschine Die 1930er und 1940er Jahre Logische Kalkule BearbeitenDer Lambda Kalkul wurde von Alonzo Church und Stephen Kleene in den 1930er Jahren entwickelt Es wurde schon fruh nachgewiesen dass der Lambda Kalkul eine universelle Programmiersprache ist Damit hatten sich schon damals theoretisch ebenso machtige Programme schreiben lassen wie heute in jeder modernen Programmiersprache Mit Fertigstellung der ersten elektronischen Rechenmaschinen und der Verwendung der booleschen Algebra ging es spurbar mit der Entwicklung von Programmiersprachen weiter Hervorzuheben sind diesbezuglich etwa 1937 die Patente von Konrad Zuse welche eine Computerarchitektur beschreiben die spater als Von Neumann Maschine bekannt wird In den 1940er Jahren stellte Zuse dafur seine Programmiersprache Plankalkul fertig in die Ideen aus dem Lambda Kalkul einflossen Die 1950er Jahre Erste moderne Programmiersprachen Bearbeiten nbsp Grace Hopper entwickelte den ersten Compiler und gilt als Grandma COBOL In den 1950er Jahren wurden in den USA die ersten drei weit verbreiteten praktisch eingesetzten hoheren Programmiersprachen entwickelt Die alteste noch in weitem Gebrauch befindliche Sprache Fortran FORmula TRANslator wurde 1954 von John W Backus et al entworfen 1959 kam Lisp LISt Processor von John McCarthy et al hinzu das einen auf einer Seite in sich selbst beschreibbaren Kern aufweist Ebenfalls 1959 fuhrten Grace Hopper et al mit COBOL COmmon Business Oriented Language eine Programmiersprache fur kommerzielle Anwendungen ein Die vorgenannten Sprachen existieren mit ihren Nachfolgern bis heute Vor allem LISP beeinflusste die spater an amerikanischen Universitaten entwickelten Programmiersprachen stark Der nachste grossere Meilenstein wurde zwischen 1958 und 1960 gesetzt als ein internationales Komitee wahrend einer Tagungsreihe eine neue Sprache fur Algorithmen mit dem spateren Namen Algol 58 entwarf Das Komitee beendete seine Entwicklung mit dem Revised Report on Algol 60 ALGOrithmic Language In dem Bericht zur Tagung wurden viele Ideen aufgenommen die zu dieser Zeit in der Fachgemeinschaft kursierten und ebenso zwei Neuerungen Zum einen die Backus Naur Form BNF zur kontextfreien Beschreibung der Syntax der Programmiersprache Nahezu alle folgenden Programmiersprachen benutzen die BNF um die Syntax als kontextfreie Grammatik darzustellen Zum anderen wurden Gultigkeitsbereiche erstmals definiert Obwohl Algol 60 sich aus politischen Grunden in Nordamerika nicht durchsetzte hauptsachlich weil IBM eine Gegenentwicklung in Form von PL I anbot teilweise aber auch wegen der Entscheidung die Ein und Ausgabe nicht in die Sprachdefinition zu integrieren wurde Algol in der Folgezeit zum Standard in der west europaischen Welt Sie beeinflusste die Ausbildung einer ganzen Generation von Informatikern und das Design spaterer Sprachen insbesondere von Simula 67 Pascal und Scheme Die 1960er und 1970er Jahre Entwicklung neuer Paradigmen Bearbeiten nbsp Ken Thompson und Dennis Ritchie sind die Entwickler der noch heute viel benutzten Programmiersprache CIn der Folgezeit wurde eine grosse Zahl von Programmiersprachen entwickelt da die Moglichkeit und der Bedarf durch den schnellen Fortschritt der Computertechnik siehe auch Digitaltechnik Mikroelektronik gegeben war Den grossten Erfolg hatten dabei Weiterentwicklungen der bereits vorhandenen Programmiersprachen also in erster Linie zustandswechselorientierte Konzepte Beispielsweise wurde um 1964 BASIC Beginner s All purpose Symbolic Instruction Code entwickelt um Studierenden den Einstieg in die Programmierung mit Algol und FORTRAN zu erleichtern Mitte der 1960er Jahre tauchte in der sogenannten Softwarekrise erstmals das Phanomen auf dass die Kosten fur die Software die Kosten fur die Hardware uberstiegen In der Folge kam es zu den ersten grossen gescheiterten Software Projekten BASIC wurde schliesslich auch in den Ende der 1970er Jahre gebauten erschwinglicheren Heimcomputern popular Auch die Programmiersprache C 1972 fur das neu entwickelte Betriebssystem Unix entworfen hat ihre Wurzeln in Algol Sie setzte sich gegenuber BASIC fur allgemeine Anwendungsprogramme durch die grundlegenden funktionalen Teile Kernel vieler Betriebssysteme sind in C programmiert Beide Programmiersprachen haben bis heute viele Varianten nach sich gezogen Es entstanden in dieser Zeit jedoch auch neue Konzepte Grosse Bedeutung erlangte das objektorientierte Programmieren das Daten Prozedur und Referenzaspekte in dem einzigen Konzept des Objekts vereinigt Denkweise und Begriffe der Objektorientierung zeigten sich zuerst in Simula 67 einer Sprache fur Simulationszwecke die als erste Sprache damals noch nicht sogenannte objektorientierte Verfahren einfuhrte Erzahlt wird dass ihre Entwickler Ole Johan Dahl und Kristen Nygaard an Schiffssimulationen gearbeitet hatten Dabei ergab sich durch die unuberschaubar vielen Parameterbeziehungen eine verwirrende Vielfalt an Moglichkeiten wie sich die verschiedensten Attribute der unterschiedlichen Schiffe gegenseitig beeinflussen konnten So kam bei ihnen die Idee auf die unterschiedlichen Schiffstypen jeweils als eigenstandige Objekte zu behandeln wobei jede Klasse von Objekten fur die eigenen Daten und das eigene Verhalten selbst zustandig war 1962 trafen sie sich am Norwegian Computing Center in Oslo und erstellten eine erste formale Beschreibung der Sprache die in Munchen vorgestellt wurde Ein erster Prototyp eines Simula Compilers lief bereits 1964 In den 1970er Jahren wurde Simula in der Praxis vielfach eingesetzt Die objektorientierten Konzepte der Sprache hatten grossen Einfluss auf die weitere Entwicklung von Programmiersprachen Wahrend in Simula die neuen Konzepte noch von ihrer Implementierung nicht deutlich abgehoben wurden wurden in der Folgezeit die Konzepte weiterentwickelt Deren Begriffe und Verfahren wurden bereits seit den fruhen 1970er Jahren im Xerox Palo Alto Research Center mit der Sprache Smalltalk verfeinert und konsequenter als in Simula umgesetzt Smalltalk wurde schliesslich in den 1980ern der Offentlichkeit allgemein freigegeben Smalltalk war als voll dynamisches System angelegt bei dem man Objekte interaktiv erzeugen und andern konnte im Gegensatz zum vorher verwendeten System statischer Programme Bemerkenswert auch gegenuber ihren Nachfolgern ist die Integration der Sprache in einer innovativen grafischen Benutzeroberflache die erstmals eine echte Interaktion ermoglichte Nachdem Niklaus Wirth bei seiner Mitarbeit an Algol enttauscht war entwickelte er Pascal zusammen mit Kathleen Jensen und setzte Pascal ab 1971 konsequent fur die Lehre von Sprachkonzepten ein Nachdem er festgestellt hatte wie schwierig die Softwareentwicklung grosserer Projekte mit mehreren Entwicklern umzusetzen war veroffentlichte er 1978 die mit einem strengen Modul und Schnittstellenkonzept versehene Weiterentwicklung Modula 2 Prolog von Alain Colmerauer Phillipe Roussel und Robert Kowalski begrundete ab 1972 die logische Programmierung und wurde bis 1975 festgeschrieben Die 1980er Jahre Konsolidierung und Objektorientierung BearbeitenIn den 1970er Jahren zeigte sich das Verteidigungsministerium der Vereinigten Staaten besorgt uber die Anzahl von uber 450 Programmiersprachen die in seinen Projekten verwendet wurden Viele der Programmiersprachen waren zudem nicht standardisiert sondern vom Anbieter abhangig Eine Arbeitsgruppe sollte diesen Dschungel lichten und eine Sprache finden welche die militarischen Bedingungen des Ministeriums erfullt Viele existierende Sprachen wurden uberpruft doch 1977 kam die Arbeitsgruppe zum Entschluss dass keine der vorhandenen Sprachen geeignet war Nach Ausschreiben von vier Sprachentwurfen entschied man sich 1980 fur die aus den besten Ideen der Entwurfe komponierte Sprache Ada Dieser Entwurf wurde unter der Bezeichnung MIL STD 1815 standardisiert da 1815 die Namensgeberin Ada Lovelace geboren wurde Das Verteidigungsministerium der USA schrieb zeitweilig vor dass jedes Softwareprojekt mit einem Anteil von mehr als 30 neuem Code in Ada geschrieben werden musste Um die Verbreitung des Standards zu unterstutzen finanzierte die US Air Force die Entwicklung des kostenfreien GNAT Compilers Die Anzahl verschiedener Programmiersprachen im Ministerium reduzierte sich schliesslich auf 36 nbsp Die objektorientierten Programmiersprachen wurden uber die Zeit immer starker Die objektorientierte Programmierung begann Mitte der 1980er Jahre popularer zu werden hauptsachlich durch den Einfluss von C das als syntaktische Erweiterung der Sprache C konzipiert war Bjarne Stroustrup hatte 1983 C vorgestellt Viele existierende Programmiersprachen erhielten seit dieser Zeit objektorientierte Erweiterungen wie Pascal oder LISP siehe dazu die Abbildung 1988 veroffentlichte Niklaus Wirth der bereits die strukturierte Programmiersprache Pascal und die modulare Programmiersprache Modula 2 entworfen hatte die objektorientierte Programmiersprache Oberon Bei dieser wurden alle nicht unbedingt notwendigen Elemente der relativ machtigen Programmiersprache Modula 2 weggelassen und die Objektorientierung durch das einfache Konzept der Erweiterung der mit RECORD deklarierten Datentypen implementiert Zusammen mit Jurg Gutknecht konnte er mit dieser Programmiersprache in kurzer Zeit einen Oberon Compiler und das Betriebs und Laufzeitsystem Oberon System programmieren das wie bei der vollstandigen Objektorientierung notwendig mit einer automatischen Speicherbereinigung ausgestattet ist 1995 wurde die Objektorientierung als Erweiterung auch in die neue Version Ada 95 aufgenommen Weiter gefestigt wurde die Stellung der objektorientierten Programmierung durch die schnell wachsende Beliebtheit der grafischen Bedienoberflachen die sich objektorientiert sehr einfach programmieren liessen Das Hinzufugen objektorientierter Erweiterungen zu Sprachen die ursprunglich nicht dafur entworfen wurden fuhrte oft zu Problemen mit der Kompatibilitat und Wartbarkeit von bereits geschriebenen Quelltext Vielen rein objektorientierten Sprachen fehlten wiederum prozedurale Programmiermoglichkeiten an die sich viele Programmierer gewohnt hatten Um diese Lucke zu schliessen wurden zunehmend Versuche unternommen neue objektorientierte Sprachen zu schaffen die gleichzeitig eine prozedurale Programmierung erlauben Die Programmiersprache Eiffel war 1985 ein fruher Versuch in diese Richtung Inzwischen wurde Eiffel aber praktisch vollstandig von Java 1995 verdrangt Die an Java und C angelehnte Programmiersprache C 2001 verfolgt ahnliche Ziele wie Java Die 1990er Jahre bis heute Das Internetzeitalter Bearbeiten nbsp James Gosling gilt als Erfinder von JavaDas schnelle Wachstum des Internets war eine neue Herausforderung Allen voran die Hypertext Markup Language HTML ermoglichte dabei als Auszeichnungssprache das Aussehen des Internets zu gestalten Das Internet bildete eine vollig neue Grundlage fur die Erstellung von Software Systemen und damit auch fur die Entwicklung neuartiger Programmiersprachen Dass sie sich schon fruh in Webbrowsern integrierte zeichnet die Programmiersprache Java aus und begrundete ihre Popularitat Auch setzten sich verschiedenste Skriptsprachen fur die Entwicklung von Webserver Anwendungen durch Obwohl keine der Sprachen fundamentale Neuerungen im Sprachdesign mit sich brachte wurden nun Aspekte wie automatische Speicherbereinigung oder starke und statische Typisierung starker berucksichtigt Immer grossere Beachtung fand auch die Codesicherheit und die Portabilitat des Programmcodes dies fuhrte zur Entwicklung von virtuellen Maschinen als Laufzeitumgebungen Der Siegeszug der objektorientierten Programmierung setzte sich weiter fort In diesem Zusammenhang ist die fur das objektorientierte Programmieren entworfene graphische Notationsformen der Unified Modeling Language UML zu nennen Durch die meist visuelle Modellierung wird in UML die Softwareentwicklung zu einem geordneten Prozess Dabei kann man feststellen dass bisher lediglich der Abstraktionsgrad erhoht wurde UML wird jedoch mit ihrer zunehmenden Spezifizierung immer mehr zu einer eigenen Programmiersprache nbsp Modernes Programmieren mit EntwicklungsumgebungNeuere integrierte visuelle Entwicklungsumgebungen haben im Zeit und Kostenaufwand deutliche Fortschritte gebracht Bedienoberflachen lassen sich nun visuell gestalten Codefragmente sind per Klick direkt erreichbar Dokumentationen zu anderen Programmteilen und Bibliotheken sind direkt einsehbar Meist gibt es sogar eine so bezeichnete Look Up Funktionalitat die noch wahrend des Schreibens herausfindet welche Symbole an einer bestimmten Stelle erlaubt sind und entsprechende Auswahlen vorschlagt Siehe auch BearbeitenZeittafel der Programmiersprachen Computerprogramm Geschichte Programmiersprache Geschichte Programmierung GeschichteWeblinks BearbeitenGeschichte der Programmiersprachen von Horst Zuse Virtual Museum of Computing Linksammlung Eric Levenez Computer Languages History mit Zeittafel und Linkverzeichnis englisch A Brief History of Software Engineering von Niklaus Wirth englisch PDF 45 kB Abgerufen von https de wikipedia org w index php title Geschichte der Programmiersprachen amp oldid 238176582