Laden...

Wie findet man den Einstieg in C#?

Erstellt von PoWl vor 15 Jahren Letzter Beitrag vor 12 Jahren 13.914 Views
Information von herbivore vor 12 Jahren

Dies ist ein Thread, auf den aus der FAQ verwiesen wird. Bitte keine weitere Diskussion, sondern nur wichtige Ergänzungen und diese bitte knapp und präzise. Vielen Dank!

P
PoWl Themenstarter:in
219 Beiträge seit 2008
vor 15 Jahren
Wie findet man den Einstieg in C#?

Hi!

In allen Büchern wird irgendwie immer nur die reine Grundstruktur der Sprache C# vorgestellt aber recht wenig bis kein Bisschen darauf eingegangen, was man mit C# und .NET für Möglichkeiten hat.

Wo erfahr ich z.B. welche Möglichkeiten ich hab um irgendwelche Sounds abzuspielen, um die Serielle/Parallele Schnittstelle am PC zu benutzen, um mit Dateien und Verzeichnissen zu arbeiten, Zeit- und Datumsfunktionen, Grafikfunktionen usw..

muss man dazu wirklich die Referenz durchwühlen und sich irgendwelche geeigneten Funktionen rauspicken, deren gesamten Umfang man erst nach Tagen so richtig versteht?

Programmieranfänger werden da ja ziemlich ins kalte Wasser geworfen. Bin schon etwas frustriert dass ich noch 300 Seiten "Einstieg in Visual C# 2008" habe aber keine Aussicht darauf besteht, dass ich damit dann auch wirklich eine Anwendung programmieren kann, mit der ich auch was anstellen kann.

lg PoWl

5.742 Beiträge seit 2007
vor 15 Jahren

Hallo PoWl,

herzlich willkommen hier im Forum!

na ja - aller Anfang ist eben schwer.

Bin schon etwas frustriert dass ich noch 300 Seiten "Einstieg in Visual C# 2008" habe aber keine Aussicht darauf besteht, [...]
Sounds abzuspielen, um die Serielle/Parallele Schnittstelle am PC zu benutzen, um mit Dateien und Verzeichnissen zu arbeiten, Zeit- und Datumsfunktionen, Grafikfunktionen usw..

Dazu kann ich dir das Openbook "Visual C# 2008 - Das umfassende Handbuch" nahelegen. Ab ca. Kapitel 10 wird dort auch auf "spannende" Möglichkeiten von C# bzw. der .NET Klassenbibilothek.

Ansonsten kannst du natürlich gerne Fragen hier im Forum stellen, wenn es um ein konkretes Problem geht.
Empfehlenswert ist auch die Artikel und FAQ Sammlung - da finden sich viele interessante Einführungen.

//EDIT:
Da muss ich gerade wieder an meine ersten "Programmierversuche" in C# denken (damals hatte ich - wie du - auch erst die Basics einigermaßen verstanden):
Ich habe tatsächlich versucht eine Klasse "Converter" zu schreiben, die mir strings nach int und umgekehrt konvertiert. Der Code war übersäht von irgendwelchen switch/case; Modulo und sonstigen Konstruktionen. Und ich habe mich die ganze Zeit gefragt, ob ich denn der einzige sei, der vor diesem Problem steht.
Irgendwann bin ich dann in späteren Kapiteln in dem Buch, das ich las, auf die Convert Klasse und noch später hier im Forum auf die Int.TryParse bzw. [/i]Int.Parse[/i] Methoden gestoßen.
Was ich damit sagen will: Oft ist es sehr lehrreich, auch wirklich mal gezielt nach Klassen zu suchen, die das eigene Problem lösen oder einfach hier im Forum "herumzustöbern" - in manchen Threads trifft man dann auf Klassen oder Möglichkeiten, die einem bis vor Kurzem noch unbekannt waren.

1.200 Beiträge seit 2007
vor 15 Jahren

muss man dazu wirklich die Referenz durchwühlen und sich irgendwelche geeigneten Funktionen rauspicken, deren gesamten Umfang man erst nach Tagen so richtig versteht?

Ja, das ist so. Ob man Tage braucht um die MSDN zu verstehen ist wohl vom User anhängig.

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo PoWl,

muss man dazu wirklich die Referenz durchwühlen und sich irgendwelche geeigneten Funktionen rauspicken ...

das ist ein durchaus guter Weg, zumindest wenn du durch das Lesen eines Buches eine ungefähre Ahnung davon hast, was das Framework dir bietet.

... deren gesamten Umfang man erst nach Tagen so richtig versteht?

Nur Tage? Ich würde eher sagen, dass man den gesamten Umfang vermutlich nie ganz verstehen wird. Das ist allerdings auch nicht nötig. Siehe Anfänger und die MSDN-Doku - Ein Widerspruch?

Programmieranfänger werden da ja ziemlich ins kalte Wasser geworfen.

Das finde ich nun nicht. Es gibt viele gute Einsteiger-Bücher.

habe aber keine Aussicht darauf besteht, dass ich damit dann auch wirklich eine Anwendung programmieren kann, mit der ich auch was anstellen kann.

Da sind deine Erwartungen einfach viel zu hoch. Durch das Lesen eines Buches kannst du noch lange nicht programmieren und schon gar nicht sofort irgendwelche Anwendung schreiben.

Siehe auch: Sinnlose Fragen

Relativire deine Erwartungen, gehe Schritt für Schritt vor, schreibe viele kleine Progrämmchen und Funktionen, um dich nach und nach mit der Sprache und dem Framework vertraut zu machen, und du wirst letztendlich Erfolg haben.

Ansonsten kannst du natürlich gerne Fragen hier im Forum stellen, wenn es um ein konkretes Problem geht.

Klar, beachte dabei jedoch [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

herbivore

S
8.746 Beiträge seit 2005
vor 15 Jahren

muss man dazu wirklich die Referenz durchwühlen und sich irgendwelche geeigneten Funktionen rauspicken, deren gesamten Umfang man erst nach Tagen so richtig versteht?

Ich würde eher von Wochen bis Jahren ausgehen...

Programmieranfänger werden da ja ziemlich ins kalte Wasser geworfen.

Würdest du erwarten, dass du nach der Lektüre "Maschinenbau Semester 1" ein Auto bauen könntest. Oder nach einer Einführung in Architektur einen 100 stöckigen Wolkenkratzer?

Wenn du nicht bereit bist, Tausenden von Stunden in das Thema zu investieren, dann würde ich mir lieber ein anderes Betätigungsfeld suchen.

P
PoWl Themenstarter:in
219 Beiträge seit 2008
vor 15 Jahren

Danke für die Antworten!

Moment, die "Tage" bezogen sich auf eine einzelne Funktion, nicht das ganze Framework 😉

Mit Anwendungen meine ich jetzt nicht sowas MS Word / Adobe Photoshop-ähnliches. Ich habe auch niemals vor damit riesige und komplizierte Anwendungen zu schreiben. Vorwiegend möchte ich vielleicht ein paar kleinere Windoofanwendungen schreiben, so kleine nützliche Tools eben, und dann kleine Tools die mir die Kommunikation mit meinem Elektronikkram über die Serielle Schnittstelle am PC ermöglichen. Eventuell noch mit ein paar Grafikfunktionen.

Nun gut dann werde ich mich mal weiter durch die Literatur graben und mich dann mal mit der online referenz beschäftigen.

Das Problem ist halt, dass ich im Moment noch nicht so wirklich die Vorstellung hab, was so alles mit Programmierung überhaupt möglich ist. Ich kenn die Möglichkeiten und die Grenzen noch nicht so. Den genauen Aufbau von .NET kenne ich auch noch nicht. Ich weiß dass .NET eine Zwischenebene zwischen Programm und Betriebsystem darstellt und viele Dinge vom Betriebsystem aus für das Programm vereinheitlicht und vereinfacht und noch eigene Funktionen bereitstellt.

Wie sieht das eigentlich Anwendungsübergreifend aus? Wo bzw. wonach muss ich suchen wenn ich vor habe mir ein tool zu schreiben, mit dem ich andere Programme (z.B. die Musikplayer FooBar2000 & Winamp) fernsteuern möchte. Oder geht das nur bei bestimmten Programmen, die die Funktion der Fernsteuerbarkeit auch bereitstellen?

Über welche Wege können zwei Instanzen eines C# Programms miteinander kommunizieren?

lg PoWl

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo PoWl,

Wie sieht das eigentlich Anwendungsübergreifend aus? Wo bzw. wonach muss ich suchen wenn ich vor habe mir ein tool zu schreiben, mit dem ich andere Programme (z.B. die Musikplayer FooBar2000 & Winamp) fernsteuern möchte. Oder geht das nur bei bestimmten Programmen, die die Funktion der Fernsteuerbarkeit auch bereitstellen?

Über welche Wege können zwei Instanzen eines C# Programms miteinander kommunizieren?

da setzt du schon wieder zu weit oben an. Interprozesskommunikation ist ein Thema für sich und sicher keines der leichtesten. Mach da erstmal einen großen Bogen drum! Schraube deine Erwartungen runter. Wage dich wirklich erstmal an ganz einfach Sachen (also z.B. an die kleineren Sachen aus [FAQ] C# Projektvorschläge (Anfänger, Schüler, Praktikanten)).

Davon abgesehen sind Fragen zur Kommunikation von Anwendungen zu spezifisch für diesen Thread (siehe [Hinweis] Wie poste ich richtig? Punkt 1.2).

herbivore

Gelöschter Account
vor 15 Jahren

vielleicht tröstet es dich, das ich auch nach 2 jahren beruflicher arbeit mit .net und c# immernoch ab und zu auf klassen im framework stoße, die ich nciht kenne/kannte und die ich teilweise sogar selber (und meist schlechter) implementiert habe.

F
10.010 Beiträge seit 2004
vor 15 Jahren

Geht mir nach 7 Jahren .NET auch so.

630 Beiträge seit 2007
vor 15 Jahren

Hallo,

ich habe nach dem ich die Basics durch hatte den Objekt Browser aufgemacht und mir die Klassen angeschaut. Bei interessanten Namen habe ich mir die Beschreibung durchgelesen. Auch wenn ich mit vielem nichts anfangen konnte, in einer Späteren Phase erinnert man sich daran und es kommt ein "Acha, da war doch etwas"

Gruss
tscherno

To understand recursion you must first understand recursion

http://www.ilja-neumann.com
C# Gruppe bei last.fm

4.207 Beiträge seit 2003
vor 15 Jahren

Wo erfahr ich z.B. welche Möglichkeiten ich hab um irgendwelche Sounds abzuspielen, um die Serielle/Parallele Schnittstelle am PC zu benutzen, um mit Dateien und Verzeichnissen zu arbeiten, Zeit- und Datumsfunktionen, Grafikfunktionen usw..

muss man dazu wirklich die Referenz durchwühlen und sich irgendwelche geeigneten Funktionen rauspicken, deren gesamten Umfang man erst nach Tagen so richtig versteht?

Programmieranfänger werden da ja ziemlich ins kalte Wasser geworfen. Bin schon etwas frustriert dass ich noch 300 Seiten "Einstieg in Visual C# 2008" habe aber keine Aussicht darauf besteht, dass ich damit dann auch wirklich eine Anwendung programmieren kann, mit der ich auch was anstellen kann.

Verschaff Dir einen Überblick über die Namespaces, damit Du ein Gefühl dafür bekommst, was ungefähr da ist ... und dann überleg Dir, was Du machen willst. Wenn Du das weißt, und die Namespaces grob im Hinterkopf hast, ist das nicht so das Problem.

Ein Problem ist aber, wenn Du quasi erst mal wissen willst im Detail, was es alles gibt ... dafür ist .NET zu komplex, genauso wie es auch J2EE und Win32 wären ...

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de

43 Beiträge seit 2008
vor 15 Jahren

Hi,
ich fand einen sehr guten Einstieg mit dem "Kochbuch Visual C# 2005" mit vielen kleinen Programmen zu vielen Themengebieten schritt für Schritt erklärt.
Gruss
Simon

M
18 Beiträge seit 2008
vor 12 Jahren

Hi,

bitte nicht wundern, dass ich diesen Thread jetzt wieder hochhole... und das auch noch mit dem ersten Post, den ich hier im Forum überhaupt absetze.

Ich hoffe, ich löse jetzt keine Welle von RTFM aus, aber ich schwöre, ich habe gegoogelt, hier im Forum gestöbert, MSDN konsultiert usw. usw.

Ich fühle mich ebenso wie der Threadstarter von der Fülle der Klassenbibliothek erschlagen. Ich hole C# immer mal wieder vor, weil ich die Sprache einfach ... cool finde, aber die Fülle von Klassen, Methode usw. schreckt doch ab. Man steht wie vor einem Berg von Büchern. By the way: C#-Bücher habe ich mehrere. X(

Was ich nicht gefunden habe, ist eine _Struktur _der Klassenbibliothek. Ja, ich weiß, die Namespaces geben im Prinzip eine Strukur her, aber was ich mir quasi wünschen würde, wäre eine Art große Landkarte, wo man oben ganz allgemein anfängt und sich dann bis zu dem Objekt vorarbeiten kann, dass man eigentlich sucht, ohne es zu kennen.

In MSDN sind die ganzen Klassen alle alphabetisch aufgelistet. Die Hinweise sind sicher kurz und prägnant... und als Anfänger sage ich nur 'Ach so', ohne mit ihnen was anfangen zu können.

Gibt es denn da nur die Methode 'Durchwursteln'?

Verwirrte Grüße
Marz

1.552 Beiträge seit 2010
vor 12 Jahren

Hallo MarzAttak,
bezüglich Poster siehe: Suche Klassendiagramm aller .net Klassen als Poster und leider bewahrheiten sich deine Befürchtungen und muss dich auf :rtfm: Verweisen (zwar nicht RTFM, sondern ein nettes Icon 😁 )
Gruß

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

M
18 Beiträge seit 2008
vor 12 Jahren

Hi xxMuroxx,

danke für den Hinweis. Ich hab mir mal einen Link auf den Deep Zoom Composer gesetzt... und gemerkt, dass einen eine Posterübersicht wahrscheinlich auch nicht viel weiter bringt. Aber die Beiträge in dem Poster-Thread waren sehr erhellend.

Ich finde das bloß so frustrierend bzw. irre: Da hat man Objektorientierung eingeführt und Code wiederverwendbar zu machen (und ich finde das Konzept immer noch genial), aber dabei handelt man sich nach meinem Gefühl die gleichen Probleme ein, wie vorher.

Früher hast du prozedural Funktionen erstellt, die es in irgendwelchen Funktionssammlungen schon gab.

Jetzt erstellst du Klassen für Aufgaben, die durch bestehende Klassen in C# schon längst abgedeckt sind... wenn du sie nur kennen würdest.

Ok, ich bin nur ein kleiner Hobbyprogrammierer, der irgendwann einmal mit Basic auf einem Sinclair ZX 81 angefangen hat. Die Sprache spielt ihre Stärke sicherlich erst in größerem Rahmen aus. Für mich bleibt es momentan dabei: C# macht richtig Spaß, ist aber verwirrend. 🤔

Nun gut, irgendwann werde ich auch noch Delegaten, Linq, Schnittstellen und diese ganzen coolen Gimmicks verstehen. Wahrscheinlich, wenn sie durch diverse neue Paradigmen bereits wieder überholt sind 😁

Liebe Grüße
Marz

1.552 Beiträge seit 2010
vor 12 Jahren

Jetzt erstellst du Klassen für Aufgaben, die durch bestehende Klassen in C# schon längst abgedeckt sind... wenn du sie nur kennen würdest.

Durch die Suche in der MSDN Library kannst du die Stichwörter dessen eingeben was du machen willst. Dann wirst du sicherlich fündig. Und die Namespaces sind relativ logisch aufgebaut, denn wenn ich etwas mit Verschlüsselung suche werde ich im Namespace System.Security.Cryptography fündig.

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

5.742 Beiträge seit 2007
vor 12 Jahren

Da hat man Objektorientierung eingeführt und Code wiederverwendbar zu machen (und ich finde das Konzept immer noch genial), aber dabei handelt man sich nach meinem Gefühl die gleichen Probleme ein, wie vorher.

Den Anspruch erhebt die Objektorientierung ja auch nicht: "Wiederverwertbarkeit" im OO-Sinne heißt mehr, dass man existierende Klassen nochmals wiederverwenden kann, indem man sie anpasst oder in einem Kontext nutzt, der möglich ist, da z.B. gegen Interfaces programmiert wurde.
Somit ist und war das "Finden" existierenden Codes ein dauerndes Problem in unserer Branche 😉

Häufig hilft auch eine Google-Suche: Wenn man da dann nicht gleich das Passende findet, stößt man meistens auf Artikel, Blogeinträge oder sogar Libraries, die das schon irgendwie lösen. Auch wenn die Lösung dann vielleicht keine FCL-Klassen beinhaltet, ist sie meist noch komfortabler, als wenn man alles selber schreiben muss.
Mit der Zeit entwickelt man auch ein Gefühl dafür, was bereits im Framework "versteckt" sein könnte und was nicht.
Und wenn man irgendetwas entdeckt, aber keine Ahnung hat, wofür man es brauchen könnte, schadet es nicht, einfach mal danach zu googlen und nachzugucken, was eine bestimmte Klasse eigentlich soll. Manchmal merkt man dann Monate später, dass man genau das wieder zufällig braucht 🙂

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo MarzAttak,

siehe auch Anfänger und die MSDN-Doku - Ein Widerspruch?

Wie du siehst, ist im Forum wirklich schon alles besprochen, was einen als Anfänger beschäftigt. Auch hier ist die Herausforderung, sich die vorhandenen Informationen zugänglich zu machen. Es ist also kein spezielles Problem der OOP. Aber auch hier macht Übung den Meister.

herbivore

W
2 Beiträge seit 2011
vor 12 Jahren

Hallo.

Für den Umstieg von imperativer auf objektorientierte Programmierung haben mir die Videos von Prof. Dr. Jörn Loviscach ( http://www.j3l7h.de/ oder http://www.youtube.com/user/JoernLoviscach ) sehr geholfen. Insbesondere die ersten Paar vom Sommersemester 2011.
Ich wünschte, ich hätte den als Prof in Informatik damals...