Einschränkbarkeit von Programmiersprachen


[ Gliederung ] [ Einführung ] [ Effizienz ] [ Regelmäßigkeit ] [ Einfachheit ] [ Ausdruckskraft ] [ Erweiterbarkeit ]
[ Einschränkbarkeit ] [ Präzision ] [ Sicherheit ] [ Fazit ] [ Literatur und Internetquellen ]

Einschränkbarkeit


Erweiterbarkeit von Programmiersprachen


Wie schon im Kapitel zu "Einfachheit einer Programmiersprache" angesprochen, so sollte ein Programmierer seine Sprache perfekt beherrschen, um sie effektiv einzusetzen. Am Besten ist dies natürlich möglich, wenn die Sprache einen relative kleinen und leicht zu erlernen Umfang hat. Der Grund warum diese Frage wieder hier auftaucht, ist leicht zu beantworten. Dadurch dass die neueren Programmiersprachen größer und komplexer geworden sind, muss man dafür sorgen, dass die Sprache nicht zu komplex und damit nicht mehr zu überschauen ist. Das Problem, das hierbei jedoch besteht: Was gehört zum Kern der Sprache und was nicht? Was sollte möglichst in Bibliotheken ausgelagert werden um es bei Bedarf einzubinden? Man sieht also, dass Erweiterbarkeit und Einschränkbarkeit zwei Designziele sind, die zusammen gehören.
So ist beispielsweise im Kern vieler Sprachen das Exception Handling implementiert, obwohl es nicht für jede Applikation unbedingt notwendig ist. Jedoch darf eine Sprache nicht langsamer sein nur, weil ein Feature implementiert ist, was vielleicht nicht genutzt. Ein C++ Programm darf z.B. nicht langsamer laufen als ein gleiches C Programm nur, weil der Sprachkern Exception Handling beinhaltet.
Auch besteht in vielen Sprachen die Möglichkeit mehrere Wiederholungskonstrukte zu benutzen. Zumeist gibt es neben einem while-Statement noch ein for und ein repeat-until. Dies ist oft notwendig um die Ausdrucksstärke einer Sprache zu erhöhen, aber wenn es auf der anderen Seite zehn oder zwanzig Möglichkeiten gäbe eine Schleife zu bauen, würde die Sprache zu unübersichtlich und schwer verständlich werden.
Es ist also immer eine Frage wie viel mindestens notwenig ist und wann es schon überdimensioniert ist.
[ Gliederung ] [ Einführung ] [ Effizienz ] [ Regelmäßigkeit ] [ Einfachheit ] [ Ausdruckskraft ] [ Erweiterbarkeit ]
[ Einschränkbarkeit ] [ Präzision ] [ Sicherheit ] [ Fazit ] [ Literatur und Internetquellen ]