Was ist C#?

Was ist eigentlich C#?

Softwareentwicklung in höchsten Tönen

C# (CSharp gesprochen) ist eine Programmiersprache, mit der ein Softwareentwickler alles programmieren kann, was ihm in den Sinn kommt. Von einer einfachen Desktop-Anwendung, mobilen App bis hin zur komplexen Webanwendung: Der Phantasie sind keine Grenzen gesetzt. Wenn Sie also ein Sparfuchs oder einfach nur faul sind und nicht immer wieder alles neu programmieren und dazu auch noch neue Sprachen lernen wollen, ist C# genau das Richtige. 

C# hat neben dem universellen Einsatz-Gebiet, noch eine ganze Reihe von Eigenschaften, die C# als Programmiersprache auszeichnen: 

  • C# kam 2000 als Produkt von Microsoft auf den Markt – die Welt ist aber zumindest für die meisten Menschen davon entgegen aller Befürchtungen nicht untergegangen
  • C# folgt dem Paradigma der objektorientierten Programmierung – kurz OOP für Object Orientated Programming
  • C# ist ein eingetragener Industriestandard (ECMA-334 und ISO/IEC 23270)
  • C# ist die Nummer Eins der .NET-Plattform, das Ökosystem rund um .NET – quasi eine Software, mit der bestimmte Programme ausgeführt werden und die einem Softwareentwickler sehr viel Arbeit abnehmen kann.
  • C# wird meistens mit der Entwicklungsumgebung Visual Studio programmiert
  • C# gehört zu den beliebtesten Programmiersprachen 

C# und seine Marotten

Die Welt ist ein Objekt – und alles andere auch

Computer sind ja bekanntlich Vollidioten, die nur Schwarz-Weiß-Malerei verstehen bzw. Nullen und Einsen. Wie bringt man also diesen Vollidioten dazu, selbst die komplexesten mathematischen Probleme zu lösen, Unmengen von Daten zu filtern oder den richtigen Partner für einen zu finden – zumindest rein mathematisch betrachtet? Richtig! Sie müssen ihm alles schonend einfach beibringen. Hierfür haben sich verschiedene sogenannte Programmier-Paradigmen herauskristallisiert. Sie dienen dazu, dem Computer die Welt als vereinfachtes Modell zu erklären. Das ist ähnlich wie bei Kindern: Die einen lernen am besten durch Zuhören, die anderen durch Lesen, usw. – nur, dass die Kinder keine Vollidioten sind, jedenfalls die meisten.  

Das in C# dominante Paradigma ist die objektorientierte Programmierung. Dabei wird in der Softwareentwicklung versucht jedes reale und abstrakte Ding als Objekt mit folgenden Bestandteilen darzustellen: 

  • Eigenschaften: Also etwas, mit dem sich eine Sache beschreiben lässt, z.B. in Form von Skalar-Werten (Anzahl der Beine: 2, Körpergröße: 1,90m, Anzahl der gelaufenen Meter: 0)
  • Methoden: Funktionen, mit denen man den Zustand solcher Objekte verändern kann, z.B. Rennen, um die Anzahl der gelaufenen Meter zu erhöhen – vorausgesetzt unsere Sportskanone tut nicht nur so als ob

Ein Objekt kommt selten alleine. Um solche Objekte am Fließband zu fertigen, gibt es in der Programmierung das Konzept der Klassen. Das ist wie eine Art Plätzchen-Form, die auf einen Teig aus Nullen und Einsen ausgedrückt wird, um immer neue Kopien anzufertigen. Für den Computer heißt das, er muss, je nachdem wie Sie Ihre Klasse definieren, Platz für Zahlen, Zeichenketten oder sogar andere Teil-Objekte im Arbeitsspeicher machen. 

Neben Klassen gibt es noch weitere prosaische Stilmittel, um in höchster Dichtkunst dem Computer die eigenen Ansichten nahezulegen: 

  • Namensräume: Ähnlich wie im Reich der Tiere mit seinen Arten und Unterarten, lassen sich auch Klassen beliebig gruppieren. Namensräume sind in diesem Zusammenhang die Organisationseinheiten für Klassen. Da zudem auch beim besten Programmierer hin und wieder mal die Kreativität nachlässt, sorgen sie zudem für Eindeutigkeit frei nach dem Muster: Dagoberts Tresor in Entenhausen. Es gibt viele Tresore und Dagobert besitzt in Entenhausen sicherlich so einiges, aber eben nur einen Tresor. Oder wie der Softwareentwickler sagen würde: „Entenhausen.Tresor“.
  • Variablen für die verschiedensten Daten (Datentypen), z.B. Zahlen oder Zeichenketten. Die Eigenschaften von Klassen kann man ebenfalls als Variable bezeichnen.
  • Operatoren: Alles was Sie auch aus dem Mathe-Unterricht kennen: Plus, Minus, Mal, usw. Sie werden es lieben.
  • Schleifen: Täglich grüßt das Murmeltier. Manchmal muss man Dinge mehrmals tun, z.B. Warten auf bessere Zeiten, Listen durchsuchen, um Straßennamen abzuklappern oder, wenn etwas schiefläuft, es einfach nochmal probieren – für all diese Aufgaben gibt es Schleifen. Zum Glück sind Computer sehr geduldige Zeitgenossen. Nur Endlosschleifen mögen auch sie nicht.
  • Verzweigungen: Manchmal muss man sich für eine Sache entscheiden und das kann man auch dem Computer beibringen. Ob er nun freundlich grüßen soll oder nicht, definieren Sie dann einfach in einer Bedingung, z.B. ob Ihr Gegenüber Geschenke mitgebracht hat.

Und wie sieht so ein C#-Code nun aus? 

Wie wird aus C# meine Softwarelösung

Die Funktionsweise von C#

Das erscheint schon fast wie Hexerei: Man soll also einfach nur den richtigen Text schreiben und dann macht der Computer was man will? Ganz so einfach läuft das in der Softwareentwicklung nicht. Man braucht noch ein paar Zutaten in Form von Extra-Programmen. Bei C# läuft dann die Prozedur der Software-Zubereitung immer ähnlich ab: 

  • Der Softwareentwickler schreibt C#-Code mit einer Entwicklungsumgebung seiner Wahl, z.B. Visual Studio, JetBrains Rider oder Visual Studio Code.
  • In dieser Entwicklungsumgebung gibt es dann irgendwo einen Knopf – Puristen können auch die Konsole nehmen (das schwarze Ding mit neongrüner Schrift aus Matrix) – mit dem ein Compiler gestartet wird.   
  • Der Compiler (csc.exe) verwandelt dann den C#-Code in sogenannten Intermediate Language-Code. Oder man kompiliert gleich alles zu Maschinen-Code für das jeweilige Betriebssystem (z.B. Windows) und den jeweiligen Prozessor (z.B. Intel). Das nennt sich dann .NET Native.
  • Sie erhalten ein startfähiges Programm in Form einer ausführbaren Datei, z.B. einer *.exe.
  • Bei normalen .NET-Programmen, müssen Sie vorher sicherstellen, dass der Nutzer auch .NET heruntergeladen und installiert haben – von alleine wird er nicht daran denken.

Geschafft! Nun kann der Endanwender dieses Programm rein theoretisch schon nutzen – viel hat Ihr Entwickler aber wahrscheinlich noch nicht geschafft – und einfach mal draufklicken. Jetzt bleibt nur zu hoffen, dass Ihr Entwickler alles richtiggemacht hat, sonst fängt der Spaß von vorne an.

Bis in die .NET-Unendlichkeit und noch viel weiter

Von der Delphi-Story bis heute

Programme mussten lange Zeit speziell für ein bestimmtes Betriebssystem entwickelt werden. Dem hat Sun Microssystems 1995 mit Java ein Ende gesetzt und die Programmier-Sprache hat sich in der Softwareentwicklung schnell durchgesetzt. Dem konnte Microsoft natürlich nicht tatenlos zusehen. Es musste schnell eine Gegenspielerin zu Java her, zumal durch die zahlreichen Windows-Versionen, das Thema Plattformunabhängigkeit durchaus an Bedeutung gewann. Leichter gesagt als getan, denn um Java Konkurrenz zu machen brauchte es mehr: 

  • Eine Programmiersprache – klar.
  • Eine Laufzeitumgebung, sonst ist das mit der Programmiersprache nur brotlose Kunst.
  • Eine Entwicklungsumgebung, Softwareentwicklung oder Entwicklungsumgebung ist wie ein Rennfahrer ohne Rennauto – chancenlos.

Was also bloß tun, wenn man das alles nicht hat. Richtig! Man schaut sich mit seinem Einkaufszettel im Markt um und nimmt alles mit, was nicht niet- und nagel-fest ist. Da kam 1996 Borland mit seinen netten Delphi-Werkzeugen Microsoft gerade recht: Einfache Programmier-Sprache, visueller Editor. Also einfach mal den Top-Softwareentwickler Anders Hejlsberg zu sich geholt – man kann sich denken, wie das ablief – und etwa vier Jahre später im Jahr 2000 kam dann C# mit samt Laufzeitumgebung und Top-Entwicklungsumgebung – natürlich mit visuellem Editor für Windows Forms – heraus. Aus .NET mit C# wurde eine der mächtigsten und bekanntesten Plattformen für Softwareentwicklung. Von Borland Delphi spricht heute kaum ein Mensch mehr. Seitdem wurden zehn Versionen von C# entwickelt und die Programmier-Sprache ständig verbessert. Die Gründung der .NET Foundation 2014 und damit auch Etablierung von .NET als Open Source-Plattform haben dann ihr Übriges dazu beigetragen, dass C# heute zu den beliebtesten Programmiersprachen gehört, vielleicht auch bald in Ihrem Unternehmen.

Wow, dieser Beitrag über C# ist echt gut!

Weitere Beiträge aus diesem Bereich interessieren mich auch

Kein Problem. Einfach liken oder vernetzen. Wir teilen unser Wissen regelmäßig in folgenden Kanälen:

Das coolste Softwareentwicklungsteam in Berlin

Nicht warten, sondern starten!

Kontaktieren Sie uns noch heute: