Entwickler

[Serie] Teil 01 – Einstieg in die Programmierung mit C#

Hier kommt der erste Beitrag aus der neuen Serie Einstieg in die Programmierung mit C# (ausgesprochen C-Sharp). Einmal pro Woche bringe ich euch bestimmte Bereiche der Software-Entwicklung mit C# näher.

Warum C#?

C# ist eine Vergleichsweise Junge Sprache (Trotz der fast 20 Jahre, die sie auf dem Buckel hat). Sie ist einfach zu lernen und dennoch sehr mächtig. C# ist grundsätzlich Plattform-Unabhängig, auch wenn diese im Rahmen der .NET-Strategie entwickelt wurde und primär für das .NET-Framework optimiert wurde. Das gilt aber nur für die Umsetzung. Die Theorie lässt sich auf allen Plattformen umsetzen. So gab es seiner Zeit das Mono-Projekt, welches als Gegenstück zum .NET Framework zum Beispiel auch für Linux verfügbar war. So half es, .NET-Anwendungen unter Linux zum Laufen zu bringen und stellte auch Entwicklungswerkzeuge bereit.

Heute ist Mono in Xamarin aufgegangen und gehört damit zu Microsoft. Es passt also perfekt zu Microsofts aktueller Strategie, Dienste Cross-Platform anzubieten.

Natürlich bringt es niemanden etwas, dass die Sprache schön einfach ist, aber man mit dieser nichts erreicht. Deswegen – In kurz: Mit C# gibt es quasi keine Grenzen. In Lang: Mit C# lassen sich Anwendungen von einfachen Desktop und Konsolenanwendungen über Websites und API’s bis hinzu Apps entwickeln. Über die Implementierungen von .NET Core und .NET Standard ist man dabei auch nicht an Windows gebunden. Die Anwendungen können unter macOS und Linux genauso laufen wie unter Windows. Selbes gilt für Websites und API’s die unter .NET Core geschrieben wurden. Sämtliche Vorteile von C# bleiben dabei erhalten.

Bei mobile Apps gilt quasi dasselbe. Xamarin-Projekte lassen sich mittlerweile ebenso als .NET Standard-Projekt, wie auch als klassisches Shared Project erstellen.

Warum also C#? – Eine einfach zu lernende Programmiersprache, mit der man nahezu alles erreichen kann.

Der ein oder andere kommt vielleicht mit Sprachen wie Java, oder neuen Sprachen wie Go, etc. Aber keine lässt sich einfach in diesem Umfang nutzen.

Ein wenig Geschichte

C# wurde Ende der 90er im Auftrag von Microsoft unter anderem von Anders Hejlsberg entwickelt. Dieser ist seit 1996 bei Microsoft als Chef der Software-Architektur beschäftigt. Mitte 2000 reichte Microsoft zusammen mit Hewlett-Packard und Intel die erste Version von C# zur Standardisierung bei der Ecma International ein. Bei Ecma International handelt es sich um eine internationale, in Genf beheimatete Organisation zur Normung von IT-Systemen im Allgemeinen. Die erste Version war bei weitem nicht so umfangreich wie die heute aktuelle Version 7.0. Viele Funktionen der Sprache wurden erst im Laufe der Zeit implementiert. Stellenweise musste sich erst mal das Betriebssystem entwickeln, damit bestimmte Anforderungen gestellt wurden.

Bestes Beispiel sind an dieser Stelle die Keywords async und await. Mit Windows 8 und der neuen Touch-Bedienung stellte Microsoft die Anforderung, dass die Elemente der Oberfläche immer genau beim Finger sein müssen. Jetzt gibt es aber auch ab und zu Aufgaben, für die das System etwas länger zur Verarbeitung benötigt. Dennoch soll die Oberfläche weiterhin flüßig reagieren. Bis dato konnte man das auch über weitere Threads auslagern. Das war aber bei weitem nicht so einfach wie wenn der Programmierer “mal eben” async und await einbaut. Worum es sich genau bei async und await handelt werden wir im Laufe dieser Serie behandeln  😉.

Im Laufe der Jahre brachte Microsoft immer neuere Versionen von C# auf den Markt und fügte jedes mal eine ganze Reihe neuer Features hinzu. Da stellt sich die Frage, was passiert mit einem Projekt, an dem man eventuell bereits Jahre arbeitet und plötzlich erscheint eine neue Version der Programmiersprache. Grundsätzlich kann man es so sagen, dass die Version der Sprache an die Version des Frameworks gebunden ist. Stellenweise können bestimmte Features der Sprache aber auch über Packages zu Anwendungen für ältere Framework-Versionen hinzugefügt werden. Doch auch dazu kommen wir in einem späteren Teil.

Die Entwicklungsumgebung – Visual Studio

Die Entwicklungsumgebung ist DAS Werkzeug eines Software-Entwicklers. Es gibt viele verschiedene Entwicklungsumgebungen. Es handelt sich dabei um ein Programm, welches bei der Entwicklung mit Projektvorlagen, Code-Vorschlägen, der Kompilierung und Bereitstellung unterstützt. Grundsätzlich reicht auch schon der Standard-Editor von Windows. Der Programmcode wird als ganz normaler Text niedergeschrieben. Erst die Compiler wandeln diesen Text (sofern dieser korrekt ist) in den Maschinencode um. Diese Compiler lassen sich dann über eine Kommanodzeile aufrufen. Eine richtige Entwicklungsumgebung ist da aber deutlich einfacher zu bedienen.

Ich persönlich empfehle Visual Studio. Die Entwicklungsumgebung, meiner Meinung nach die mit Abstand beste – und das nicht nur für C# und .NET, aus dem Hause Microsoft bietet nicht nur die Unterstützung für C#, sondern gleich für alles was aus Redmond kommt. Darunter auch andere Sprachen wie C++, VisualBasic und F#. Auch andere Projekttypen wie SQL (Datenbankabfragen) und Web-Design mit HTML und JavaScript lassen sich bewältigen.

Die aktuelle Version hört auf den Namen Visual Studio 2017 und kann in der Community-Edition kostenlos heruntergeladen werden: https://visualstudio.microsoft.com/de/. Diese Variante ist für Einsteiger und für diese Serie völlig ausreichend. Für die macOS-Benutzer unter euch, keine Sorge – Visual Studio gibt es auch für euch. Die macOS-Variante könnt ihr ebenfalls über den obrigen Link herunterladen. Neben Visual Studio gibt es allerdings auch weitere Programme, z.B. MonoDevelop.

Die gesamte Serie habe ich möglichst Plattform-Neutral ausgelegt. Sämtliche Beispiele basieren deshalb auf .NET Core und lassen sich z.B. auch unter macOS ausführen.

Was erwartet mich in der Serie?

Zuerst bringe ich euch natürlich die Grundlagen näher. Im weiteren Verlauf schreiben wir dann kleine Anwendungen für verschiedene Plattformen (Website, API, App, etc.), sodass am Ende ein komplettes kleines Ökosystem herauskommt. Ich versuche jeden Freitag eine neue Ausgabe zu veröffentlichen, kann das aber aufgrund von Job, etc. nicht immer garantieren 😉.


Wenn ihr spezielle Wünsche oder Anregungen habt, dann schreibt es mir in die Kommentare.

Zeige Kommentare

    • hmm, also Java ist denke ich mal noch die Hauptsprache die noch gelehrt wird. An Unis neben C/C++ eigentlich DIE Sprache.

  • coole sache weiter so, gibt es die Möglichkeit diese Serie irgendwie zu abonnieren, damit man nichts verpasst. Videos fände ich Klasse bzw. Live Sitzung oder eine Art Frage Antwort Forum

    • Serien (oder bestimmte Kategorien) zu abonnieren ist eine nice Idee 😉
      Das werde ich mal in die app mit einfließen lassen.

  • Vielen Dank für die Mühe, bin auf weitere Artikel gespannt. Vielleicht kann ja auch ein direkter Bezug zu Raspberry Pi o.ä. gebracht werden.

  • Bin auch gespannt, was die weiteren Artikel bringen. Ich lerne seit August 2018 C# in meiner Ausbildung. :)

  • Sehr guter Blogstart! Ich persönlich würde mir den Fokus auf den App-Bereich wünschen und da auf XAML eingehen. Dann hat man schon mal eine "tote" Hülle ;-). Ansonsten könntest du mMn ruhig immer wieder Links zu Literatur einbauen. Ich nutze persönlich lieber Bücher, auch wenn ich weiß, dass man im Prinzip alles auch im Internet 4 free bekommt.

  • tolle Sache...ich bin gerade dabei auf meine alten Tage das coding mit C# zu lernen. Die Serie wird mir bestimmt helfen. VG Jürgen

Teilen
veröffentlicht von
Lars

Neuste Artikel

Microsoft bestätigt Verschiebung von neuer OneDrive-Funktion

Verschiebe nicht auf morgen, was Du heute kannst besorgen – so ein bekannter Spruch. Doch…

6. Mai 2024

Microsoft bietet 2 Day-1 Titel im neuen Xbox Game Pass für den Monat Mai

Möge die Macht mit Dir sein – auch bei Deinen Wikinger-Abenteuern! Zwei absolute Top-Titel haben…

6. Mai 2024

Wie viel Einfluss hat Bill Gates noch auf Microsoft? Interne Quellen sagen – viel!

Bevor wir mit dieser neuen Meldung beginnen, nein, dies ist keine Bill Gates Verschwörungstheorie, von…

3. Mai 2024

Amazon Deal: HP Smart Tank 5105 3-in-1 Multifunktionsdrucker – 33 Prozent sparen

Dieses Mal möchten wir die Gelegenheit nutzen und Euch einen 3-in-1 Multifunktionsdrucker aus dem Hause…

3. Mai 2024

Marktanteile: Windows 11 muss Abwärtstrend verbuchen – woran liegt es

Windows 11 tut sich wirklich schwer damit, Nutzer des Betriebssystems Windows 10 davon zu überzeugen,…

2. Mai 2024

Verfahren gegen Meta beginnt: Unternehmen Instagram und Facebook zu wenig gegen Falschnachrichten in Bezug auf die Europawahl?

Die EU-Kommission hat ein Verfahren gegen den Facebook-Mutterkonzern Meta auf den Weg gebracht. Es geht…

2. Mai 2024

Diese Webseite benutzt Cookies.