Programmieren oder der Hacker mit den Pizzaschachteln
Programmierung, das Erstellen und Verändern von Software, ist für viele das Faszinierende an der EDV.
Wir kennen den Teenager in seinem Kellerzimmer, der umgeben von Pizzaschachteln, Cola Dosen und einem Meer aus Monitoren und Tastaturen, Tage und Nächte verbringt. Er ist Programmierer, meist ein Hacker, also ein Programmierer mit einer besonderen Leidenschaft. In jedem Fall ist er dem Medium und seiner Mission verfallen. Manchmal wünschen wir ihm, dass die Behörden ihn doch finden und von seiner Getriebenheit befreien.
Diese Karikatur eines Programmierers hat mit der Realität wenig zu tun. Für viele geht jedoch von der Programmierung eine Schlaf raubende Faszination aus. Programmierung ist eine hoch kreative Tätigkeit. Sie erlaubt es mit wenigen Mitteln eigene Welten aus Logik und Funktionalität zu schaffen. Damit ähnelt sie durchaus der Musik, bei der aus wenigen Tönen Melodien entstehen. Viele Programmierer verstehen sich als Künstler, müssen aber damit leben, dass ihre Werke nur unter funktionalen Aspekten gewürdigt werden.
Um auf einem Computer programmieren zu können, muss dieser frei programmierbar sein. Das heißt, dass der Computer nicht nur für die Lösung einer bestimmten Aufgabe konstruiert wurde, sondern um Aufgaben verschiedenster Art zu bewältigen. Diese freie Programmierbarkeit war einer der wichtigsten Meilensteine der EDV. Die ersten Computer waren nur für das Lösen einer bestimmten Aufgabe ausgelegt. Das gilt etwa für die Turing Rechenmaschinen, die der IT Pionier Alan Turing seit 1940 erschuf, um im Zweiten Weltkrieg die Verschlüsselung der Enigma zu knacken. Wenige Jahre zuvor, seit 1937, entstand aber auch der erste, in Grundzügen frei programmierbare Computer. Die rein mechanische Zuse Z1 eines weiteren IT Pioniers, des Deutschen Konrad Zuse. Sie wurde im Krieg zerstört, ohne wirklich funktionsfähig zu sein.
Es war von Anfang an bekannt, dass Computer ihre Leistungsfähigkeit erst dann entfalten können, wenn sie wirklich frei programmierbar sind. Bis das Ende der 1960er Jahre mit der Entwicklung von Mikroprozessoren so weit war, behalf man sich mit Relais und Elektronenröhren. Bis zu dieser Zeit waren Programmierer mit Lötkolben und Draht ausgestattet.
Wie bei allen bedeutenden Entwicklungen die sich im Entstehen befinden, herrschte auch zu jeder Zeit eine große Vielfalt an Technologien und damit an der Art und Weise einen Computer zu programmieren. Das gilt umso mehr, da die Computer häufig Unikate waren und ihre Programmierung damit nach einmaligen Regeln verlief. Die Entwicklung von Serien-Computern, die erst in kleinen und später größeren Serien hergestellt wurden, war ebenfalls vielschichtig. Sie waren aber der erste Schritt dazu, allgemeingültige Programmiersprachen zu entwickeln.
Die Programmiersprache "C" ist nicht die erste dieser allgemein gültigen Programmier-Sprachen, ist aber zur bedeutendsten aller Programmiersprachen geworden. Die Programmiersprache C wurde quasi gemeinsam mit einem der ersten universellen Betriebssysteme, nämlich Unix, entwickelt.
Mit Unix und C war die Trennung von Programmierung der Hardware des Computers endgültig vollzogen. Computer, auf denen Unix lauffähig war, konnten mittels C programmiert werden, ohne, dass der Programmierer die eigene, interne Sprache des Computers beherrschen musste. Die sogenannte Maschinensprache, auch Assembler genannt.
Ein Wesenszug von C ist, dass sie eine sehr systemnahe Programmierung erlaubt, ohne, dass der Programmierer das erwähnte Assembler beherrschen muss. Mittels Assembler lassen sich Programme mit der höchsten Ausführungsgeschwindigkeit erstellen. Die Ausführungsgeschwindigkeit von C steht dem nur wenig nach. Diese Eigenheit von C beruht darauf, dass C nur sehr wenige Regeln kennt und damit eine besonders freie Programmierung erlaubt. Die Schattenseite dessen ist die hohe Fehlerhäufigkeit von C Programmen. Bis heute ist die überwiegende Zahl von Sicherheitsproblemen auf diese Schwäche von C zurückzuführen.
Aus diesem Grund gab es einige Gegenentwürfe zu C. Eine davon ist die Programmiersprache Pascal, die durch strenge Regeln den Programmierer zu einem sauberen Programmierstil anhalten will. Auch wenn viele dieser Sprachen bis heute im Einsatz sind, konnte das den Siegeszug von C nicht aufhalten. Auch als Unix von MS-DOS und später von Windows zurück gedrängt wurde, blieb die Programmierung mit C erhalten.
Die Liste der gegenwärtig eingesetzten Programmiersprachen ist schier endlos. Zu den populärsten gehören C#, Java, PHP, C++, Java Script und Pearl. Pascal hat sich in Form von Delphi eine gewisse Bedeutung in der Anwendungsentwicklung erhalten.
Müssen Programme aber sehr schnell sein oder besonders flexibel, dann wird immer noch in C bzw. seinem Nachfolger C++ programmiert. Die Vorteile, aber auch die Schwächen von Jahrzehnten sind darin weitestgehend erhalten.
Der Junge mit der Pizza darf nach wie vor in seinem Keller sitzen und versuchen einen Speicherüberlauf für seinen Angriff zu nutzen. Dieser schlummert bisher unbemerkt in einem C Programm, wie ein in Bernstein gefangenes Insekt. Ein Bug.
IT Leistungen der Consato
Soforthilfe - Ersten vier Stunden kostenlos - Fehlerbehebung bei akuten Problemen
Datenrettung und Daten-Wiederherstellung
Server und Virtualisierung unter Windows und Linux
Netzwerke, VPN, WLAN, VLAN, Lan-Lan Kopplungen, Netzwerk-Trennungen, heterogene Netze
IT Sicherheit, Anti-Viren, Anti-Spam, Patch-Management, Monitoring
Unterstützung von Administratoren - Beratung von IT Entscheidern - Erstellung von Konzepten