Silver Server

Silver Server


Domaincheck! Internet-Adressen einrichten und verwalten.

SILVER 13

Oktober 2007

Inhalt der Ausgabe


SILVER erscheint vierteljährlich auch in gedruckter Form. Bestellen Sie ein kostenloses Abo per E-Mail an:silver@sil.at

WERKZEUG

In der Informationstechnik gibt es heute unzählige Programmiersprachen.
Diese Entwicklung ist die folge vielfältiger unterschiedlicher Ansprüche und Aufgaben.
Denn das Werkzeug ist immer abhängig vom zu lösenden Problem.

Autor: Stefan G. Weichinger

 

Um ein Problem zu lösen ist es nötig, die dafür erforderlichen Werkzeuge parat zu haben und zu definieren, wie diese Werkzeuge folgerichtig anzuwenden sind. Anders lässt es sich nicht zum gewünschten Ergebnis gelangen. Aus der alltäglichen Welt kennen wir das etwa in Form von Montageanleitungen von Möbeln: „Schrauben Sie mit Inbusschlüssel A die acht Schrauben des Typs B in die Seitenwand C.“ Man spricht von einer Anwendungsvorschrift.

 

In die IT übertragen – und in der Komplexität zumeist wesentlich höher (abgesehen vom klassischen „Hello, world!“) – sprechen wir von Programmen. Ein solches Programm kann ich nur in einer Sprache erstellen, die das zu lösende Problem beschreiben kann. Die Sprache spiegelt also auch die Struktur des Problems wider. Eine Analogie aus der Umgangssprache zeigt, wie sich die Sprache den vorhandenen Gegebenheiten anpasst: Das Volk der Inuit kennt, je nach zitierter Quelle, zwischen 10 und 100 verschiedene Begriffe für „Schnee“. Ihre alltägliche Umgebung und die Aufgaben und Schwierigkeiten, denen sie darin begegnen, sind elementar geprägt von Schnee, daher ist es erforderlich, exakte Begriffe dafür in ihrer Umgangssprache zu finden, um damit effizienter agieren zu können. Man kann also postulieren: Das Problem bedingt die Sprache.

 

Bildtext: Notruf! Wiener Schottentor

FORTRAN, LISP UND COBOL
////// ///// // /// / ////// // /// / / /

Zu Anbeginn der elektronischen Datenverarbeitung war die Kommunikation mit den damals neuartigen Werkzeugen noch diffus. Der Mensch als so genannter Bediener („operator“) passte sich zuerst an die Möglichkeiten der Maschinen an. Das Drücken von Tasten und Schaltern und Ablesen von Lämpchen diente als Abstraktion. Erst im Laufe der Entwicklung neuerer Technologien entwickelten sich auch die Sprachen weiter. Nicht zuletzt auch deswegen, weil die Erfahrungen mit den ersten Rechnern neue Sichtweisen eröffneten bzw. neue Begrifflichkeiten bedingten. Die ersten höheren Programmiersprachen wurden Mitte der 1950er Jahre in den USA entwickelt. Urgesteine wie Fortran, Lisp und Cobol, deren Nachfolger bis heute existieren und reale Anwendungen finden. Die Langformen dieser Akronyme verweisen auf die Problemfelder, für die diese sprachlichen Werkzeuge einst entworfen wurden: „FORmula TRANslator“, „LISt Processor“, „COmmon Business Oriented Language“.

 

Fortran fand seine vorrangige Verwendung in wissenschaftlichen und numerischen Berechnungen und ist eine der führenden Sprachen, wenn es um super-computing geht: Wetter- und Klima-Modelle, diverse Simulationen bis hin zur Simulation von Auto-Crashs.

 

Lisp dagegen war immer ein wichtiges Werkzeug für die Versuche rund um „künstliche Intelligenz“. Ein berühmtes Beispiel dafür stellt das Programm SHRDLU dar, das Anfang 1970 am Massachusetts Institute of Technology (MIT) entwickelt wurde und dem Anwender erlaubte, in gängigen englischsprachigen Begriffen mit dem Programm zu interagieren. SHRDLU brachte eine Art von Verständnis für eine definierte Welt von Objekten mit: Verschiedene einfache Objekte wie Kegel, Quader und Kugeln konnten per Befehl angeordnet werden, und das Programm konnte diese Objekte in Kontext setzen und sogar so etwas wie Erfahrungen daraus ziehen. Ein weiteres Anwendungsfeld von Lisp ist der Einsatz als Skriptsprache in diversen Anwendungen, darunter AutoCAD und Emacs.

 

Hingegen wird Cobol meist im betriebswirtschaftlichen Bereich angewendet. Hier geht es weniger um hochkomplexe Berechnungen als um das Handling großer Datenmengen. Im Grunddesign von Cobol lässt sich die damals vorherrschende Verwendung von Lochkarten erkennen, die 80-stelligen Programmzeilen erinnern an diese Ursprünge. In der Wirtschaftsinformatik gibt es aber bis heute viele historisch gewachsene Anwendungen, die auf Cobol basieren. Eine Ablösung ist oft eher aus wirtschaftlichen denn als aus technischen Gründen schwierig.

 

VOR C KAM B
//////////////// ////////// ///////// // /// // /// /

In den 60er und 70er Jahren brach eine Zeit des Entdeckertums an. Militärs und Forschungseinrichtungen erkannten das Potenzial der neuen Technologie und fanden immer neue Anwendungsfelder für das Meta-Werkzeug Computer. Aus bestehenden Sprachen entstanden unzählige Ableger für unterschiedlichste Anwendungsbereiche. Parallel dazu wurde auch die Hardware rasant weiterentwickelt, schnellere und komplexere Rechner erlaubten den Einsatz komplexerer Software.

 

Ein bisschen Ironie schwingt mit, in diesem Kontext Basic anzuführen, „Beginner’s All-purpose Symbolic Instruction Code“, eine Sprache, die hauptsächlich dafür entwickelt wurde, Studenten den Einstieg ins Programmieren mit Algol und Fortran leichter zu machen. Basic fand seinen Weg auf unzählige Homecomputer, seien es Commodore, oder später Rechner mit Microsoft- Betriebssystemen (Visual Basic gibt es nach wie vor ...), und nahezu jeder Computerbegeisterte erinnert sich an das hochkonzentrierte Abtippen von ellenlangen Programmen aus irgendwelchen Zeitschriften, um dann nach Stunden bernsteinfarbene Grafiken hervorzubringen ... und wo sonst lernte man programmiertechnische Unsitten wie „GOTO“ kennen?

 

Die definitiv ernsthaftere Entwicklung aus dieser Zeit ist die Sprache C. Hier wurde von Beginn an Augenmerk auf ein möglichst plattformunabhängiges Design gelegt. C ist eng verbunden mit den damals jungen Unix-artigen Betriebssystemen. Kein Wunder, wenn man bedenkt, dass sowohl Unix als auch C von den Hacker-Ikonen Ken Thompson und Dennis Ritchie entwickelt wurden. Viele heute existierende Betriebssysteme sind in ihrem Kern in C programmiert, aber auch ein großer Anteil der heute eingesetzten Software. Nicht zu vergessen ist auch die rasante Verbreitung von Open Source Software und dem eng damit verknüpften Betriebssystem Linux, hier spielt C eine zentrale Rolle. Nach wie vor gilt C als meist benutzte Programmiersprache, und das nach 35 Jahren ihrer Existenz! (Und: Ja, es gab auch eine Sprache namens „B“ ;) ).

 

EINFLUSSFAKTOR WORLD WIDE WEB
////// /// //////////////////// // /// / ////// // // /

Ein neues Konzept der späten 1960er war das objektorientierte Programmieren (OOP). Man begann, Klassen von Objekten zu definieren, die wiederum spezifische Attribute haben konnten, im Unterschied zu dem rein prozeduralen Ansatz der zuvor entworfenen Sprachen. Der erste Vertreter dieser Art war Simula- 67, später nahm „Smalltalk“ diese Konzepte auf und verfeinerte sie, heute findet man die objektorientierte Programmierung in „C++“, Java und Delphi. Die in den 80ern aufkommenden grafischen Benutzer-Interfaces begünstigten dies, da sie gut mit diesen Konzepten zu programmieren waren.

 

Als wichtiger Einfluss stellt sich auch das rasante Anwachsen des Internet dar. Mit der Einführung des World Wide Web wurde es zur vorrangigen Aufgabe, Sprachen zur Beschreibung der Darstellung von Inhalten zu entwerfen. Vor allem HTML, die „Hypertext Markup Language“, wurde ausschlaggebend für die Gestaltung des Internet. Als so genannte Auszeichnungssprache beschreibt sie Eigenschaften von Texten. Der momentane Star der Auszeichnungssprachen ist XML, das selbst wieder eine Übermenge für eine Vielzahl von spezialisierten XML-Sprachen wie Docbook, SVG, XHTML et cetera bildet. Sprachen, die ihrerseits Anwendung beim Verfassen von Büchern und Dokumentationen, aber auch in der Verwaltung von Artikeldaten in Warensystemen, in geographischen Informationssystemen und Finanz-Software finden.

 

Der nahezu ubiquitäre Einsatz von Informationstechnologie in so gut wie allen Bereichen heutigen Lebens hat die Vielzahl der zu lösenden Problemstellungen im Vergleich zu den Anfängen der Computertechnik um mehrere Größenordnungen anwachsen lassen. Waren es zu Beginn einige wenige beschränkte Anwendungsbereiche, sind es heute unzählige, und ihre Anzahl wächst stetig weiter an. Die dafür verwendeten Programmiersprachen reflektieren diese Entwicklung in Vielfalt und Komplexität. Neue Aufgaben verlangen nach neuen Sprachen.

-

Der Autor

Stefan Gregor Weichinger ist selbstständiger IT-Unternehmer im Bereich Server- und Netzwerktechnik

-

http://www.oops.co.at

-

Mail an den Autor:

office@oops.co.at

 

Kontakt