C# Programmierung

Ich glaube, so langsam sollte ich meinen Blog umbenennen. Angelehnt an die Beiträge in der „heute show“ könnte ich meinen Blog auch „Marcs Logbuch der Bekloppten und Bescheuerten“ nennen…

Aktuell lese ich grad das Openbook von Galileo zum Thema „C# 2012“. Das Buch ist sehr gut und gerade in Anbetracht der Kosten von 0.00€ absolut sein Geld wert ^^

Was mir aber an der Sprache C# schon mal aufstösst (es handelt sich bisher um Schwachsinn, der aus den Vorgängersprachen C/C++ übernommen wurde):

  • Bei den Variablen und Befehlen wird zwischen Groß- und Kleinschreibung unterschieden. Das ist auch sinnvoll, denn wer hatte nicht schon mal das unbedingte Bedürfnis, zur Erhöhung der Übersichtlichkeit endlich mal seinen Variablen die Namen „Nachname, NachName, NACHNAME und nachname“ zu geben und in allen vier Variablen unterschiedliche Werte speichern zu können?
  • Bei der Interpretation der Anweisungen werden Zahlen vom Compiler erstmal als Zwischenergebnis wahlweise als Integer(Int32) oder Fliesskommazahl (Double) interpretiert und anschliessend erst in der Zielvariable gespeichert, wie uns das Kapitel 2.3.5 verrät.
    Das führt nun dazu, dass ein „float zahl = 0.123;“ nicht funktioniert. Neineinein, da kommt der Compiler nicht auf die Idee, das Ding direkt als float zu interpretieren sondern wandelt die Zahl munter in den Datentyp double um und heult dann rum, dass er aber keinen double-wert in einen float packen kann, weil double ja größere Zahlen enthalten kann.
    Lösung: „float zahl = 0.123F„, denn dann und nur dann kommt auch der Compiler auf die Idee, dass man in einer Float-Variable womöglich einen float-Wert speichern will.
  • auch sehr schön: konsequenterweise ist das Ergebnis von „double value = 3/4;“ nicht 0.75 sondern 0. Warum? Weil der Hornochse „3“ und „4“ als Integer erkennt, also hat das Ergebnis gefälligst auch ein Integer zu sein. Um dem Compiler hier auf die Sprünge zu helfen, muss man „3.0/4;“ oder „(double) 3/4;“ schreiben. Interessanterweise können anständige Programmiersprachen wie Delphi, VB und AutoIt sowas problemlos.

werde mal weiterlesen, ich bin gespannt, was mich noch hirnrissiges an dieser Sprache erwartet.