Mittwoch, 21. April 2010

Masematte und C#

Vor nunmehr fast fünf Monaten wurde unsere kleine Tochter geboren. Gerade am Anfang war es schwer, ihre Bedürfnisse zu erkennen. Sie hat nicht oft geweint, aber manchmal standen wir vor ihr und wussten nicht: hat sie nun Bauchschmerzen, oder Hunger oder beides? Das Problem war nämlich: sie kann nicht sprechen (und kann es im Übrigen immer noch nicht). Hätte sie sprechen können, hätte sie vielleicht gesagt: „Ihr tragt mich jetzt schon seit drei Stunden in diesem beklopptem Fliegergriff durch die Gegend. Ja, ich hatte Bauchschmerzen aber jetzt will ich einfach nur schlafen und das kann ich nicht, wenn ihr mich hier rumschleppt. Im Übrigen nervt es mich gewaltig, das neunzigste Mal „Guten Abend, gute Nacht zu hören“. Seit wenigstens bitte still. Danke.“

Sprache ist wunderbar, weil uns jemand anderes verständlich machen kann, was er meint. Manchmal ist Sprache aber auch ausgrenzend: wir wohnen in Dänemark und es ist, nicht nur wegen der kühlen, nordischen Mentalität sondern auch wegen der Sprache, schwer Anschluss zu finden.
In der Fahrradstadt Münster wird der durchaus wichtige Hinweis: Vorsicht, Fahrrad! Zu Vorsicht: Leeze! „refactored“. Wenn Sie jetzt kein Masematte kennen, und sich wundernd am „Küls“ kratzen, was denn nun Leeze heißt, kann es sein, dass Sie auf den „Zinken“ fallen. Wenn Sie nun mit blutender Nase dem Münsteraner entgegenhalten, er könne ja schwerlich davon ausgehen, dass alle Masematte sprechen, dann haben Sie Recht und der Münsteraner sollte seine wohl gemeinten Sprachgeflogenheiten kritisch reflektieren.

So ähnlich – nein genauso verhält es sich auch mit Sprachgepflogenheiten bei der Verwendung von Programmiersprachen. Ein wichtiger (wenn nicht gar der wichtigste) Aspekt beim Entwickeln sollte sein, dass das, was da geschrieben wird, für andere auch verständlich ist. Denn schließlich ist das, was da geschrieben ist nicht nur eine Form der Maschine beizubringen, was es zu tun hat, es ist auch Dokumentation dessen was es auszudrücken zu bezwecken sucht. Programmcode ist die beste Dokumentationsform die es gibt, denn sie lügt niemals und sie wird automatisch gepflegt, wenn das Programm geändert wird.

Wenn Sie also Programmcode schreiben, dann behalten Sie im Hinterkopf, dass andere Entwickler dieses irgendwann einmal lesen und verstehen wollen. Ich halte es für guten Stil, den benutzen Sprachumfang auf das Notwendigste und Allgemeingültigste zu reduzieren. Vermeiden Sie es, sprachliche „Geheimkonstrukte“ zu verwenden, nur weil Sie meinen, es sehe geringfügig besser aus oder weil Sie (wie vielleicht unser Münsteraner) es sexy finden.

Ich befinde mich mit meiner Meinung im Gegensatz zu dem hier vorgestelltem: http://ralfw.blogspot.com/2010/04/gemeine-kenntnislucken.html
Lamda Ausdrücke zu verwenden mag sinnvoll sein, aber aus meiner Sicht nur dann, wenn es funktional angezeigt ist oder wenn die einen zu Verfügung stehenden Sprachmittel nicht ausreichen. Andernfalls grenzen Sie per se diejenigen aus, die nicht so firm und virtuos mit den neuen Featuren sind.
Man kann natürlich sagen: Das interessiert mich nicht, sollen die’s doch lernen. Das ist immerhin eine Haltung, nett ist es aber nicht, wenn man ohne Not riskiert, dass sich andere einen blutigen Zinken holen.