Was im Bestand hat: Codebasen

Der letzte Artikel über Veränderungen im PC brachte mich recht schnell auf die gegenteilige Frage: was hat den Bestand oder besser gesagt, was hat am längsten Bestand? Nun die Hardware veraltet. Sie wird (in der Regel) immer leistungsfähiger oder eben nicht und stirbt dann aus wie Floppylaufwerke oder CD-ROMs, zumindest muss sie sich aber anpassen. Jeder, der mal sich Gedanken gemacht hat, wie er Dateien auf einer 5,25-Zoll-Floppy in einen heutigen PC zu bekommen weiß das. Als eingebautes Laufwerk ist es schon seit den Neunzigern nicht mehr dabei. Als externes Laufwerk gibt es ein 5,25-Zöller heute nicht mehr zu kaufen. Selbst wenn man ein altes Laufwerk noch hat, fehlt der Floppykontroller mit seinem 40-poligen Flachbandkabel um es anzuschließen. Ähnliches gilt für vieles. Seien es ISA Karten (der Bus wurde 1993 durch PCI ersetzt) oder digitale Monitor mit ihren Anschlüssen (heute sind Monitore auch wieder digital, aber haben HDMI, DVI oder Displayportstecker anstatt der alten sechspoligen Rundstecker. Continue reading „Was im Bestand hat: Codebasen“

Herr Leitenberger, warum gibt es so viele Programmierspachen?

Tja was antwortet man Maschinenbau-Studenten, die schon mit einer für die Lehre entworfenen Programmiersprache ihre Probleme haben, warum es noch so viel mehr Sprachen gibt?

Nun, es gibt natürlich einige Beantwortungsmöglichkeiten: Die eine ist weil bisherige Programmiersprachen etwas nicht hatten was gewünscht war. Diese allgemeine Aussage kann man in viele Unteraspekte unterteilen. Continue reading „Herr Leitenberger, warum gibt es so viele Programmierspachen?“

Die Seuche „C“

Zeit mich mal wieder unbeliebt zu machen, oder besser gesagt zu provozieren. Es geht um die für mich übelste Programmiersprache: „C“. Warum ist C so übel? Nun man könnte es auf den Punkt bringen, das hat dieser Aufsatz getan, der nicht von mir stammt, aber den ich übernommen habe. Fangen wir mal an mit einigen Mythen, die immer genannt werden, wenn es um die Vorteile von „C“ geht:

„C ist maschinennah und daher besonders gut geeignet für die Programmierung von hardwarenahen Programmen wie Betriebssystemen.“

Dieser Mythos mag in den siebziger Jahren gegolten haben, aber danach nicht mehr. Das hat nun auch weniger mit der Sprache zu tun, sondern mit dem Compiler, der den Code erzeugt. Für alle, die nicht so mit Assembler vertraut sind: die meisten Prozessoren haben Befehle die bei bestimmten Situationen geeignet sind und schneller ausgeführt werden als andere, sozusagen Spezialfälle. So verändern die Befehle INC und DEC einen Operanden um jeweils 1 und das Schieben eines Registers entspricht einer Division oder Multiplikation mit 2. Diese Operationen gehen schneller als eine Addition/Subtraktion oder Division/Multiplikation. Continue reading „Die Seuche „C““

Kriterien für eine gute Programmiersprache

Es gibt natürlich eine Reihe von Kriterien. Sicherlich wird der eine oder andere die Codegeschwindigkeit und Größe hervorheben – bald kommt man dann aber auf hersteller- bzw. Plattformspezifische Implementierungen. Man muss dazu nur mal ein einfaches „Hello World“ mit einem C-Compiler erzeugen und hat ein Programm das um ein vielfaches größer ist als dasselbe vor 20 Jahren unter DOS.

Natürlich gibt es noch die Eignung der Sprache – es gibt Scriptsprachen für die Kommandoshell, Sprachen die im Browser ablaufen und Sprachen mit denen man EXE Dateien oder andere Binarys erzeugt. Aber gehen wir mal von der technischen Seite weg, auf die Sprachdefinition. Für mich ist an einer Sprache folgendes wichtig: Continue reading „Kriterien für eine gute Programmiersprache“

Wenn Freaks Programmiersprachen machen….

Der von Michael K. als Rätsel gestellte Aufsatz von Kerningham über Pascal zeigt recht deutlich, warum man eine Programmiersprache oder ein Betriebssystem nicht nutzen sollte, dass von einem Freak erstellt wurde. Man kann sicher einiges an Pascal kritisieren, wie praktisch an jeder Programmiersprache – man wird immer schlauer. Das Hauptproblem von Pascal ist, dass es als Lehrsprache konzipiert wurde. Vielleicht das natürlichste, das ein Uniprofessor tut, aber es ist im praktischen Einsatz Blödsinn. Es macht keinen Sinn Programmieren auf einer Sprache zu lernen und im Einsatz dann eine andere nutzen. So fehlen Pascal wichtige Funktionen in der Ein/Ausgabebibliothek und die Stringverwaltung ist auch ziemlich schlecht implementiert.

Viele Punkte in dem Memo zeigen aber etwas anderes, nämlich die Grundeinstellung die Kerningham hat und die sich in C und Unix wiederfindet. Nämlich das man als Programmierer grenzenlose Freiheit braucht. Nur dazu ein Beispiel: Er bemängelt dass man in Pascal keine Fliesskommazahl an eine Funktion übergeben kann die Integer Zahlen erwartet, wie dies in FORTRAN der Fall war. Continue reading „Wenn Freaks Programmiersprachen machen….“