Die glorreichen 10 – Programmiersprachen (2)

Loading

Der heutige Teil schließt nahtlos an den ersten Teil an, der gestern erschien. Es geht um 10 Kriterien anhand derer man Programmiersprachen kategorisieren kann.

Maschinennah oder universell, aber komplex

Als eine maschinennahe Sprache bezeichnet man eine Sprache, die nahe den Möglichkeiten von Prozessoren ist. Das Paradebeispiel ist C. Alle Prozessoren haben Befehle um ein Register um 1 zu erhöhen oder zu erniedrigen. Das braucht man für Zählschleifen aber auch Arrayindizierungen. In C gibt es dafür eigene Hochsprachenbefehle , den Operator ++ oder –. C wird daher auch als Superassembler bezeichnet. Mit C kann man zwar im Prinzip alles programmieren, aber gedacht war sie eigentlich für die Systementwicklung. Die zahlreichen Sicherheitslücken die Betriebssysteme haben beruhen zu einem Teil auf Mängel von C in der Stringverarbeitung. (mehr …)

WeiterlesenDie glorreichen 10 – Programmiersprachen (2)

Was an mir vorbeigegangen ist … Groß-/Kleinschreibung

Loading

Der heutige Blog, der zweite in der losen Reihe „Was an mir vorbeigegangen ist“ über Dinge die sich allgemein durchgesetzt haben, die ich aber für unnötig finde ist ein spezieller. Anders als der Titel vermuten lässt, geht es nicht um die Schreibweise im Deutschen an sich, obwohl man auch hier einiges ändern könnte, was aber für die deutsche Sprache an und für sich gilt – ich finde es schon interessant, das Englisch das sich ja aus demselben Sprachstamm entwickelte, in der Grammatik mit so viel weniger Regeln auskommt.

Es geht um Groß/Kleinschreibung bei Programmiersprachen. Ich kam drauf weil ich für meinen Ölstandmesser in Python programmiert habe und Python gehört zu den Sprachen die Groß/Kleinschreibung unterscheiden. Es bemängelte einige Fehler bzw. eigentlich nicht, es gab nur einen Hinweis das ich eine variable „Distanz“ nirgendwo verwendet habe, ja woanders habe ich eben „distanz“ geschrieben und das sind in Python zwei verschiedene Variablen. Erinnert mich irgendwie an BASIC, da musste man eine Variable auch nicht deklarieren, das erste verwenden legte sie an, gab es da einen Schreibfehler, so hatte man eine neue Variable was sehr schwer zu findende Programmfehler verursachte. (mehr …)

WeiterlesenWas an mir vorbeigegangen ist … Groß-/Kleinschreibung

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. (mehr …)

WeiterlesenWas 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. (mehr …)

WeiterlesenHerr 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. (mehr …)

WeiterlesenDie Seuche „C“