Unser Bücherregal ist ein C # -Programmierer. Was ist mit dir?

Hallo!

Zukünftige Studenten der Veeam Academy fragen uns oft nach Büchern, die bei der Vorbereitung auf unseren C # -Programmierkurs hilfreich sind. Wir empfehlen normalerweise mehrere Quellen und begleiten sie mit unseren Kommentaren, warum sie nützlich sein werden.

Die meisten Programmierbücher sind jedoch mehr als 1 KB lang und das Lesen von „Cover to Cover“ dauert mehr als einen Monat und möglicherweise sogar mehr als ein Jahr! Daher dienen alle unsere Empfehlungen für Bewerber der Veeam Academy nur als Richtlinie und nicht als verbindliche Anforderung.

Im Laufe der Zeit haben wir unsere Kommentare zu jeder Veröffentlichung zusammengefasst und schließlich eine Liste mit guten Büchern für das berufliche Wachstum eines C # -Programmierers erhalten.
Wir präsentieren unseren kurzen Überblick unter dem Schnitt.

Bild

Nachfolgend finden Sie eine Übersicht der folgenden Bücher:

  1. J. Richter. CLR über C #
  2. Stephen S. Skien. Algorithmen Entwicklungsleitfaden
  3. Joe Albahari. Threading in c #
  4. Itzik Ben-Gan. Microsoft SQL Server 2012. T-SQL-Grundlagen
  5. J. Skeet. C # für Profis. Die Feinheiten der Programmierung
  6. Joe Duffy. Gleichzeitige Programmierung unter Windows
  7. Eric Freeman et al. Head First. Entwurfsmuster
  8. Sergey Teplyakov. .NET-Entwurfsmuster

J. Richter. CLR über C #

Richter
Richter zu lesen ist wie die Wände eines Raumes in Weiß zu streichen. Ich habe es einmal gelesen - in einer Schicht gemalt. In diesem Fall reicht eine Schicht normalerweise nicht aus - die Farbe liegt nicht immer glatt und wird nicht so hell, wie wir es möchten -, daher ist es besser, sie mit einer anderen Schicht zu fixieren und im Laufe der Zeit einzelne Stellen zu tönen. Im Allgemeinen ist der Raum umso weißer, je mehr Schichten vorhanden sind!

Jedes Mal, wenn Sie Richter lesen, entdecken Sie etwas Neues. Und der Punkt ist nicht, dass aktualisierte Ausgaben dieses Buches in regelmäßigen Abständen erscheinen (was übrigens von seiner großen Beliebtheit spricht). Selbst wenn Sie dieselbe Version lesen, finden Sie aufgrund der Tiefe und Breite, mit der das Material präsentiert wird, interessante Orte.

Viele Leute nennen dieses Buch die "Bibel" und das "Alphabet" für C # -Programmierer. Es ist jedoch anzumerken, dass einer bestimmten Programmiersprache wenig Aufmerksamkeit geschenkt wird - der Schwerpunkt liegt auf der .Net-Plattform und den Grundprinzipien ihrer Funktionsweise.

Daher kann es immer noch nicht als C # -Lehrbuch betrachtet werden (im allgemein anerkannten Sinne für Anfänger), aber wir können sagen, dass dies ein erforderliches Buch für jeden professionellen .Net-Entwickler ist. Selbst wenn Sie gerade erst Ihre Karriere beginnen, hilft Ihnen Richter auf jeden Fall dabei, viele Fehler zu vermeiden und Programme effizienter zu schreiben, da Sie die Plattform besser verstehen.

Also, was ist drin:

Etwa 1.000 Seiten faszinierender Text über die interne Struktur der Common Language Runtime Environment (CLR) von Microsoft .NET Framework, in einfacher Sprache und auf freundliche Weise verfasst und von einem Programmierexperten, Jeffrey Richter, anerkannt.
Die Kapitel sind in verwandte Unterthemen unterteilt, können jedoch nicht nacheinander gelesen (und sogar benötigt) werden. Jedes Kapitel enthält Links zu anderen Kapiteln. Dies erleichtert das Lesen in Teilen und ermöglicht es Ihnen, nicht zu lange auf Themen zu sitzen, die jetzt besonders schwierig oder uninteressant erscheinen.

Auf den Seiten dieses Buches finden Sie auch Antworten auf die meisten Fragen, die sie gerne in C # - und .Net-Interviews stellen.

Für Fachleute mit Programmiererfahrung für die .Net-Plattform benötigt dieses Buch keine Werbung. Für Anfänger empfehlen wir dringend, die Bekanntschaft mit ihr nicht in einer langen Schachtel zu verschieben!


Stephen S. Skien. Algorithmen Entwicklungsleitfaden

Skiena
Wenn Sie bereits einen allgemeinen Universitätskurs in grundlegenden Algorithmen hinter sich haben und die wichtigsten Punkte in kurzer Zeit auffrischen müssen, dann ist dieses Buch eines der besten.

Dies ist kein Lehrbuch, sondern ein Leitfaden für die effektive Entwicklung von Algorithmen in der Praxis. Das Buch zeichnet sich durch eine sehr gute und leicht zugängliche Präsentation aus, es enthält zahlreiche Links zu moderner Literatur und nützliche Beispiele. Besonders lehrreich sind die Abschnitte in „Life Stories“, in denen der Autor erklärt, wie er geeignete Lösungen für die schwierigen Aufgaben finden kann, mit denen er in seiner Karriere konfrontiert war.

Das Buch besteht aus zwei Teilen. Im ersten Teil können Sie schnell die wichtigsten Punkte des Kurses zu Algorithmen (Komplexität, Arten von Datenstrukturen, Sortieren, Arbeiten mit Diagrammen, kombinatorische Suche, dynamische Programmierung usw.) abrufen. Hier erhalten Sie praktische Empfehlungen zur Entwicklung von Algorithmen.

Der zweite Teil ist ein Katalog von Strukturen und algorithmischen Problemen, die Ihnen helfen, eine Lösung für das Problem zu finden, auf das Sie bei der Arbeit gestoßen sind. Es werden viele Beispiele und nützliche Links bereitgestellt und vorhandene Softwareimplementierungen aufgelistet.

Bild

Joe Albahari. Threading in c #

Multithreading ist eines der schwierigsten Themen für moderne Entwickler, unabhängig von der gewählten Programmiersprache. Dieses Thema ist besonders wichtig, wenn Sie hoch geladene verteilte Systeme schreiben
Veeam Multithreading-Akademien widmen besondere Aufmerksamkeit.

Die Website von Joe Albahari ist ein guter Ort, um sich mit diesem Thema vertraut zu machen. Sie enthält strukturiertes Material aus den relevanten Kapiteln zum Thema Multithreading in der CLR-Umgebung aus seinem Buch.
C # auf den Punkt gebracht .

Hier finden Sie Beispiele für die Arbeit mit Streams: Start, Ende, Interrupt, Sperren, Synchronisation, Synchronisationskontexte usw. Außerdem werden .NET-Streaming-Funktionen (Thread-Pools, asynchrone Methoden), parallele LINQ-, SpinLock / SpinWait-Strukturen und vieles mehr erläutert.

Wenn Sie etwas tiefer graben möchten, empfehlen wir das Buch von Joe Duffy, dessen Übersicht unten aufgeführt ist.

Itzik Ben-Gan. Microsoft SQL Server 2012. T-SQL-Grundlagen

Ben-Gan
Dieses Buch über die Grundlagen von T-SQL ist sowohl für Anfänger als auch für erfahrene Entwickler nützlich, die mit dieser Sprache seit langem vertraut sind. Das Buch zeichnet sich durch eine einfache Darstellung aus. Neben grundlegenden SQL-Abfragen werden auch Tabellenausdrücke, Fensterfunktionen und andere Themen behandelt. Jedes Kapitel wird von einer Vielzahl von Beispielen und Übungen zur Konsolidierung des Materials begleitet.

Der Autor umgeht die Theorie nicht, überlastet die Präsentation jedoch nicht mit Theoremen und Beweisen.

Selbst nach vielen Jahren der Arbeit mit SQL werden Sie sicherlich etwas Neues für sich entdecken und Ihr Wissen auffrischen und organisieren können.

J. Skeet. C # für Profis. Die Feinheiten der Programmierung.

Sketch

Dieses Buch hat viele ausgezeichnete Rezensionen und es ist kein Zufall. Der Autor wählte einen ähnlichen Stil wie der Gründer der C ++ - Sprache Björn Straustrup in seiner Arbeit „Design und Evolution der C ++ - Sprache“. Dieses Buch beschreibt die Grundprinzipien der Erstellung und Entwicklung der C # -Sprache, zeigt ihre Entwicklung von Version zu Version und erklärt, warum der Sprache diese oder jene Gelegenheit gegeben wurde. All dies bildet letztendlich ein integrales Bild der Wahrnehmung der C # -Sprache. Das Buch enthält auch Ratschläge und praktische Erfahrungen des Autors. Die Feinheiten der Sprache werden anhand zahlreicher Beispiele offenbart. Dem Thema LINQ wird große Aufmerksamkeit geschenkt.

Die Arbeit von J. Skeet ähnelt überhaupt nicht Richters Buch, obwohl sie auch ausführlich über die Merkmale der internen Implementierung von C # geschrieben ist. Wir sehen, dass dieses Buch zusammen mit Richter ein hervorragendes Werkzeug für eine eingehende Untersuchung von C # und .NET Framework sein wird.

Eine der Bewertungen kann gelesen werden

hier .

Joe Duffy. Gleichzeitige Programmierung unter Windows

Duffy

Wenn Sie Joe Duffys Arbeit lesen, können Sie „kochen“, aber die Mühe lohnt sich. Dies ist eines der grundlegendsten Multithreading-Bücher unter Windows. Ein ernstes Thema, ein anständiges Volumen (mehr als 1000 Seiten) und ein tiefes Eintauchen in die Details des Multithreading auf niedriger Ebene sind möglicherweise nicht die einfachste Lektüre. Entwickler, die effizienten, fehlertoleranten und skalierbaren Code (sowohl verwaltet - verwaltet als auch nicht verwaltet - nativ) für Windows schreiben möchten, sollten jedoch nicht vorbeikommen.

Trotz der Tatsache, dass das Buch vor zehn Jahren veröffentlicht wurde, behandelt es fast alle Themen im Zusammenhang mit Multithreading: grundlegende Algorithmen und Synchronisationsprimitive, asynchrone Programmiermodelle in .NET, Speichermodelle, sperrenfrei und vieles mehr.

Das Buch kombiniert Theorie und Best Practices mit vielen Beispielen für die Verwendung der Win32- und .Net-API und enthält auch Beispiele für Algorithmen und Datenstrukturen, die Sie in Ihrem Code verwenden können.

Zusätzlich zum Multithreading wird das Buch von J. Duffy dazu beitragen, die Funktionsweise von Windows, CLR und .NET Framework besser zu verstehen und die Frage „Warum“ zu beantworten.

Hinweis: Die Task Parallel Library (TPL) wird hier nicht behandelt, da TPL zu diesem Zeitpunkt noch nicht freigegeben war. Für eine Einführung in TPL können Sie Stephen Cleary empfehlen.

Eric Freeman et al. Head First. Entwurfsmuster

Frimen

Wenn Sie noch nicht viel Erfahrung mit Entwurfsmustern haben, diese aber beheben und gleichzeitig Ihr Wissen in OOP festigen möchten, kann dieses Buch sehr nützlich sein. Es ist in einem eher ungewöhnlichen (obwohl traditionell für die Head First-Reihe von Büchern) Stil gehalten - es enthält eine große Anzahl von Bildern, Quests und informellen Beschreibungen, enthält eine große Anzahl von Beispielen, ist ohne Wasser geschrieben und sehr leicht zu lesen.
Gleichzeitig mit der Analyse der beliebtesten Muster und den entsprechenden UML-Diagrammen werden hier zusammen mit der Erzählung die Grundprinzipien von OOP erläutert.

Seien Sie nicht verwirrt, dass die Codebeispiele in Java sind. Alle von ihnen sind recht einfach, und selbst ein unerfahrener Entwickler kann sie leicht herausfinden. Dies ist nur dann der Fall, wenn C # -Entwickler es nützlich finden, sich das Java-Buch anzusehen.

Sergey Teplyakov. .NET-Entwurfsmuster

Teplyakov

Im Gegensatz zum Rest der in unserer Rezension enthaltenen Literatur wurde dieses Buch ursprünglich in russischer Sprache verfasst und weist daher keine Nachteile auf, die den meisten modernen Übersetzungen aus dem Englischen inhärent sind. Die Vorteile enden jedoch nicht hier.

Das Buch wurde von einem C # -Entwickler für C # -Entwickler geschrieben, was bedeutet, dass Sie über grundlegende OOP-Kenntnisse verfügen. Der Autor teilt seine Erfahrungen mit, wobei er sowohl klassische als auch für die .NET-Plattform besser geeignete Methoden zur Implementierung jedes Musters in Betracht zieht. In diesem Fall werden die Vor- und Nachteile jeder Methode analysiert.

Im gesamten Buch wird die Möglichkeit der Verwendung der betrachteten Muster anhand eines einzigen Beispiels demonstriert, mit dem Sie ein ganzheitliches Bild der Musterwelt erstellen können.
Mehr über das Buch können Sie hier lesen.

Und wie würden Sie diese Liste ergänzen?

Source: https://habr.com/ru/post/de417691/


All Articles