Ergebnis 1 bis 14 von 14

Thema: Alles zu C#

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Alles zu C#

    Servus

    Hier im Forum kann man eine Menge Themen über Delphi, C++ und Basic lesen, über C# wird aber nicht viel gesagt ...
    Aus diesem Grund dachte ich mir, dass ich mal einen Sammelthread dazu starte.

    Hier mal etwas grundlegendes zu der Sprache: (Quelle: http://www.guidetocsharp.de/ )


    Zitat Zitat
    Herkunft
    Im Prinzip gehört C#, dessen Name als C Sharp gesprochen wird, der Sprachfamilie von C und C++ an, da sowohl die Syntax als auch einige Sprachkonzepte an diese beiden Sprachen angelehnt sind. C# wurde von Microsoft in Kooperation mit Anders Hejlsberg, dem Designer der Sprache Delphi, entwickelt und am 14. Februar 2002 im Rahmen des .net Framework veröffentlicht, über das Sie später in » was ist .net noch mehr erfahren werden.

    Ein Ziel bei der Entwicklung von C# war unter anderem, die Sprache so einfach wie möglich zu gestalten und dabei auch einige fehlerträchtige Konzepte von C und C++ wie beispielsweise Mehrfachvererbung zu vermeiden. Der Gefahr, dass sich die weit verbreitete Meinung, C und C++ seien schlecht verständlich und schwer erlernbar, auch auf C# übertragen könnte, wollte Microsoft so von vornherein begegnen.

    Plattformunabhängigkeit
    Der größte und auffälligste Unterschied zwischen C# auf der einen und C beziehungsweise C++ auf der anderen Seite ist, dass mit C# entwickelte Programme plattformunabhängig sind. Das heißt, ein Programm läuft nicht nur unter dem Betriebssystem, unter dem es entwickelt wurde, sondern auf allen Systemen, für die eine Version des .net Framework existiert.

    Dabei müssen diese Systeme nicht unbedingt PCs sein, es kann sich dabei beispielsweise auch um tragbare Geräte wie PDAs oder Mobiltelefone handeln. So existiert zum Beispiel eine speziell an die Eigenschaften mobiler Endgeräte angepasste, besonders kompakte Version des .net Framework. Ein ähnliches Konzept verfolgt die Sprache Java mit ihren verschiedenen Editionen (J2SE, J2ME, J2EE), womit ebenfalls plattformunabhängige Programme erzeugt werden können.

    Da die Plattformunabhängigkeit jedoch keine spezielle Eigenschaft von C#, sondern eine generelle Eigenschaft von .net ist, finden Sie nähere Informationen dazu unter » was ist .net.
    » nach oben
    Objektorientierung und andere moderne Konzepte
    C# ist wie fast jede andere moderne Programmiersprache objektorieniert, wobei die Objektorientierung von C# deutlich konsistenter und weitreichender ist als die anderer Sprachen, denn in C# wird fast alles als Objekt angesprochen. Sogar die einfachen Basisdatentypen für Ganz- und Dezimalzahlen oder für einzelne Zeichen lassen sich in C# als Objekt darstellen und entsprechend flexibel und vielseitig einsetzen.

    Ergänzt wird C# durch die ebenfalls durchgängig objektorientierte Klassenbibliothek des .net Framework, die gerade im Vergleich zu den anderen häufig eingesetzten Klassenbibliotheken wie MFC oder JFC deutlich übersichtlicher gestaltet ist.

    Des weiteren enthält C# einige Konzepte, die stark an Java angelehnt sind, teilweise aber deutlich ausgereifter arbeiten, wie beispielsweise eine umfassende und durchdachte Fehlerbehandlung oder eine automatische Resourcenverwaltung (Garbage collection).
    Hier noch einige Details für erfahrenere Programmierer:
    Zitat Zitat
    Details
    C# hebt sich trotz der gemeinsamen Sprachfamilie deutlich von C und C++ ab, was beispielhaft an zwei Aspekten erläutert werden soll.
    Das Konzept der Mehrfachvererbung wurde in C++ eingeführt, um eine Klasse von mehr als nur einer Basisklasse ableiten zu können. Dabei besteht allerdings die Gefahr, dass die abgeleitete Klasse, beispielsweise auf Grund namensgleicher Methoden in den Basisklassen, semantisch nicht eindeutig und der Code daher aufwändig und kompliziert ist. Um diese Probleme zu vermeiden, wird Mehrfachvererbung von C# nicht unterstützt, sondern nur die einfache Vererbung.
    Zeiger stellen in C und C++ ein elementares und sehr mächtiges Konzept zur Manipulation von Daten dar. Allerdings werden auf Zeigern basierende Speicherzugriffe während der Laufzeit nicht geprüft, so dass der gesamte Speicher von einem in C oder C++ geschriebenen Programm manipuliert werden kann. Da dies vor allem auf Systemen, in denen mehrere Anwendungen gleichzeitig laufen, zu erheblichen Sicherheitsproblemen führen kann, werden Zeiger von C# nicht unterstützt.
    Meine persönliche Meinung dazu:

    C# ist SEHR Objektorientiert.
    Einige Leute werden dadurch leider abgeschreckt, weil der eintieg in objektorientierte Programmierung dieser Art am Anfang sehr kompliziert erscheint.
    Der Syntax ist logisch und strukturell aufgebaut und hat viele Ähnlichkeiten zu C++, meiner Meinung nach kann man allerdings den C# Syntax leichter verstehen. (muss jeder für sich selber wissen)
    C# gilt offiziell als Einsteigerfreundlich, ich allerdings würde es als Einstiegssprache nur bedingt empfehlen (an Klassen, Strukturen und Vererbung von C# ist schon mancher Anfänger zu Grunde gegangen) aber auch das sollte jeder für sich selber entscheiden.
    Vorallem wird C# eine rosige Zukunft versprochen - wir werden sehen.

    Hier sind die größten Unterschiede zu anderen Sprachen:
    LINK

    Tutorials über diese Sprache sind noch nicht sonderlich weit verbreitet (sehr neue Sprache) und oft fehlerhaft!
    Aus diesem Grund würde ich unbedingt ein Buch empfehlen!

    Hier ist eine online Version des Buches C#, welches als das beste Buch für erfahren Programmierer zählt, vorallem wenn man von einer anderen Sprache umsteigen will(geschrieben von einem C# Entwickler selber)
    C#

    Hier ein Link zu dem Buch "Einstieg in C#", welches auch ich mir kaufte. (bis zur Seite 80 kann man auch dieses Online probelesen und dient damit bestens um sich mit den Grundzügen von C# vertraut zu machen, als Ersatz für ein online Tutorial so gesehen)
    Einstieg in C#
    Wenn ihr Probelesen wollt einfach auf "Leseprobe(PDF)" klicken,

    Geändert von Durandal (10.12.2003 um 00:02 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •