Die Programmiersprache C# zeichnet sich aus durch eine gewisse sprachliche Trägheit. Man beschränkt sich auf das Schema Klasse/Feld/Methode und vermeidet, neue sprachliche Konstrukte einzuführen. So gibt es beispielsweise keine Syntax zum dynamischen Aufruf von Klassenmethoden und der Programmierer muss sich über die Reflektionsklassen das entsprechende Methodenobjekt holen und dessen Methode Invoke() aufrufen:
MethodInfo mi = K.GetType().GetMethod(“tue_es”);
mi.Invoke(K, new object[] { 4 } );
Dasselbe könnte man eigentlich so einfach wie folgt ausdrücken:
K.Invoke(“tue_es”)(4);
Generell hält sich die Sprache C# mit ganz wenigen sprachlichen Mitteln. Das ist aber nicht ihr Verdienst, sondern ihre Armut. Eine Sprache ist eine Infrastruktur, die zum Zweck der Textbildung zur Verfügung steht. Eine Sprache, bei der man so viel schreiben muss, wenn man so wenig schreiben könnte, wie im obigen Beispiel, ist wie ein Land ohne Autobahnen, in dem es nur Feldwege gibt. Sicher ist die Vereinfachung der Sprachen ein Desiderat. Doch nicht zu ungunsten ihrer Ausdruckskraft!
Kommentar hinterlassen