What Do You Think About C#

  • geschlossen
  • C#

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • What Do You Think About C#

    hallo leute,

    da ich in der SuFu nicht viel zu C# gefunden hab (oder falsch gesucht hab -.-), wollte ich mal einen neuen Thread eröffnen und eure Meinungen zu C# hören.

    In der Schule programmieren wir auch damit, vorher haben wir "grundlagenmäßig" C++ gemacht.
    Wir benutzen übrigens MS VIsual Studio 08 C#

    PS: Kennt ihr gute Workshops / Tutorials?

    mfg
    Ani
  • Ist eine ganz schöne Sprache, jedoch leider nicht so weit verbreitet wie Java.

    Vom Konzept her bin ich mir nicht sicher was ich davon halten soll. Es werden keine richtigen nativen Binaries erzeugt, jedoch auch kein Bytecode a la Java. D.h. man muss für jedes System "kompilieren", jedoch wird beim Ausführen trotzdem teilweise interpretiert.

    Aber vom Syntax auf alle Fälle brauchbar. Auch sehr nett ist die Tatsache, dass es frei verfügbar ist und (theoretisch) plattformunabhängig.
  • auch wenn es schon ein bissel her ist... aber die Aussage über die Plattform-Unabhängigkeit kann ich so einfach nicht im Raum stehen lassen...

    glaubt ihr denn wirklich noch jemand daran, dass es eine plattform-unabhängige Lösung "out of the box" gibt?
    ist Java plattform-unabhängig? sicherlich nicht... warum nicht? ganz einfach: man benötigt eine VM... die ist dann plattform-abhängig und stellt lediglich ein Abstraction Layer dar, auf das plattform-unabhängig zurückgegriffen werden kann...


    sowieso
  • C# ist sicherlich eine tolle OO-Sprache, die unter dem "Erfinder" Anders Hejlsberg eine beachtliche Entwicklung hinter sich (und wohl ebenso noch vor sich) hat.

    Wenn man aus der VB Richtung kommt, wird einem der "Klammer-Syntax" zunächst fremd vorkommen. Aber schon nach kurzer Umstellung findet man eher die typischen VB-End Statements antiquiert.

    C++ und Java-Entwickler finden sich sicher gleich auf Anhieb zurecht.

    Der überwiegende Lernaufwand liegt aber wohl eher in den Bibliotheken des .NET Frameworks und nicht in der Sprache an sich.


    Zur IDE: Visual Studio 2008 ist dz. wohl kaum zu übertreffen. Und da auch die gratis erhältlichen Express-Versionen sehr viel leisten, haben alternative IDEs derzeit wohl sehr wenig Chancen.


    Bezüglich Tutorials:
    In welche Richtung möchtest Du denn gehen?

    Eher Webentwicklung? Dann wirf mal einen Blick auf
    Get Started : The Official Microsoft ASP.NET Site
    Learn : The Official Microsoft ASP.NET Site

    Für Desktop-Anwendungen gibt's auch was:
    Get Started
    Learn - WindowsClient.net

    Natürlich kannst Du auch nach den Begriffen "csharp" und "tutorial" googeln bzw. live-searchen. Da wird Dir auch geholfen!

    HTH,
    Thomas
  • nette sprache. allerdings sollte man vorsichtig sein, wenn man als neuling mit c# in die programmierwelt einsteigen will. es ist dringend zu empfehlen, sich zumindest grundlegende vb- und/oder c-kenntnisse anzueignen.
    das try&go-prinzip mit visual studio funktioniert bei c# wie bei den meisten anderen oop-sprachen nur beschränkt.

    gruß,
    kmt56
  • Also zur Vorsicht würde ich beim Einstieg in C# nicht mahnen.
    Bestenfalls vor einer allzu großen Erwartungshaltung was das Lerntempo betrifft. Es dauert einfach eine gewisse Zeit (ein Jahr?) bis man/frau die OO-Konzepte verinnerlicht (!=verstanden) hat.
    Aber erfahrungsgemäß tun sich da Neu-Einsteiger sogar etwas leichter, als jene, die aus der prozeduralen Programmierung kommen.
  • Also ich find C# ne super Sprache, ist jetzt zwar noch nicht so verbreitet wie C oder C++, aber trotzdem wird es sich lohnen, sie sich einmal anzuschauen.
    Jedoch sollte man beachten, dass es nicht leicht ist, die ganzen .NET Bibliotheken zu lernen. ;)
  • ich wollte auch noch kurz meine Meinung äußern.

    Ich programmiere nun schon seit mehreren Jahren in C# und finde es einfach genial.

    Es gibt aber auch Kritikpunkte:
    C# ist leider nicht rein Objectorientiert.
    Die Datentypen int, long etc sind structs und es gibt z.B. keine Oberklasse Number, wie es sie z.B. in Java gibt.
    In Version 2.0 wird Typsicherheit durch Generics eingeführt und in 3.0 wieder durch den Typ var über den Haufen geworfen.
    Ab 3.0 kann man C# auch funktional Programmieren mit lamda-Ausdrücken, aber wofür? Funktional ist sicherlich mächtig, aber dafür gibt es andere Sprachen.

    Noch einen Punkt in Sachen Geschwindigkeit: C++ ist leider schneller, auch wenn man in C# unsafe Code benutzt. Aber dafür gibt es ja Quad-Cores :)

    Wenn es aber darum geht ein .NET-Programm zu verkaufen, ist dringend ein obfuscator angesagt, oder wichtige Mehtoden doch lieber in nativen c++-Code auslagern.

    Aber dies sind nur ein paar negative Punkte, die diese geniale Sprache nicht stark schwächen können.

    VG Sascha
  • Kleine korrektur...

    Cueball schrieb:


    Die Datentypen int, long etc sind structs und es gibt z.B. keine Oberklasse Number, wie es sie z.B. in Java gibt.


    Die Datentypen int, long etc. sind keine structs!! Es sind integrale datentypen, d.h. primitive. structs sind mit c-structs zu vergleichen, mit dem unterschied das sie als reine Kontainer behandelt werden, und im vergleich zu den c-structs keine speicherreferenzen benutzen.
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • Cueball schrieb:


    C# ist leider nicht rein Objectorientiert.
    Die Datentypen int, long etc sind structs und es gibt z.B. keine Oberklasse Number, wie es sie z.B. in Java gibt.

    Stimmt schon. Die "primitiven" Datentypen funktionieren mit Wert-Semantik und nicht mit Referenz-Semantik. Man muss sich den Unterschied halt bewußt machen. Generell kann ich darin aber keinen Nachteil erkennen.
    Ach ja, die gemeinsame Basisklasse ist auch in diesem Fall object. ;)

    Cueball schrieb:


    In Version 2.0 wird Typsicherheit durch Generics eingeführt

    Generics gibts tatsächlich erst seit 2.0. Typsicher war das Zeug aber vorher auch. Generics können das Leben eines Developers aber seeeeehr erleichtern.

    Cueball schrieb:


    und in 3.0 wieder durch den Typ var über den Haufen geworfen.

    Nein. Nein. Und nochmals nein. Es ist immer noch typsicher.
    Das C# var ist nicht zu vergleichen mit dem var aus JavaScript oder einem Variant aus dem guten alten VB.
    Ich verwende var nicht immer und überall, weil der Code uU schwieriger lesbar wird; manchmal ist es aber sehr praktisch und gelegentlich notwendig (bei anonymen Typen).

    Cueball schrieb:


    Ab 3.0 kann man C# auch funktional Programmieren mit lamda-Ausdrücken, aber wofür? Funktional ist sicherlich mächtig, aber dafür gibt es andere Sprachen.

    Nun, all die Spracherweiterungen (inkl. var) die mit C# 3 (bzw. VB 9) gekommen sind, dienen eigentlich primär einem Ziel: LINQ!
    Und das halte ich für die genialste Erfindung seit es Schokolade gibt.

    Just my 0,02 €
  • Ich habe mich auch für C# entschieden da es gute Jobmöglichkeiten gibt mit .NET-Framework /WondowBlinds .

    Davor hatte ich C++ in der Berufsschule aber nur Grundkenntnisse,...


    Zum Anfangen habe ich mir das Buch für den Einstieg besorgt.

    Für komplette Neulinge finde ich nicht geeignet aber wenn du schon Programmier Kenntnisse besitzt würde ich es dir empfehlen.
    Bzw. findest du das Buch auch sicher als E-Book.


    mfg o.c.b