C# Neues Grundlagentutorial

Funart

Lieutenant
Registriert
Feb. 2006
Beiträge
851
Wie bereits in einem anderen Thread angekündigt, geht das Grundlagen Tutorial in der Programmiersprache C# jetzt online.
Es handelt sich derzeit weitesgehend um allgemeine dinge, man könnte auch sagen, es handelt sich um das erlernen der Grundlagen anhand von C#.
Geschrieben ist es für Programmieranfänger, welche noch nie oder kaum programmiert haben.

Im Laufe der Zeit wird es erweitert, derzeit ist ein Kapitel ~ Erweiterte Grundlagen oder etwas mit ähnlichem Titel geplan.
In dem vorallem weitere Variablentypen, Konstruktur, Vererbung,... behandlet werden soll.
Geplant ist, dass Kapitel 3 in spätestens 2 Wochen online geht.
Es ist davon auszugehen, dass einige Tippfehler überlesen wurden, würde mich darüber freuen, wenn mir gefundene Tippfehler per PM oder Kontaktformular mitgeteilt werden würden, damit ich sie korrigieren kann.

Link zur Tutorial Seite: http://www.csharpme.de/

mfg Funart
 
Ein kleiner Fehler: Variablen dürfen sehr wohl auch mit einem Unterstrich (_) beginnen, auch wenn das nicht besonders "schön" ist.

Weiterhin bin ich der Meinung, dass zuerst abstrakte objektorientierte Beispiel sinnvoll wären, deine Meinung dazu hast du aber schon im anderen Thread deutlich gemacht, also lassen wir es darauf beruhen ;)
Zudem halte ich es für sinnvoll, auch wenn das am Anfang etwas viel sein mag, für hilfreich dem Lernenden sofort die richtigen Fachbegriffe beizubringen, insbesondere da diese spätestens bei Fehlern benötigt werden - sei es um die Compilerausgaben zu verstehen oder anderen, beispielsweise in einem Forum, den Fehler richtig und detailliert zu beschreiben um schnelle und vor allem zielführende Hilfe zu erhalten.
 
Zuletzt bearbeitet:
Hiho

Ich hab mir jetzt mal die erste Seite durchgelesen und den Rest etwas überflogen und ich muss sagen, es liest sich ganz gut und ist auch sehr übersichtlich!

Aber was mir sofort aufgefallen ist:

1)Es ist sehr viel fett gedruckt - zu viel für meinen Geschmack
Ich denke es wäre besser/übersichtlicher, wenn nur einzelne Worte fett gedruckt wären.
In deinem Tutorial sind wichtige, aber oft auch unwichtige DInge fett gedruckt, wodurch der Leser leicht den Überblick verliert, was er sich denn jetzt merken soll und was nicht.

2)Dein Text ist "schön" zu lesen - wenn da die Rechtschreibfehler nicht wären;)
Ich bin zwar kein Deutschexperte, aber da sind schon viele Fehler dabei, die mir sofort ins Auge gesprungen sind. Nicht nur Rechtschreibfeheler, sondern auch viele Zeichensetzungsfehler (insbesondere Kommas).

Es sind mir nicht nur Negativpunkte aufgefallen, sondern auch Positives:

1)Die Seite ist allgemein sehr übersichtlich und nicht zu überladen.
Aber statt dem Punkt "Allgemeines" im Menü, würde ich persönlich unter dem großen Banner noch einige Buttons anbringen (Home, Forum Kontakt, Impressum)

2)Das Syntaxhighlighting in den Codebeispielen ist echt gut!
Sieht genau aus wie im Visual Studio und macht den Code sehr übersichtlich

3)Es sind Screenshots mit eingebunden. Das macht es einem Anfänger auf jeden Fall leichter, sich am Anfang in der Entwicklungsumgebung zurechtzufinden.

4)Außerdem find ich es sehr gut, dass du am Ende der Seiten nicht einfach einen "weiter" oder "nächste Seite" Link gemacht hast, sondern schreibst, welcher Abschnitt als nächstes kommt. Aber es gibt leider keine Möglichkeit zum vorherigen Abschnitt zu springen.

Zum eigentlichen Tutorial bin ich eigentlich noch garnicht richtig gekommen, aber es ist jetzt einfach schon zu spät.
Ich hoffe mein Feedback hilft dir trotzdem, dein Tutorial noch weiter zu verbessern. :)

Wenn ich Zeit hatte Alles mal komplett durchzulesen, dann meld ich mich nochmal.

so long,
Grantig
 
Zuletzt bearbeitet:
Das noch einiges an Tippfehler drin ist, ist mir absolut klar.
Hatte zwar versucht leute aufzutreiben, die es korrekturlesen, da ich mich selbst nicht als Rechtschreibexperte ansehen. Das war allerdings nich von sehr viel erfolg.
Meine Rechtschreibexpertin konnte ich damit leider nicht belasten, da sie momentan sehr viel zu lernen hat.

Du kannst davon ausgehen, dass ich es selbst noch 2-3x durchlesen werden und in nächster Zeit einiges noch korrigiert wird.
Zum Thema Koma, da gibts vorallem ein Problem in der Oberstufe hatte ich einen Deutschlehrer der meinte, ich zitiere: "Beistriche sind egal"
Das führt zu dem Ergebnis.

Aber allgemein ist davon auszugehen, dass mir gemeldete Fehler schnell korrigiert werden.

Das mit dem Unterstrich wird umgehend korrigiert, dass wundert mich grad selbst. Dachte das hätte ich getestet, weil ich mir damals nicht 100% sicher war.
Was mir auch aufgefallen ist, dass das Deutsche Visual C# auch Umlaute akzeptiert, werd das jedoch so lassen. Denn ich geh davon aus das es im Englischen zu einem Fehler führen würde.
Falls das wer testen kann, bitte mir melden.

Zu Fett gedrucktem, ich werd es anschauen ob es reduzierbar ist.
Allgemein hat das ganze zwei Gründe:
1.
Hervorheben von wichtigen dingen (wobei ich nicht jedes 2. wort fett machen wollte da wurden bindewörter mitgenommen)
2.
Motivieren zum lesen. Wenn es nur blanker Text wäre würden es nicht gut aussehen.
Dem einen oder anderen wird es schon aufgefallen sein, dass es nicht sehr motivierend ist einen langen Text zu lesen. Fett(+kursiv) gibt einem das Gefühl, dass sich in dem Text etwas "spannendes" befinden könnte.

Derzeit läuft die Überlegung die Menügruppe allgemeines, nach oben zu verschieben wenn man sich nicht im Tutorial befindet.
Zurück müsste ich mir überlegen, dafür ist eigentlich das Menü gedacht aber mal schauen vielleicht füg ich es noch ein.

mfg Funart
 
Zuletzt bearbeitet:
Umlaute gehen auch in der englischen Version.
Abgesehen davon, dass die eh immer gleich sind(?)
 
Der Abschnitt "Wie kommt man zu einer wahren Aussage?" sollte nochmal betrachtet werden. Ist mir jetzt beim überfliegen schon sehr krass Aufgefallen. Stichwort "Zeichenkette"
 
Wennst mir einen besseren Begriff als Zeichenkette nenne kannst, editier ich das gerne.
Mir is nur nix anders eingefallen *gg*
Jedenfalls nicht in allgemein gebräuchlichem Wortschatz.
Im nächsten Abschnitt wird dann der Begriff Vergleichoperatoren eingeführt.
An sich war es Absicht, normale Wörter anfangs zu verwenden und erst nach und nach durch richtige Begriffe zu ersetzten.

Wegen den Umlauten steck ich grad in eine Zwickmühle, ich will niemanden beibringen Variablennamen mit Umlauten zu verwenden, allerdings auch keine Falschinformation liefern.
Dahingehend kommt vermutlich noch eine kleine Änderung.
 
Was spricht dagegen Umlaute zu verwenden?
Entweder man benutzt deutsche Namen, dann spricht nichts dagegen Umlaute zu benutzen, da sie ja unterstützt werden und es leichter lesbar ist als ae, oe, ue.
Oder man hat englische oder andere Namen, dann hat man sowieso keine Umlaute.
Sätze wie "Das erstellen eines Projektes ist nicht sonderlich kompliziert." u.ä. finde ich übrigens überflüssig. Bietet keinerlei Information.

Übrigens, schon der erste Satz, "Zweck dieser [der Entwicklungsumgebung] ist es, den geschriebenen Programmcode(Text), in für Computer ausführbaren Code umzuwandeln." ist so nicht korrekt.
Denn diese Aufgabe übernimmt der Compiler. Eine Entwicklungsumgebung ist in meinen Augen eine Sammlung von Werkzeugen zur Entwicklung von Software, das Umwandeln von Quellcode in Maschienencode ist ein Teil davon. Wobei das bei C# letztendlich ja sogar erst die Runtime im .Net FW macht.
Nicht dass das besonders schlimm wäre, aber es macht einfach keinen guten Eindruck wenn man als etwas erfahrenerer Anwender solch einen Satz liest.

Und dann noch einige Rechtschreibfehler und, in eckigen Klammern, Vorschläge (keine Garantie auf Richtigkeit, nur was mir ins Auge gesprungen ist, oder ich schöner fände):
Bevor wir uns dem eigentlichen Tutorial widmen, benötigen wir einen Entwicklungsumgebung. Zweck dieser ist es, den geschriebenen Programmcode (Text), in für Computer ausführbaren Code umzuwandeln. Dieses Tutorial basiert auf Microsoft Visual C# 2008 Express Edition, welche kostenlos verfügbar ist. Es gibt auch einige andere, teils als Open Source verfügbare, Entwicklungsumgebungen. Ein Beispiel hierfür ist SharpDevelop.

Microsoft Visual C# 2008 Express Edition
Die Entwicklungsumgebung kann auf folgender Seite kostenlos geladen werden: >Downloadseite<[Link] Die Installation sollte kein Problem darstellen, kann jedoch eine gewisse Zeit in Anspruch nehmen, denn mit der Entwicklungsumgebung wird das .NET Framework von Microsoft mit installiert. Beim .NET Framework handelt es sich um ein Baukastensystem, welches das Programmieren erleichtern soll. Beispiel: Es ist einfacher, einen Schrank aus schon vorgefertigten Bretter, zusammenzusetzent, als wenn zuvor erst die Bretter hergestellt werden müssten. Programme, welche mittels C# geschrieben werden, benötigen zur Ausführung das .NET Framework. Es lässt sich allerdings auch getrennt von der Entwicklungsumgebung laden und installieren.

Ein Projekt erstellen
Nachdem die Entwicklungsumgebung installiert wurde, folgt eine kurze Einweisung über die zu anfangs [oder: "anfänglich"] benötigten Funktionen. Nachdem Visual C# Express gestartet wurde, erstellen wir ein neues Projekt. Ein Projekt fasst, einfach ausgedrückt, sämtlich Elemente, die für ein Programm benötigt werden [oder: "sämtliche für ein Programm benötigte Elemente"] zusammen. ([z.B. ]Programmcode, Bilder, etc...)

Projekt erstellen, schritt für schritt
Das erstellen eines Projektes [afaik, nicht sicher] ist nicht sonderlich kompliziert. Zuerst erfolgt ein Klick auf den Menüpunkt Datei. Danach wählt man in dem sich öffnenden Menü Neues Projekt Jetzt sollte sich ein Fenster öffnen. In diesem Fenster wählen wir eine Konsolenanwendung aus. Anschließend geben wir dem Projekt noch einen Namen. Auf dem folgenden Bild wurde Projekt1 als Projektnamen gewählt. Es steht jedem frei selbst einen anderen Projektnamen zu vergeben. Gespeichert werden Projekte, wenn nicht anders vorgegeben, in den Eigenen Dateien / Dokumente im Ordner "Visual Studio 2008/Projects/Projectname" (jedoch erst nach gesondertem Speichern [doppelt]). Nachdem die Auswahl mit Ok bestätigt wurde, befindet man sich in der Entwicklungsumgebung selbst.

Oberfläche der Entwicklungsumgebung
Es sollte nun in etwa wie auf folgendem Bild aussehen. In dem Fenster in der Mitte befindet sich der Quellcode. An diesem Ort, werden wir uns in nächster Zeit am häufigsten aufhalten.

Für den Anfang, wird diese, eine automatisch erstellte, Datei "Program.cs" ausreichen. [oder: "wird die automatisch erstellte Datei"] Im späteren Verlauf, werden wir im Projektmappen - Explorer , welcher sich rechts befindet, weitere Dateien erstellen und zum Projekt hinzufügen. In der zweiten Menüzeile, versteckt sich die Kernfunktion der Entwicklungsumgebung. Es handelt sich um einen Button zum Ausführen des geschriebenen Quellcodes und ist dargestellt durch einen grünen Pfeil. Es empfiehlt sich, zum Ausführen des Quellcodes die Kurztaste F5 zu verwenden. Das Speichern und Öffnen von Projekten, verhält sich weitestgehend wie in Word und anderen Programmen und erfolgt über die entsprechenden Untermenüpunkte von Datei.

Konsole & Ausführen
Bevor wir uns nun den ersten Zeilen Quellcode widmen, ein paar Worte zum Thema Konsole / Konsolenanwendungen. Einfach gesagt, handelt es sich bei den sogenannten Konsolenanwendungen, um Programme, die in einem kleinen schwarzen Fenster ausgeführt werden. (unteres Bild) Wer schon etwas mehr mit einem Computer zu tun hatte, kennt ein solches Fenster unter dem Namen Eingabeaufforderung. Wir brauchen uns hier nicht darum zu kümmern, um was es sich genau handelt, allerdings erfolgt die [Ausführung der] Ein und Ausgabe von solchen Programmen [oder: "solcher Programme"], in solch einem Fenster [oder: "in diesem Fenster" (Vermeidung der Wiederholung)].

Der [oder: "Ein"] Vorteil der [oder: "einer"] Konsolenanwendung [oder: "von Konsolenanwendungen"] ist, der leichtere Einstieg, da man sich nicht um die Oberfläche des ausführenden ausgeführten Programms kümmern muss. Daher kann sich ein Programmieranfänger, auf das Erlernen der Grundlagen konzentrieren.
[würde ich nur als einen Vorteil darstellen, da es ja auch im professionellen Bereich Anwendungen für Konsolenbasierte Programme gibt]
zu entfernen
hinzugefügt
 
Zuletzt bearbeitet:
Ich fand es nur sehr unglücklich hier bei "==" und "=!" von Zeichenketten zu sprechen um damit "Strings" zu vergleichen?!
 
http://msdn.microsoft.com/en-us/library/cc165449.aspx schrieb:
When you compare strings, you should use the methods that explicitly specify what kind of comparison you intend to perform. This makes your code much more maintainable and readable. Whenever possible, use the overloads of the methods of the System.String and System.Array classes that take a StringComparison enumeration parameter, so that you can specify which type of comparison to perform. It is best to avoid using the == and != operators when you compare strings. Also, avoid using the String.CompareTo instance methods because none of the overloads takes a StringComparison.

Das solltest du berücksichtigen! Strings sollte man wirklich nie mit == bzw != vergleichen.
 
Erst mal danke für die Fehler Backslash, denk hab sie alle korrigiert. Bei ein paar greif ich mir wie immer selbst aufs hirn. Ich überles das einfach grml. Wobei ich einen Teil heut leicht umgeschrieben hab und vergessen hab was anderes dann anzupassen.
Teils deine Vorschläge übernommen teils auch nicht.
Mit dem (jedoch erst nach gesondertem speichern) will ich ausdrücken, dass es nach dem Erstellen des Projektes gesondert gespeichert werden muss.
Werd mir aber wohl eine bessere Formulierung dazu einfallen lassen.
Bei 2005 war es noch nicht so, erst seit 2008 werden die Datein zuvor in einem Temporären Ordner gespeichert.
Mir is klar das Visual C# eine Entwicklungsumgebung ist, deswegen heißt der Abschnitt auch so.
Der Einfachkeit halber wird die Stelle so bleiben.

Zu dem Einwand zu == stimm ich zu, ist mir auch bewusst.
Ist grenzwertig es erstmal so zu erklären.
Will das jetzt nicht verteidigen, dazu ist es gekommen weil ich zu diesem Zeitpunkt möglichst wenig Methoden verwenden wollte.
Die einführung von equals ist für das nächste Kapitel geplant.

mfg Funart
 
Zurück
Oben