© APSIS GmbH , Polling, 2001, 2002, 2003
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
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.
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