Ja! Ja! Ja! Das macht durchaus Sinn. Und ich mache es seit Jahren.
Offenlegung 1: Englisch ist nicht meine Muttersprache.
Offenlegung 2: Meine Kenntnisse der englischen Grammatik sind erheblich besser als die eines durchschnittlichen Muttersprachlers.
Offenlegung 3: Wenn es um die Kommunikation mit Menschen geht, bin ich ein vehementer Grammatik-Nazi.
Und jetzt, da diese Angaben nicht im Weg sind, möchte ich feststellen, dass die englische Grammatik keinen Platz im Code hat. Sie sehen, deshalb heißt es Code und nicht Prosa . Es soll eine gewisse Ähnlichkeit mit einer Sprache haben, die vom Menschen zum Zweck der Lesbarkeit verstanden wird, aber abgesehen davon brauchen wir vom Code meistens nicht die Eigenschaften der Prosa; Es sind andere, eher technische Eigenschaften wie Präzision , Eindeutigkeit und Knappheit . Deshalb ist die C - Syntax if( x != y ) y++;
ist viel besser, die IF X IS NOT EQUAL TO Y THEN ADD 1 TO Y END-IF.
Syntax von Cobol. Die angebliche Wünschbarkeit von Compilern, die natürliche Sprache verstehen, ist ein Trugschluss, und nehmen Sie nicht mein Wort dafür, sehen Sie, was ol'Edsger dazu zu sagen hat:Edsger W. Dijkstra, Über die Dummheit der "Programmierung natürlicher Sprache" .
Eine weitere wichtige Qualität ist die Berechenbarkeit von Bezeichnern . Die Tatsache, dass eine aufgerufene Eigenschaft Color
immer über eine aufgerufene Methode gelesen und über eine aufgerufene Methode getColor()
geschrieben werden kann, setColor()
ist von größter Bedeutung. Diese Kennungen können aus dem Namen der Eigenschaft berechnet werden, sodass Sie sie nicht auswendig müssen. Wenn ein Programmierer ein Methodenpaar wählen würde getColor()
, colorize()
das einerseits aufgerufen wird, andererseits aber , würden seine Kollegen diese Sabotage zu Recht in Betracht ziehen. So wichtig ist die Berechenbarkeit von Bezeichnern.
Außerdem können Programmierwerkzeuge geschrieben werden (und viele davon wurden tatsächlich geschrieben, z. B. Hibernate ), mit denen diese Namen berechnet werden können. Ohne Berechenbarkeit des Bezeichnernamens müssten Sie zusätzliche Syntax verwenden (z. B. im Ruhezustand zusätzliche Anmerkungen), um jedem Tool genau anzugeben, wie jeder einzelne Bezeichnername erstellt werden soll oder welchen Ad-hoc-Namen Sie jeder Entität genau gegeben haben.
Daher ist die Berechenbarkeit von Bezeichnern wichtig, während gleichzeitig die englische Grammatik irrelevant ist (da wir keine Programmierung in natürlicher Sprache durchführen), um den Namen einer Sammlung von Entitäten berechnen zu können, indem immer "s" an den Namen angehängt wird von einer einzelnen Instanz macht vollkommen Sinn, egal, dass es die Empfindlichkeiten der meisten Menschen (meine eingeschlossen) in englischer Sprache verletzt.
Und ob es uns gefällt oder nicht, das ist der Trend der Zukunft. Die Muttersprache der meisten Programmierer auf dem Planeten ist nicht mehr Englisch, und der Trend geht dahin, in dieser Richtung weiterhin sehr stark zu sein. (Außerdem wäre ich nicht einmal bereit, Geld auf den Vorschlag zu setzen, dass Englisch die Muttersprache der Mehrheit der Programmierer ist, die derzeit in den USA arbeiten.) Dies sind Personen, die zu einem großen Teil versuchen, den Namen zu berechnen einer Sammlung aus dem Namen einer einzelnen Instanz von "Unternehmen" wird einfach ein "s" anhängen, und die Form "Unternehmen" wird ihnen nicht einmal in den Sinn kommen. Für einen großen und ständig wachsenden Prozentsatz von Programmierern auf der Welt bedeutet die Kenntnis der Besonderheiten der englischen Sprache keinen Mehrwert für ihre Arbeit, sondern macht sie nur geringfügig schwieriger.