Das hohe C des Programmierens: C sharp

C# (gesprochen C sharp) ist eine von Microsoft entwickelte Programmiersprache, die glänzend auf die .NET-Plattform zugeschnitten und dort inzwischen zur Hauptsprache auserkoren wurde. Der Quellcode, den Programmierer mit C# erstellen, wird in die einheitlichen Zwischensprache MSIL (Microsoft Intermediate Language) übersetzt und dann zur Laufzeit durch den JIT-Compiler in Maschinensprache gewandelt. Die Ausführung des Codes ist an Microsoft-Plattformen gebunden. Das ist bei einer inzwischen so weit verbreiteten Programmiersprache wie C# natürlich ein Problem. Deshalb gibt es inzwischen freie Entwicklungen wie das Mono-Project. Dieses unterstützt Linux, Solaris, Mac OS X, Windows und UNIX und stellt damit die Plattformunabhängigkeit der Sprache C# sicher.

Microsoft beschreibt C# als Weiterentwicklung von C und C++. Das ist richtig, aber nicht vollständig. Denn ohne die plattformunabhängige Sprache Java hätte Microsoft sicher keinen Druck verspürt, auf der .NET-Plattform neben der viel genutzten C++ eine weitere Hochsprache in den Wettbewerb zu schicken. Java war die erste Programmiersprache, die das objektorientierte Programmieren aus den Nischenrollen hervorholte und zum gefragten Standard machte. Java war relativ einfach zu handhaben und war durch seine Applets besonders in der Webprogrammierung nicht mehr wegzudenken. Demgegenüber hatte die nicht vollständig objektorientierte und sehr komplexe Sprache C++ Mühe, sich so erfolgreich zu halten wie zuvor.

C# greift Konzepte der Programmiersprachen Java, C++, SQL, C und Delphi auf. Der Schachzug von Microsoft mit C# war zeitlich gut gesetzt und strategisch bestens vorbereitet. Microsoft war klar, dass von Anfang an nur eine standardisierte Programmiersprache gegen Java ins Feld geführt werden konnte. Deshalb reichte Microsoft gemeinsam mit Hewlett-Packard und der Intel Corporation im Jahr 2000 C# bei der Europäischen Normungsorganisation ECMA ein. Die erste Normschrift erschien 2003, die nächste 2005. Sie umfasst nun schon 500 Seiten Spezifikation. 2003 wurde C# auch von der ISO genormt.

Der Griff nach den Höhen

Zugegeben, die Bezeichnung dieser C-Programmiersprache scheint schon etwas gewöhnungsbedürftig: C# = C sharp. Scharf ist diese Sprache weder im erotischen noch im intellektuellen Sinn. Wo also kommt die Bezeichnung her, was hat sie zu bedeuten?

C# ist eigentlich ein Symbol aus der Musik. Die Note C ist der Grundton der Basistonleiter. Bei jedem Ton, den man in der Musik um eine Halbtonstufe erhöhen will, fügt man ein Kreuz hinzu. C# ist also ein erhöhtes C, im Deutschen Cis genannt, im Englischen C sharp. Da das klassische Kreuzzeichen aus der Musik nicht direkt aus der Standardtastatur eingegeben werden kann, nimmt man das einfache Rautenzeichen als Ersatz.

Der musikalische Bezug ist selbstverständlich nicht direkt zu sehen. Symbolisch verweist er darauf, dass C# gegenüber den Vorgängersprachen erhöht im Sinne von verbessert und weiterentwickelt wurde. Nebenbei ist noch ganz neckisch, dass man dieses Rautenzeichen in 4 mal + zerlegen kann, womit die Potenzierung gegenüber C++ gegeben wäre.

C# einfach und gut betreut lernen – eine scharfe Sache! Gratis-Infos hier.

Objektorientierte Programmierung schafft Übersicht

Wie ist es zu erklären, dass die meistgenutzten Programmiersprachen heute eine Objektorientierung als Paradigma haben?

Dadurch, dass Anforderungen an Programmierer in Bezug auf komplexe Abläufe, große Programmentwürfe und gut zu pflegende Programme ständig steigen, können Programmierer gar nicht mehr so verfahren wie vor zehn Jahren. Sie brauchen wesentlich mehr Hilfen und fertige Teile in der Programmierung. Und benötigen in ihren Entwicklungsumgebungen wie auch dann in ihren Programmen eine klare Übersicht. Und die schafft die Objektorientierung.

Was sind Objekte? Alles, was um uns herum ist, ob Ding oder Lebewesen, begreift die OOP (objektorientierte Programmierung) als Objekt. Objekte haben Eigenschaften und Fähigkeiten.

Die Eigenschaften verwaltet OOP in Variablen. Eine Variable ist dabei eine Art Behälter, der bei gleich bleibender Bezeichnung einen wechselnden Inhalt haben kann. Zum Beispiel die Variable „Blutdruck“, bezogen auf eine oder mehrere Personen: Mal 120:80, mal 200:160.

Fähigkeiten werden dagegen in der OOP immer durch Methoden repräsentiert. Eine Methode ist ein elementares Stück Software mit Anweisungen an den Computer. Diese Anweisungen werden ausgeführt, sobald die Methoden angesprochen werden.

Die Klassengesellschaft der OOP

Die Aufteilung in Variable und Methoden ist aber nicht der Clou der OOP. Das Besondere ist, dass kein Programmierer mehr Variable und Methoden über einen langen Programmquelltext unübersichtlich verteilen muss, sondern Stück für Stück zusammenfassen und einhüllen kann. Diese Hüllen sind die Klassen. Sie beschreiben die gemeinsamen Merkmale von Objekten. Klassen sind in der OOP wie in der Biologie hierarchisch aufgebaut, vom Allgemeinen herunter bis zum Speziellen. Die allgemeinste Klasse ist die Basis- oder Oberklasse. Ihre Eigenschaften und Fähigkeiten (die Mitglieder der Klasse), gefasst in den Variablen und Methoden, werden in den meisten OOP-Sprachen automatisch weiter vererbt. Das heißt, man muss sie in keiner der folgenden Unterklassen notieren – sie wirken trotzdem. Wenn ein Programmierer in der OOP sein Klassensystem gut und richtig entwickelt, müssen Variablen und Methoden nur einmal geschrieben werden.

Der Vorteil bei C# ist zudem, dass ausführliche Klassenbibliotheken bereits existieren. Dieses gut dokumentierte und geordnete Bibliothekssystem kann in jeder C#-Programmierung angesprochen werden. Wird ein Bezug auf die bereits vorhandene Bibliotheksklasse hergestellt, übernimmt das Programm die Inhalte und Vererbungsfähigkeit dieser Klasse. Ergänzt werden muss nur noch das, was zur speziellen Problemlösung notwendig ist.

Suchen



gratis-infos-box