C# Suche ein Buch für C sharp

DasViereck

Cadet 3rd Year
Registriert
Aug. 2011
Beiträge
52
Hallo, ich habe zuerst das Buch C++ für Spieleprogrammierer von Heiko Kalista gekauft und durch gearbeitet. Jetzt möchte ich C# lernen und suche ein gutes Buch das auch viele Übungsaufgaben inklusive Lösungen dazu enthält.
Hab folgendes Buch im Auge: C# für IT Berufe von Dirk Hardy oder könntet ihr mir ein besseres empfehlen?

Vielen Dank, DasViereck

 
So wie ich es sehe, ist die letzte Auflage von 2018. Wäre mir persönlich zu alt für Programmiersprachen, die sich stetig weiter entwickeln. Ich würde vielleicht hiermit starten: https://learn.microsoft.com/de-de/dotnet/csharp/
Alternativ mal bei YouTube schauen, im beruflichen Kontext fielen da bei uns mal Namen wie Nick Chapsas oder SingletonSean (kann ich aber nicht verifizieren, wie gut die sind). Oder aber mal auf Udemy nach einem C#- Kurs suchen.
 
Danke, von diesen online Kursen weiss ich nicht so recht was ich halten soll :/ mir währe ein Buch lieber.
 
DasViereck schrieb:
Hallo, ich habe zuerst das Buch C++ für Spieleprogrammierer von Heiko Kalista gekauft und durch gearbeitet.
Was hast du dann mit C++ gemacht?
 
Wenn es ums Thema C# geht, ist die Online Vorlesung von Kenny Pflug ein überragender Kurs und einfach Gold.


Das Wissen ist ungemein viel Wert und auch allgemein für das Thema Softwareentwicklung enorm!
 
  • Gefällt mir
Reaktionen: oiisamiio
sh. schrieb:
Wenn es ums Thema C# geht, ist die Online Vorlesung von Kenny Pflug ein überragender Kurs und einfach Gold.
An sich sehr schön, auch wenn ich es jedesmal traurig finde wenn ein Einführungskurs mit Visual Studio beginnt. Da wird man gleich zum Anfang mir der langsamen und bedienunfreundlichen IDE konfrontiert...
 
Muss eine persönliche Feststellung sein, ich find die ziemlich gut und nützlich. Die braucht halt als Werkzeug eigentlich auch eine gute Einführung, daran mangelt es üblicherweise. Und wenn zB MS SQL Server als Datengrad genutzt wird, hat man damit direkt per SSDT seine Datenbank im versionierten Git Repo und kann es auch aus VS auf den Server pushen.

Nick Chapsas oder das C# in Depth dürften für Anfänger nix sein, das ist alles sehr tiefgehendes und Teils auch Spartenzeug was die behandeln. Da muss man schon mal vorher genug Erfahrung gesammelt haben bevor man sich um die unterschiedliche Speicherallokation von Listen oder Arrays kümmert.

Die üblichen Bücher kranken meiner Meinung nach daran, dass sie eigentlich immer unpraktisch sind. Bedeutet, alles wird immer als Consolenanwendung erklärt. Sowas hat man nie. Konzepte wie WCF kommen auch gern, sind aber praktisch ausgestorben. Wirklich eine Anwendung mit WPF oder Web APIs werden eigentlich nie behandelt. Ist auch schwierig, man muss da schon zwischen der Sprache selbst und deren Anwendung unterscheiden. Wenn man Webtechnologie machen will brauchts halt andere Dinge als wenn es Spiele mit Unity oder VSTO Office sein soll.

Deshalb sehe ich das mittlerweile eher so:
Willst du nur die Konzepte der Sprache selbst lernen, ist fast jedes Einsteigerbuch gut. Das kompakteste dazu wäre von O Reilly C# kurz und gut.
Ab dann hängt es davon ab wohin du willst.
  • VSTO/Office, gibt es praktisch nichts. Dieses Buch hab ich mal genutzt, de facto ist VSTO bei .net Framwork 4.8 stehen geblieben und wird auch nie portiert werden.
  • WPF Desktop werden MVVM und nützliche Frameworks wie Caliburn.Micro relevant. Dazu gibt es auch spezielle YT Kanäle die nur XAML und Co durchkauen. Das ist nicht mehr reines C#, gehört aber zum Ökosystem dieses Bereiches.
  • Web API, da fand ich die Jungs von Code-Maze ziemlich gut. Die haben diverse Artikel zu fast allem was man im Web-Alltag trifft, auch halbwegs aktuell auf .net5 oder 6. Zudem haben die regelmäßig "Code Maze Weekly" in denen viele Links zu nützlichen Themen zu finden sind. Da hab ich auch schon öfter was neues gelernt.
  • Spieleentwicklung hab ich keine Erfahrung damit
  • soll es später weiter gehen und Dinge wie Softwarearchitektur werden spannend, dann hat David Tielke nicht nur nette Videos dazu, sondern auch auf GitHub passende Repos die in C# gebaut wurden.
  • sonst auf YT ist noch Tim Corey ganz gut, der hat auch ganze Playlists zu so Dingen wie Web API und davor WPF als Client. Der nimmt dann auch zB mal Dapper um den SQL anzubinden anstatt Entity Framework
 
  • Gefällt mir
Reaktionen: sandreas
Mich wundert, dass es keinem hier auffällt, dass der TE ein Buch über C++ durchgearbeitet hat und jetzt mit einem Buch C# lernen will, anscheinend ohne jemals richtig mit C++ gearbeitet zu haben.

@DasViereck Du lernst nicht wirklich Programmieren, wenn du jetzt für alle möglichen Sprachen und/oder Frameworks Bücher oder Tutorials durcharbeitest. Wenn meine Vermutung stimmt, dass du nach dem Durcharbeiten des C++ Buches keine weiteren etwas größeren Projekte angegangen bist (machen leider viele Anfänger so), kannst du auch kein C++.
Dein Ziel sollte es sein, dir erstmal eine Sprache zu nehmen und damit zu arbeiten und eigene Projekte aufzuziehen. Wenn du dann in einer Sprache mal halbwegs sicher bist und mit dieser Projekte aufziehen kannst, wirst du auch relativ einfach in neue Sprachen und Technologien reinkommen, ohne erstmal ein Buch durchzuarbeiten.
Eine Sprache, mit der du halbwegs sicher eigene Projekte aufziehen kannst, ist viel wertvoller, als zu mehreren Sprachen Bücher durchgearbeitet zu haben.
 
  • Gefällt mir
Reaktionen: Oelepoeto und sandreas
morcego schrieb:
Bedeutet, alles wird immer als Consolenanwendung erklärt. Sowas hat man nie.
Mmh, dem würde ich nicht uneingeschränkt zustimmen. Mit C# moderne Cross-Platform-Kommandozeilenanwendungen zu schreiben, ist durchaus möglich und in einigen Fällen auch sinnvoll. Wobei natürlich die 0815-Beispiele in den Büchern oft Schrott sind.

morcego schrieb:
Wirklich eine Anwendung mit WPF
Auf WPF würde ich mein Lernvorhaben aber auch nur noch bedingt fokussieren wollen. Nicht das ich Xamarin oder MAUI für grafische Oberflächen empfehlen würde, aber WPF ist Windows Only und von 2006. Schlecht ist das zwar nicht - aber die Konzepte sind auch nicht mehr die neuesten. Falls man sich mit WPF ernsthaft befassen will, kann ich die Youtube Tutorials von SingletonSean (WPF MVVM Tutorial) empfehlen.
 
sandreas schrieb:
Mit C# moderne Cross-Platform-Kommandozeilenanwendungen zu schreiben, ist durchaus möglich und in einigen Fällen auch sinnvoll.
Macht man das oft? Ich würde denken das macht auch nur eine sehr übersichtliche Menge an Entwicklern. Windows Dienste werden auch so gebaut und dann registriert, klar. Aber auch da, eher nich so die Masse würd ich schätzen.

sandreas schrieb:
Auf WPF würde ich mein Lernvorhaben aber auch nur noch bedingt fokussieren wollen. Nicht das ich Xamarin oder MAUI für grafische Oberflächen empfehlen würde, aber WPF ist Windows Only und von 2006.
Das ist überhaupt nicht schlimm. Ist halt nicht gehyped. Vielleicht wenn MS es "KI based Blockchain Desktop UI System" nennt. Die Technik ist abgehangen, dafür sind aber auch genügend Wissen darüber vorhanden. Und wenn man Windows only als Zielgruppe hat ist es völlig OK. So Sachen wie Electron sind zwar voll fancy, aber auch aufgebläht. Das ist dann auch wieder nicht richtig und es wird geschimpft.
Nicht alles will oder muss in irgendeine Kubernetes Cloud scalable Infrastructure migriert werden. ;)
 
morcego schrieb:
Macht man das oft?
Ich mach das öfter... ob MAN das oft macht, weiß ich nicht, aber das Tooling ist gut. Habe einen Audio-Tagger in C# gebaut, vollständig cross-platform und als eine Monolitische Anwendung (eine Binary) deployed. Funktioniert prima auf Windows, macOS und Linux (sogar ARM Architektur).

morcego schrieb:
Das ist überhaupt nicht schlimm. Ist halt nicht gehyped.
Ich arbeite beruflich mit WPF und man merkt das Alter. Styling ist nicht wirklich gut nutzbar und man programmiert sehr lange für kleine Sachen. Da finde ich modernere Frameworks, wie Avalonia UI schon angenehmer zu entwickeln. Es fehlt eben die Verbreitung und die Libraries.

Ich würde für Cross-Platform vermutlich Flutter oder halt Java nehmen und für Windows-Only eher C++
 
Ich bin vielleicht nicht auf dem neuesten Stand, aber außer Visual Studio kenne ich nichts größeres von Microsoft, was in C# / WPF entwickelt wird / wurde. Gleiches gilt für MAUI. Die bauen immer Frameworks, die sie selbst nicht (oft) benutzen. Teams z.B. ist ein "Browser" Produkt (in JavaScript). Mir macht das kein gutes Gefühl. Aber hey, ich hab nicht sooo viel Ahnung von UI Programmierung.
 
Zurück
Oben