Meine Erfahrungen mit Programmiersprachen

Programmiersprachen sind für die Benutzung von Computern notwendig. Wenn man mit dem Computer ein Problem lösen möchte (das ist sogar die Anzeige eines Buchstabens) muß dafür ein Programm geschrieben werden - von irgendjemandem.

Mit der Zeit haben sich sehr viele Programmiersprachen entwickelt, es gibt sogar spezielle Programme, mit denen man eine Programmiersprache erzeugen kann (YACC - in jedem Unix-System). Inzwischen kenne ich die Grundlagen von einigen Programmiersprachen so gut, daß das Erlernen einer neuen Sprache nur wenige Tage dauert. Nur stolpert man dann immer wieder über die Syntax-Unterschiede zwischen ähnlichen Sprachen, oder in einer bestimmten Sprache geht eine tolle Sache nicht.

Früher waren die Programmiersprachen noch etwas besser miteinander verknüpft, so daß man zum Beispiel Berechnungen in Fortran, Ablauflogik in Pascal, und die Ausgaben in Cobol gestalten konnte, und am Ende alles zu einem einzigen Programm verband. Das ist zwar heute auch noch möglich, aber es wird nur noch selten gemacht.Ich habe selber erst mit dem Programmieren angefangen, als ich schon im Maschnenbau-Studium war. Gut, es gab schon einige kleine Erfahrungen mit einem C64 von einem Freund, aber das zählt eher nicht. Als Maschinenbauer habe ich FORTRAN als erste Sprache gelernt, eine schöne klassische prozedurale Programmiersprache, die vor allem für Berechnungen benutzt wird, auch heute noch, denn es gibt sehr viele fertige Prozeduren, die komplexe Algorithmen durchführen.

Dann kam auch kurz danach BASIC (immer noch die einfachste Sprache), dabei gefiel mehr vor allem die, im Vergleich zu Fortran, einfachere Bildschirm- und Drucker-Ausgabe, nur die blöden Zeilennummern (gab es damals noch) waren störend. Damals waren noch die goldenen Zeiten der GOTO-Befehle.

Dann wurde an "meiner" FH ein Mehrbenutzersystem angeschafft (DEC VAX mit VMS als Betriebssystem). Da gab es eine sehr interessante Textverarbeitung, die sich praktisch vollständig umschreiben läßt (TPU). Es ist also auch eher eine Programmiersprache, mit der alle möglichen anderen Textverarbeitungen simuliert werden können. Auch dafür habe ich einige nette Funktionen geschrieben (dann konnte man auf Tastendruck ein Wort groß oder klein schreiben).

Gelernt habe ich dann auch Pascal (doofe Syntax), und die Programmierung eines Statistik-Paketes (da gibts Funktionen, die braucht kein Mensch!). Und ich habe herausgefunden, daß mein Taschenrechner nicht nur BASIC sondern auch Assembler versteht, dies ist die primitivste Programmiersprache, aber die versteht der Prozessor am besten. Und plötzlich konnten einfache Rechnungen um ein Vielfaches schneller ablaufen, außerdem kann man damit direkt auf alle Teile des Rechners (z.B. auf Schnittstellen, Bildschirmpunkte...) zugreifen. Ein Apfelmännchenprogramm mit Ausgabe auf den Drucker für diesen Taschenrechner hat tolle Bilder gemacht!

Nach dem Studium mußte ich mich beruflich mit dem Betriebssystem Unix auseinandersetzen, damit verbunden ist natürlich die Sprache C (schnell, etwas kompliziert, ein wenig gefährlich - man kann alles machen, also auch den gesamten Hauptspeicher löschen). Unter Unix ist zusätzlich die Shell-Programmierung sehr wichtig. Für alle Leute, die Unix nicht kennen, Shell-Befehle sind die Luxus-Ausgabe von .BAT-Dateien in MS-DOS. Dazu kann man viele Werkzeuge einsetzen, die zum Teil reguläre Ausdrücke benutzen (eine sehr leistungsfähige Möglichkeit, um automatisch Texte zu überarbeiten). Wer richtige Probleme mit Texten hat, wird um awk (ein Programm in Unix) nicht herumkommen, wer es noch besser braucht, sollte Perl in Augenschein nehmen.

In C habe ich dann auch versucht, einige Funktionen für die Bildschirmausgabe von Grafiken zu schreiben. Ich hatte schon während meiner Diplomarbeit mit einem Routinenpaket für Grafik (nach GKS-Norm) gearbeitet (unter FORTRAN), und wollte selber auch mal so etwas schreiben. Ist gar nicht so schwer, nur am Anfang löscht man öfters nicht nur den Bildschirmspeicher, sondern den gesamten Hauptspeicher, mit etwas Glück hatte ich auch einige Male die Uhrzeit und Festplatteneinstellungen zerschossen. Aber dabei lernt man am meisten (insbesondere Datensicherung)!!!

Ein wenig habe ich mir dann noch die Sprache Forth (sehr schnell auf angepaßten Prozessoren) angeschaut, dort überraschte mich vor allem die Formel-Notation (UPN = "Umgekehrte Polnische Notation", bekannt durch HP-Taschenrechner). Für die Arbeit brauchte ich neben C und Shell-Programmierung nur weniges aus anderen Sprachen, aber sehr viel Programmierung innerhalb anderer Programm-Systeme. Denn es gibt sehr viel Software, die in einem Grundzustand geliefert wird und anschließend noch viel Aufwand bei der Installation erfordert, das kennt jeder, der schon einmal eine Datenbank (SQL - DIE Sprache für Datenbanken) oder AutoCad (Lisp(toll(viele(Klammern)))) eingerichtet hat.

Auch bei mir stand irgendwann einmal SQL auf der Liste, zum Glück ist diese Sprache nicht besonders kompliziert, man muß sich aber intensiv mit den Grundlagen von Datenbanksystemen beschäftigen, um die ganzen Möglichkeiten von SQL zu nutzen. Schön war SQL in Verbindung mit Visual Basic, da kann man die SQL-Abfrage in einem String zusammenstellen und dann mit einem Funktionsaufruf an die Datenbank abschicken (änliche Konzepte gibt es auch in anderen Programmierspachen).

Und wo man schon mal dabei ist, nimmt man VBA (Visual Basic for Applications) in Word oder Excel und kann Arbeitsabläufe richtig verbessern. Als in einer kleinen Firma als EDV-Abteilung arbeitete, habe ich versucht, den anderen Mitarbeitern damit Arbeit abzunehmen.

Am besten wurde es, als ich dem Dolmetschen anfing, denn ich hatte auch einige Vorlesungen in Programmiersprachen gedolmetscht. Dadurch habe ich Einblick bekommen in objektorientierte Programmiersprachen, wie zum Beispiel Prolog (für Expertensysteme oder Regelwerke), Smalltalk (die erste und beste OOP) oder C++ (na ja, irgendwie ist C und Objekt ein Widerspruch in sich selbst, trotzdem klappts), Scheme (Nachfahre von Lisp).

Und jetzt bin ich viel im Internet, dabei braucht man natürlich HTML (ist gar keine richtige Sprache, dafür sehr einfach), CGI-Programmierung in Perl (besonders gute Stringbehandlung, "Reguläre Ausdrücke" sind eingebaut), Java (besser als C++, schlechter als Smalltalk) oder die diversen Abarten (Java-Script, Java Beans...).

Also viel gelernt, aber nichts richtig.

Irgendwann werde ich noch Beispiele zu den verschiedenen Sprachen schreiben (ja, wieder so eine blinde Ankündigung).