© APSIS GmbH , Polling, 2001, 2002, 2003


Vorwort

C# (sprich: "ßi scharp"), Microsofts neueste objektorientierte Programmiersprache, bezieht ihren Namen aus der Musikwelt. Ähnlich wie bei C++ der Operator aus der Sprache C indiziert, dass die Originalsprache "inkrementiert" (im Sinne von "mit neuen Fähigkeiten versehen") wurde, deuten die zusammengeschobenen +-Zeichen bei C# - das Kreuzzeichen aus der Musik, nicht das Zeichen # auf der Tastatur - an, dass die Sprache C "erhöht" wurde: Der Ton C liegt um einen halben Ton tiefer als C# (auf Deutsch Cis, auf Englisch C sharp). Der Ausdruck "sharp" deutet - ähnlich wie der deutsche "scharf" - auf ein höherwertiges Programmiererlebnis hin.

Im Gegensatz zu C++ ist jedoch C# keine Erweiterung von C. Während in C++ (fast) alle Elemente der (sehr alten) Programmiersprache C unterstützt werden, ist C# eine Neuentwicklung. Sie sieht nur C ähnlich, damit auch C-Programmierer für die Sprache gewonnen werden können. Sie trägt aber nicht mehr den Ballast von C (im Gegensatz zum C++) und ist somit besser geeignet, "gute" (sichere) Software zu schreiben.

Die Idee ist nicht neu: Vor einigen Jahren wurde die Sprache Java genau nach diesen Prinzipien entwickelt und hat sich sehr schnell verbreitet. Ihre große Stärke, die Plattformunabhängigkeit (somit als Internet-Sprache geeignet) widerspricht aber der Firmenstrategie von Microsoft. Deswegen wurde C# als Konkurrent zu Java entworfen, die neben der Plattformunabhängigkeit auch in eine sprachunabhängige Umgebung eingebettet wurde: In C# geschriebene Programme können sehr einfach mit Programmen, geschrieben in Visual Basic, JScript oder in C++ (genauer genommen: in der Microsoft-Version, genannt Managed Extensions for C++), kommunizieren.

Dies wurde erreicht, indem - im Gegensatz zu Java - keine eigenen Standardbibliotheken entwickelt wurden, sondern C# wurde in die moderne Infrastruktur .NET von Microsoft eingebettet, die auch weitere Sprachen unterstützt. Sie enthält Klassenbibliotheken, die Programmierern in Visual Basic, JScript und Visual C++ bekannt vorkommen. Diese Spezialisten müssen sich jedoch mit den neuen Sprachelementen, mit der rein objektorientierten Denkweise der Sprache C# auseinandersetzen, wenn sie auf C# umsteigen wollen, um sicherere Programme zu schreiben.

Dieses Buch wendet sich an alle, die C# lernen wollen. Hierbei sind Programmierer, die Java- oder C++ kennen, im Vorteil: Es wird immer wieder Bezug auf diese beiden Sprachen genommen. Den Java-Programmierern ist die Denkweise bekannt, sie müssen nur einige Sprachelemente (die teilweise aus C++ stammen) lernen. Den C++-Entwicklern werden diese Sprachelemente und die Standardbibliotheken aus .NET bekannt vorkommen (deren Aufbau und Gebrauch erheblich von denen aus Java unterscheiden); sie müssen sich mit dem rein objektorientierten Paradigma auseinandersetzen.

Obwohl C# von Microsoft noch nicht endgültig verabschiedet wurde, ist die Sprache und die .NET-Bibliothek - wie die im Juni 2001 veröffentlichte zweite ß-Version zeigt - seit über einem Jahr sehr stabil und in der verbindlichen Version sind keine große Veränderungen gegenüber der jetzigen zu erwarten - lediglich die dazugehörige Software (Compiler, Entwicklungsumgebung, usw.), sowie die Dokumentation muss noch reifen. Daher arbeiten schon viele Programmierer mit der Sprache. Da es aber nach wie vor an einer wirklich praxistauglichen systematischen Einführung für erfahrene Programmierer fehlt, füllt dieses Buch eine Lücke. Der Vorteil des Werkes ist, dass die jahrelange Programmiererfahrung mit C++ und Java den Zugang zur Thematik erleichtert und insbesondere solchen Lesern geholfen werden soll, die über Vorerfahrungen mit den genannten Sprachen verfügen.

Im Buch wird nicht nur C# vorgestellt, sondern ein allgemeiner, nach Meinung der Autoren vernünftiger und sauberer Programmierstil, wobei auch Ideen aus anderen Sprachen (wie Eiffel, Pascal oder Ada ) angewendet werden. Es enthält sehr viel Information. An vielen Stellen ist es sehr konzentriert geschrieben; viele Querverweise (mit Seitenanzahl) sollen aber das Verständnis erleichtern. Die Vorstellung der Sprachelemente und der Standardklassen wurde sauber getrennt; die letzteren werden ja eher verändert oder können ersetzt werden.

Eine Zielsetzung des Buchs ist auch, eine sachlich richtige deutsche Sprache zu benutzen und der Veramerikanisierung des Informatik-Deutsch entgegenzuwirken. Gerade bei Neuentwicklungen wie C# ist dann die Überlegung nötig, ob für die neuen Begriffe das Originalwort (wie z.B. Delegat) nur dann zu übernehmen ist, wenn parallele Sprachkonstrukte wie Diktat, Kombinat schon eingedeutscht wurden.

Die neu vorgestellten Begriffe im laufenden Text wurden kursiv gesetzt; typischerweise kommen sie dann im Sachwortverzeichnis mit der aktuellen Seitenzahl vor.

Die Programme aus dem Buch (ausgetestet mit dem ß2-Version Nr. 7.00.9243 des Compilers) können im Internet unter der Adresse

http://www.apsis.net/CSharp

gefunden werden. Hier - auf der Seite der APSIS GmbH - gibt es die Bedienungsanleitung und Aktualisierungen für die neueren .NET-Versionen, Ergänzungen und Korrekturen zum Buch, weitere Programmbeispiele, Kursangebote, Internetadressen, eine Hypertext-Grammatik für C# und vieles mehr.

Die Autoren sind für Anregungen, Ergänzungen, Hinweise und Fehlerkorrekturen über die elektronische Postadresse (e-mail)

prof@solymosi.com oder PeterSolymosi@APSIS.net

dankbar.

Danksagungen

Für die Hilfe, die wir während des Verfassens dieses Lehrbuchs erhalten haben, sind wir unseren Studenten des Wahlpflichtkurses C# mit .NET im Sommersemester 2001 an der Technischen Fachhochschule Berlin dankbar. Sie haben einen Teil der Arbeit übernommen, indem sie ihre Kenntnisse aus anderen Gebieten in diese Umgebung umgesetzt, Konzepte und Beispielprogramme entwickelt, sowie Teile des Manuskripts durchgelesen und mit ihren kritischen Bemerkungen konstruktiv zu seiner Qualität beigetragen haben.

Besondere Anerkennung gebührt unseren Familien (Ehepartnern und insgesamt sechs Kindern), die die Belastung durch das schnelle Entstehen des Manuskripts ertragen und mitgetragen haben. Unser gemeinsamer Glaube an Jesus Christus gab uns allen die Basis dazu.

Die Autoren


© APSIS GmbH , Polling, 2001, 2002, 2003