{"id":2091,"date":"2010-03-10T17:26:04","date_gmt":"2010-03-10T16:26:04","guid":{"rendered":"https:\/\/acureus.com\/?p=2091"},"modified":"2012-07-12T15:03:15","modified_gmt":"2012-07-12T14:03:15","slug":"kurzreview-c-anfangen-anwenden-verstehen-von-frank-eller","status":"publish","type":"post","link":"https:\/\/blog.acureus.com\/?p=2091","title":{"rendered":"Kurzreview &#8222;C# Anfangen Anwenden Verstehen&#8220; von Frank Eller"},"content":{"rendered":"<p>Kurzversion: Frank Ellers Buch &#8222;C# Anfangen Anwenden Verstehen&#8220; ist <strong>TOTALER M\u00dcLL<\/strong>. Wer ernsthaft C# lernen will: entweder Online-Tutorials lesen, dann Jon Skeet oder von Anfang an ein brauchbares Einf\u00fchrungsbuch von einem ernsthaften Autor. Der Rest dieses Artikels flamed nur ein Bisschen, um die Spitze des Eisberges der H\u00e4sslichkeit von Frank Ellers Buch aufzuzeigen.<\/p>\n<p><!--more--><\/p>\n<p>Nachdem ich eine Weile &#8222;C# in depth covering C# 2 and 3&#8220;\u00a0 von Jon Skeet gelesen hatte, wurde mir klar, dass mir ein paar Grundlagen von C# fehlen. Details, die nicht immer auffallen, aber doch zu wichtig sind, um sie auszulassen. Chikari war so freundlich, mir ein Einf\u00fchrungsbuch auszuleihen, das bei ihm herumlag. Dies war besagtes &#8222;Werk&#8220; von Frank Eller.<\/p>\n<p>Was gleich auff\u00e4llt: das Buch ist syntaktisch veraltet. Das hat mich nicht gest\u00f6rt, ich wollte ja explizit C# 1 lernen. Was etwas sp\u00e4ter auff\u00e4llt: die Beispiele sind hingeklatscht. Anders kann man es nicht nennen; eine Reduktion auf das Wesentliche oder Gedanken \u00fcber die didaktische Darstellung sind nicht erkennbar. Nur ein Beispiel von vielen: vor Codebeispielen h\u00e4ngen praktisch immer drei Zeilen Kommentar, die nur dem Zweck dienen, das Programm auf der Mitgelieferten CD auffindbar zu machen. Was aber viel schlimmer ist: es steht unglaublich viel hohles Gelaber im Flie\u00dftext. Oftmals lese ich zwei Seiten, nur um dann die entscheidende Zeile zu finden, die viel Text davor vollkommen \u00fcberfl\u00fcssig macht. Und das passiert auch nur, falls gl\u00fccklicherweise so eine Zeile existiert. Ansonsten muss ich mich durch den Labertext bei\u00dfen, und herausfinden, was die eigentliche Aussage ist.<\/p>\n<p>Richtig \u00fcbel wird es allerdings inhaltlich. Switch-case funktioniert nur mit Konstanten? Wird nicht erw\u00e4hnt. &amp;&amp; und || Operatoren sind short-circuiting; der 2. Teil wird nur bei Bedarf ausgewertet? Steht nicht dabei, da steht nur sowas wie &#8222;und-Verkn\u00fcpfung: Beide Bedingungen m\u00fcssen wahr sein&#8220;. WELL, NO SHIT SHERLOCK!<\/p>\n<p>Das geht st\u00e4ndig so weiter. Frank Eller hat wirklich einen Sondertitel f\u00fcr Inkompetenz verdient; er bringt zB folgendes fertig: zuerst erkl\u00e4rt er lang und breit, dass .NET mehrere Sprachen unterst\u00fctzt. Dann nennt er die Funktion, Schl\u00fcsselw\u00f6rter als Bezeichner einsetzen zu k\u00f6nnen &#8222;unn\u00f6tig&#8220;. Siehe <a href=\"https:\/\/acureus.com\/?p=2017\">Flips Blogeintag<\/a>: Verschiedene Sprachen haben verschiedene Schl\u00fcsselw\u00f6rter; die Funktion ist unabdingbar, falls ein Bezeichner aus Code einer anderen Sprache ein Schl\u00fcsselwort in der eigenen Sprache ist!<\/p>\n<p>Bevor ich endg\u00fcltig ausraste, schlie\u00dfe ich die Beispiele mit einem Zitat: &#8222;Waren mit 8 Bit noch 2^7 Zeichen (= 255 Zeichen) darstellbar, sind es jetzt 2^15 Zeichen (=65535 Zeichen). Diese Anzahl gen\u00fcgt, um alle Sprachen dieser Welt und noch einige Sonderzeichen unterzubringen.&#8220;<\/p>\n<p>Ein Tipp: meiner Meinung nach enthalten die 2 S\u00e4tze 7 Fehler. Gut, 3 davon sind Wiederholungsfehler. 8 Bit *k\u00f6nnen* 2^8 Zeichen darstellen; die -1 ist bei der Theoretischen Betrachtung unsinnig, und selbst wenn das beides nicht so w\u00e4re, ist 2^7 weder 255, noch 256, sondern 128. Analoges gilt f\u00fcr die andere Rechnung, und der zweite Satz <a title=\"Unicode\" href=\"http:\/\/en.wikipedia.org\/wiki\/Unicode\">ist v\u00f6llig falsch, denn Unicode enth\u00e4lt bereits \u00fcber 100000 Symbole<\/a>.<\/p>\n<p>So, ich habe keine Lust mehr, im M\u00fcll zu w\u00fchlen. Aber glaubt mir, das ist nur die Spitze des Eisberges, in wenigen Minuten zusammengeschrieben. Finster, wollen wir das Buch verbrennen, damit es keinen Schaden mehr anrichten kann?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kurzversion: Frank Ellers Buch &#8222;C# Anfangen Anwenden Verstehen&#8220; ist TOTALER M\u00dcLL. Wer ernsthaft C# lernen will: entweder Online-Tutorials lesen, dann Jon Skeet oder von Anfang an ein brauchbares Einf\u00fchrungsbuch von einem ernsthaften Autor. Der Rest dieses Artikels flamed nur ein Bisschen, um die Spitze des Eisberges der H\u00e4sslichkeit von Frank Ellers Buch aufzuzeigen.<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2091","post","type-post","status-publish","format-standard","hentry","category-allgemeines"],"_links":{"self":[{"href":"https:\/\/blog.acureus.com\/index.php?rest_route=\/wp\/v2\/posts\/2091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.acureus.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.acureus.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.acureus.com\/index.php?rest_route=\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.acureus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2091"}],"version-history":[{"count":7,"href":"https:\/\/blog.acureus.com\/index.php?rest_route=\/wp\/v2\/posts\/2091\/revisions"}],"predecessor-version":[{"id":2093,"href":"https:\/\/blog.acureus.com\/index.php?rest_route=\/wp\/v2\/posts\/2091\/revisions\/2093"}],"wp:attachment":[{"href":"https:\/\/blog.acureus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.acureus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.acureus.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}