So, bin jetzt ohne Aufsicht und kann mir etwas mehr Zeit nehmen...
Also ich akzeptiere natürlich alle Argumente, sehe das aber immer noch etwas anders. Vielleicht kann ich das noch etwas genauer erklären...
1) 0-basiert
Wenn man in Listen Blöcke unterbringen will muss man natürlich mit 0 rechnen um zu einer bestimmten Position zu kommen.
Man kann zu dem Ergebnis aber dann auch problemlos 1 hinzu zählen, auf den tatsächlichen Eintrag zu kommen.
Dafür spart man sich das sonst immer wiederkehrende ... to List.Count - 1.
Ok, bei foreach ist das auch nicht mehr so interessant.
Letztlich ist es Geschmackssache.
Ich sehe es in dem Falle eher aus Beginner-Sicht. Wenn ein Schüler eine Liste mit 10 Einträgen durchlaufen soll wird er bei 1 anfangen.
2) Zuweisungen
Das ist schon etwas schwieriger.
Aber wenn man auch hier einem Schüler über die Schulter schauen würde, würde er sich mit einer "vermeintlichen" unterschiedlichen Handhabung anfänglich eher schwer tun.
Natürlich wird der Pointer kopiert aber es fühlt sich anders an (für mich jedenfalls
).
3) Strings + Bezeichner im Quelltext
Die Lokalisierung hatte ich da gar nicht im Fokus sondern einfach die Lesbarkeit des Quelltextes.
Der Quelltexteditor ist ja auch eine graphische Schnittstelle - halt für den Programmierer.
Im Sinne von WYSIWYG könnte doch der Codeeditor hier auch eine Roh- und eine formatierte Sicht auf den Code bieten.
Im Normalfall werden dann die Formatierungsdetails ausgeblendet und wenn man sie braucht zeigt man sie halt an und kann sie bearbeiten.
[EDIT] Ein Refactoring von FirstNamme in FirstName könnte die
IDE auch realisieren, wenn der Bezeichner in spitzen Klammern steht. Dazu muss halt sowohl der Editor als auch der Parser damit umgehen können.
Aus meiner Sicht wäre das eine klare Erleichterung der Arbeit.
... ok, zumindest weiß ich jetzt, dass ich keine Begeisterung ausgelöst habe.
@Bernd2015
Also es ging schon um Sprachkonstrukte in der Programmierung.
ALLE DENKBAREN Wünsche können in dem Thread hier nicht erfüllt werden.