Heute, in der ersten Hälfte des 21. Jahrhunderts, verstehen wir unter Programmierung
nicht sehr viel mehr als das Programmieren von Software. Die Software übernimmt dann wiederum die Steuerung
von Hardware. Ob es sich bei der Hardware um eine Digitalkamera, um einen Personal-Computer, um einen
Navigations- oder Nachrichtensatelliten oder um einen Arbeitsroboter handelt, wohin uns unsere Schritte
auch immer führen, die uns umgebene Welt der Technik wurde digitalisiert.
Wer sich im heutigen digitalen Zeitalter mit der Programmierung von Software beschäftigt, schreibt Programme
für Computer oder für computergesteuerte Maschinen. Doch der Computer ist keine Erfindung des 20. Jahrhunderts,
denn bereits vor mehr als 2.000 Jahren wurde der erste analoge Computer gebaut und programmiert. Wobei
sich die Frage stellt, was ist ein Computer? Eigentlich nur ein programmierbares Rechenwerk, welches
analoge oder digitalisierte Werte und Daten verarbeiten kann.
Nachfolgend ein kleiner Überblick über die Geschichte der Programmierung. Eine geschichtliche Entwicklung,
die mit dem Mechanismus von Antikythera begann und mit den heutigen Hochsprachen lediglich einen vorläufigen
Stand erreichte.
Als der älteste Computer der Welt, mit dessen Hilfe sich Sonnen- und Mond- finsternisse
auf die Stunde genau berechnen ließen, gilt der Mechanismus von Antikythera. Neben der Berechnung von
Sonnen- und Mondfinsternissen diente der Mechanismus ferner als Kalender für die Olympiaden. Die alten
Griechen verstanden unter Olympiaden nicht die eigentlichen Olympischen Spiele, sondern den Zeitraum
zwischen den Spielen.
Erbaut wurde der Mechanismus von Antikythera vermutlich vor über 2.200 Jahren. Gefunden und geborgen
wurde dieser wissenschaftliche Schatz im Jahre 1900 von Schwammtauchern vor der griechischen Insel Antikythera.
Der Mechanismus von Antikythera, welcher heute im griechischen Museum für Archäologie in Athen zu bewundern
ist, gibt den Wissenschaftlern immer noch viele ungelöste Rätsel auf, zumal ein Großteil der auf Bronzeplatten
eingravierten Programmier- und Bedienungsanleitung verloren ging.
Es war in den ersten Jahren des 19. Jahrhunderts, als der französische Erfinder Joseph-Marie Jacquard einen programmierbaren Musterwebstuhl erfand. Die Steuerung des Webstuhls entsprach bereits den Prinzipien der digitalen Datenverarbeitung, nur das der Webstuhl noch über keinen Prozessor verfügte. Dafür wurde der Programmablauf über Lochstreifen gesteuert. Später setzten sich Lochstreifen auch in der telegraphischen Datenübertragung und bei der Speicherung von Daten durch. Bei den Jacquard-Webstühlen wurden programmierte Lochstreifen mit Nadeln abgetastet, wobei die beiden digitalen Zustände nicht zwischen 0 und 1, sondern zwischen ein Loch und kein Loch ausgewertet wurden. Ein Loch bedeutete Fadenhebung und kein Loch bedeutete Fadensenkung.
Vergessen werden dürfen in diesem Zusammenhang auf keinem Fall Walzen- und Plattenspieldosen, wurden doch bei diesen auf Walzen oder Platten komplette Melodien programmiert. Wie heute CDs und DVDs gewechselt werden, wurden in jenen Jahren die Walzen bei Bedarf gewechselt. Die Programmierer der letzten Jahrhunderte scheuten auch nicht davor zurück, Drehorgeln und ähnliche Spielwerke zu programmieren.
In den 40er Jahren wurde ein Rechner entwickelt, der unter der Bezeichnung EDVAC (Electronic Discrete Variable Automatic Computer) bekannt wurde. Neu war bei diesem Computer, dass die Programmanweisungen binär kodiert wurden, um die Befehle wie Daten verarbeiten und speichern zu können. Heute wird dieses Konzept als Von-Neumann-Architektur bezeichnet, da der österreichisch-ungarischen Mathematiker John von Neumann einen wesentlichen Anteil an der Entwicklung dieser Architektur hatte und im Jahre 1945 eine schriftliche Arbeit zu dem Thema verfasste. Bemerkenswert ist ferner, dass diese Von-Neumann-Architektur noch heute eine wesentliche Grundlage bei der Entwicklung von Computern verkörpert.
Es war im Jahre 1953, als der in Philadelphia geborene Informatiker John Warner Backus von IBM die Bewilligung erhielt, in Teamarbeit eine fortschrittliche Programmiersprache zu entwickeln. Das Ergebnis war eine erste Hochsprache, welche den Namen Fortran erhielt. Mit der Entwicklung einer Hochsprache allein war es jedoch nicht getan, es fehlte noch ein Compiler zum Übersetzen der Hochsprache in ein für Maschinen lesbares Programm. Dessen Entwicklung begann im Jahre 1954, doch erst im Jahre 1957 waren die Entwicklungsarbeiten soweit fortgeschritten, dass der Compiler von IBM für marktreif befunden wurde. Fortran wurde seit den 50er Jahren stetig weiterentwickelt, wobei die letzte Version die Bezeichnung Fortran 2008 (Stand: 2011) erhielt.
Nach Fortran folgte die Entwicklung weiterer Script- und Programmiersprachen,
um allgemein die Arbeit von Programmierern zu erleichtern. Ein Stillstand oder gar Ende dieser geschichtlichen
Entwicklung ist nicht absehbar. Vielmehr liegt die Vermutung nahe, dass eine stetige Weiterentwicklung
erfolgen wird, da im Laufe der letzten Jahrzehnte bei der Entwicklung von Hardware, ebenso bei der Steigerung
der Rechenleistung von Computern, riesige Sprünge gemacht wurden. Lediglich ist eine gewisse Tendenz
erkennbar, Hochsprachen weiter zu abstrahieren. Weitestgehend abstrahierte Sprachen wie PHP oder C sind
leichter zu erlernen als vergleichsweise maschinennahe Sprachen, wie zum Beispiel Assembler.
Nebenbei werden nicht nur die Hochsprachen stetig weiter entwickelt, sondern auch die Entwicklungsumgebungen
(IDEs) werden immer anwenderfreundlicher. So ist es bereits heute mit einigen Entwicklungsumgebungen
möglich, grundlegende Sprachelemente und Bausteine einfach auszuwählen und per Klick in eine in Entwicklung
befindliche Anwendung einzufügen.
Übersicht