Programmieren

Programmieren ist die logische Nachfolge von Löten, "Basteln" und TTL-Schaltungen entwerfen. Technisch weniger Interessierte würden als Hobby vielleicht "Briefmarken sammeln" wählen.

Meine Einstellung zu Programmiersprachen lautet: Wer das Prinzip des Programmierens verstanden hat, für den ist es egal, in welcher Programmiersprache er Programme entwirft.

Programmiersprachen meiner Wahl sind die Pascal-artigen Hochsprachen (z.B. Delphi, Oberon). Einfach genial war die Einführung von Turbo-Pascal. Wiewohl "C" syntaktisch und semantisch große Mängel hat, bewundere ich doch die Entstehungsgeschichte. Einige Projekte lassen sich nur in "C" realisieren, da alternative Programmierangebote gänzlich fehlen.

Wer im Netz nach Niklaus Wirth, dem Erfinder von Pascal und mehrerer anderer Programmiersprachen, googelt, wird viele sehr interessante Artikel finden. Unter anderem auch den Artikel über "Einfachheit".

Ich finde diese Meinung von Niklaus Wirth auch genial gut (sinngemäß) : "Keine Software Dokumentation im Quellcode ! Das Programm muß sich durch seinen Quellcode erklären." Kleine Kommentare helfen sicherlich trotzdem. Auch dem Autor, wenn er das Programm später noch mal durchgeht.

Diese Seite wurde im Mai 2003 spontan aus der Taufe gehoben, als ich im Heise Ticker von folgendem Bug las:

"

HTML-Code bringt Internet Explorer zum Absturz

Wer den Schaden hat, braucht für den Spott nicht zu sorgen: Wenige Zeilen HTML-Code, die zur Zeit im Internet kursieren, bringen den Internet Explorer ab Version 4.0 aufwärts zum Absturz. Laut Securityfocus überfordert ein Input-Tag mit einer unsinnigen Typenangabe offensichtlich die Rendering-Bibliothek und shlwapi.dll steigt mit Verweis auf einen Zugriffsfehler aus, wenn das Input-Tag sich nicht innerhalb von <body>-Tags befindet. Der Fehler lässt sich beispielsweise anhand der folgenden Codezeilen leicht reproduzieren -- der Code wird von Browsern mit Mozilla-Engine als Texteingabe-Fenster dargestellt:

<html>

<form>

<input type crash>

</form>

</html>

Der HTML-Code soll auch zu Abstürzen bei Outlook und Frontpage führen. Eine Abhilfe ist bislang nicht bekannt.

"

Auch der "normale" File-Explorer stürzt ab, wenn er die Datei "sieht" (hover over) und eine Vorschau erstellen will. Irgendwie peinlich.

Mozilla und Opera überleben übrigens. Wer die kleine Textdatei "absturz.htm" mit diesen Zeilen erstellt (bzw. per Rechts-Klick herunterlädt), wird erleben, wie der Windows-Explorer und das eine oder andere Windows abstürzen, sobald der Windows-Explorer versucht, das Vorschau-Fenster zu öffnen. Dieser sehr interessante Fehler fällt in die Kategorie "Mangelhafte Robustheit".

Programmiersprachen

Meine ersten Programmiersprachen waren die Sprache des Texas Instruments Taschenrechners TI 59, Fortran (zunächst noch mit Lochkarten), Basic, Pascal und Turbo-Pascal. Dann ging es weiter mit diversen Assembler Sprachen (8080, Z80, 8048, 6502, DEC PDP 11, 68000, ...). Ein grösseres Einzelprogramm war das im EPROM gespeicherte (Boot-) Monitorprogramm "TOM" für 8080 Mikroprozessorsysteme, die ein Radioteleskop in diversen Funktionen (mechanische Steuerung, Empfängersteuerung, ...) steuerten. Daneben C, Python, JS, MATLAB, Simulink, ... . Die Quelltexte der älteren Programme wurden alle noch auf auf Papier ausgedruckt und sauber in Ordnern archiviert. Auch die Programme des TI 59 konnten schön mit einem Thermodrucker dokumentieret werden. Beim Aufräumen wird diese Papierdokumentation der vergangenen Jahre schrittweise dem Altpapier zugeführt, auch weil es viele Zielsysteme gar nicht mehr gibt. Die EPROMs, gefädelter Magnetkernspeicher und einige Platinen machen sich allerdings im Regal noch gut als Blickfang.

C-Sprache und Compiler

Es gibt viele Geschichten zur Entstehung von C. Warum man als "C" Programmierer aufpassen muss, hat P.J. Moylan, Department of Electrical and Computer Engineering, zusammengestellt in : "THE CASE AGAINST C"(lokale Version). Geschichtliche Details, deren Wahrheitsgehalt nicht komplett überprüft wurden, werden in der Wahrheit über C zusammengefaßt.