Du kannst in jeder Sprache alles machen. ... Fremdsprachen sind wichtig, aber wir müssen jetzt wirklich nicht so tun, als könnte man alles schöne/interessante nur mit anderen Sprachen erreichen.
Was anderes hab ich auch nie behauptet (wobei ich deutlich besser formulieren hätte können

- "klingt" war eigentlich nicht konkret auf den Klang bezogen, sondern auf die Konstruktion mittels Deutsch... ich schreibs ja jetzt sowieso in aller Ausführlichkeit). Natürlich, solang man nur Wörter austauschen muss ist es relativ egal welche Sprache man nun benutzt. Aber das ist eben nicht alles. Die Befehlswörter von Teuton sind allerdings nicht die besten. "zurück" für return? Das ist nicht die eigentliche Aussage. "Rückgabe" wäre besser gewesen. raise -> behandle? yield -> ergibt? usw. Deswegen fand ich es suboptimal.
Der Rest meiner Aussage weniger auf die speziellen Befehlswörter von Teuton denn auf das Programmieren mit einer Sprache allgemein, nicht auf die speziellen Wortersetzungen von Teuton.
Wenn ich mit einem Objekt agiere, tue ich das nur über seine Attribute. Dennoch muss ich die Attribute logisch einordnen können, deswegen muss ich ihnen Namen geben, genau wie dem Objekt selbst auch. Ein Attribut ist wieder selbst ein Objekt, aber jedes Objekt kann man logisch in eine andere Kategorie stecken: Ist es eine Fähigkeit des Objektes? Ist es eine pure Information? Sind es abstraktere Konzepte, die sich nicht konkret auf eine Aufgabe beziehen und deswegen universell erkennbar sein müssen, entweder eine Nummer oder eine Gruppe von *gleichartigen* Objekten (-> Liste)? Oder ist eine Gruppierung andersartiger Objekte, die sich nicht verändert (-> Tupel als C-struct Äquivalent)?
Anhand dieser Kriterien muss ich die entsprechenden Objekte und ihre Relationen untereinander möglichst gut benennen. Bei gleichartigen Konzepten oder bei Verweis auf ein bestimmtes Konzept sollte das sofort und ohne Vernebelung am Namen allein ersichtlich sein, die Dokumentation sollte die entsprechenden Begriffe auch verwenden. Das funktioniert dann am besten, wenn ich genügend Wörter habe, die das Konzept direkt beschreiben, ohne das ich andauernd irgendwas der verwendeten natürlichen Sprache wegen irgendwie umbauen und / oder beschreiben muss.
Beispiel im re Modul: "Try to apply the pattern at the start of the string, returning a match object, or None if no match was found." ist die Dokumentation für re.match(). Wie übersetze ich das direkt ins Deutsche? "Versuche das Muster am Anfang der Zeichenkette anzuwenden, gebe ein Übereinstimmungsobjekt zurück - oder das Null Objekt, wenn keine Übereinstimmung gefunden wurde." Wie heißt dann die Funktion? Direkt übersetzt, "stimmt_überein" (oder "übereinstimmen", was sich aber dann noch weniger nach Methode anhört als das obige "ausführen" von sma (Inkonsistenz beginnt, zu erscheinen, sollte man eine Sprache mit mit diesen Konventionen für Standardnamen erstellen) und "übereinstimmung" fällt flach denn das könnte auch ein Datenattribut sein und Verwirrung stiften wäre schlecht). Das ist in der Form auch wieder unpassend. Nun könnte ich versuchen, dafür etwas besseres zu finden, während meine Match Klasse immer noch Übereinstimmung heißt (was ja recht gut passt). Aber was nehme ich anstatt? Ich könnte jetzt "stimmt_überein_mit" benutzen, und schon habe ich ein nettes Füllwort eingeführt, das nur aus dem Grund da ist, weil die Sprache es eigentlich verlangt. Es trägt gar nichts dazu bei, das Konzept auszudrücken. Und ich bin mir ziemlich sicher: je weiter man das treibt, desto inkonsistenter wird die Namensgebung. Also entweder versuchen irgendwie eine Regelung einzuführen, das dann irgendein heruntergeregeltes Deutsch ist, oder damit umgehen. Das war jetzt nicht das beste Beispiel, aber naja.
Englisch lässt sich mit weniger Aufwand zusammenbauen und man kann präziser formulieren. Speziell in der Programmierung, auch, aber nicht nur, der vielen Fachbegriffe wegen.
Ich halte Englisch nicht für überlegen oder Deutsch für dumpf; ich rede und schreibe sehr gerne in beiden Sprachen. Nur ist imho Englisch für diesen speziellen Zweck geeigneter. Und aufgrund der Präzision erlebe ich auch viele Diskussionen in englischen Foren (nicht nur Programmierungsforen) als eben das: präziser, auf den Punkt gebrachter.
@sma:
Ich lese deine (sehr lehrreichen) Beiträge immer sehr gerne, wird Zeit das ich mich mal dafür bedanke: Also, Danke!
