Ergebnis 1 bis 20 von 24

Thema: C, C++, C#? Wo geht was?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    so da hier fast durchweg c# als lahme nicht zu empfehlende sprache dargestellt wird:

    werde ich c# und das .net framework verteidigen!

    das sind alles unterschiede von c# zu c++/c
    - Zwischencode für Laufzeitumgebung,
    - JIT (Just-In-Time-Compiler),
    - Garbage Collection (automatische Speicherfreigabe),
    - Sicherheitssystem mit Autorisierung,
    - Exceptions (statt Fehlermeldung per Return-Code),
    - Inspection (Schnittstellenbeschreibung in der Komponente, keine Einträge in Windows-Registrierung).
    - strengere Objektorientierung,
    - keine Mehrfachvererbung (multiple Inheritance), nur Einfachvererbung,
    - Schnittstellenkonzept,
    - sicherere Typprüfung,
    - keine direkten Zeiger (nur Referenzen),
    - die Operatoren '::' und '->' entfallen, nur '.' wird verwendet,
    - boolsche Variablen werden nicht mehr durch ein int repräsentiert, sondern haben einen eigenen Typ,
    - char ist ein 16 Bit breites Unicode-Zeichen,
    - Arrays sind managed Types mit Bereichsüberprüfung,
    - es gibt keine globalen Funktionen, Variablen oder Konstanten mehr,
    - es gibt keine .h-Header-Dateien mehr (Deklaration und Definition sind kombiniert),
    - es gibt keine Präprozessor-Makros mehr und
    - es gibt keine Lib- und keine Obj-Dateien mehr.
    und jetzt der für mich größte vorteil:
    man kann mit c# sowohl windowsapplication, webapps und spiele programmieren
    die spiele programmierung ist zwar erst im kommen (s. z.b. Aximo) aber besonders bei größeren spielen dürfte der GC einen performance GEWINN mit sich bringen, da nicht benötigte ressourcen wieder freigegeben werden! dies kann man meines achtens auch bei c++ manuel machen, dann ist es aber immernoch eine starke erleichertung des progrmmierens...
    habe ich eigentlich schon die enorme stabilität aufgeführt?
    und das mit der portierbarkeit: da habe ich gerade auch ein kleines problem, der user muss einmal ganze 23 mb mehr runterladen, das ist besonders im zeitalter von dsl und isdn ein enormes problem
    und wegen umstieg auf andere programmiersprachen: als ich auf der messe (GC [habe leider keine c# programmierer gefunden, aber dafür ein paar tolle webseiten^^]) c++ Code gesehen habe, wusste ich fast immer was dieser "schnippsel" machen soll...
    verstehen und selber proggen ist zwar noch etwas anderes aber trotzdem

    @all vorposter: auf die plätzte, feritg, **diesen artikel zerfetztend** los

    EDIT: habe vorhin irgendwo als nachteil gesehen dass man yy.xxx.eee.r() statt nur r() schreiben muss! mit der using anweisung yy.xxx.eee kann man dann auch alle funktionen, eigenschaften direkt verwenden! das ist nunmal das system von der wiederverwendbarkeit

    Geändert von altertoby (06.04.2005 um 18:22 Uhr)

  2. #2
    Zitat Zitat von altertoby
    so da hier fast durchweg c# als lahme nicht zu empfehlende sprache dargestellt wird:
    >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:(
    werde ich c# und das .net framework verteidigen!
    :eek: :eek: :eek:
    das sind alles unterschiede von c# zu c++/c
    [Liste von Unterschieden]
    Die treffen zum größten Teil auch auf Java zu.

    Zitat Zitat
    und jetzt der für mich größte vorteil:
    man kann mit c# sowohl windowsapplication, webapps und spiele programmieren
    Das ist sowohl mit C++ als auch mit Java genauso gut möglich. Zugegeben, die Webprogrammierung mit C++ (via ActiveX) ist absolut nicht empfehlenswert, aber es ist möglich.

    Zitat Zitat
    besonders bei größeren spielen dürfte der GC einen performance GEWINN mit sich bringen, da nicht benötigte ressourcen wieder freigegeben werden!
    Eher nicht. Das Überwachen der Referenzen, wie es der GC tut, macht die Anwendungen in der Entwicklung schneller und in der Ausführung theoretich sicherer, geht aber auf die Ausführungsgeschwindigkeit. Neben dem Bytecode-Interpreter ist der GC einer der Hauptgründe, warum C++ viermal schneller als Java ist - und bei Dotnet wird sich das nicht anders verhalten.

    Zitat Zitat
    habe ich eigentlich schon die enorme stabilität aufgeführt? :p
    Dotnet-Applikationen sind zwar gegen Speicherlecks relativ gut geschützt (einen vollständigen Schutz bietet auch ein GC nicht), können aber bei schlampiger Programmierung immer noch Ärger machen. Wenn man Pecht hat erwischt man eine Schwachstelle in der VM und alle laufenden Dotnet-Programme schmieren ab.
    Mit Java geht das genauso gut... Jede Programmiersprache ist letztendlich nur so sicher wie der Programmierer kompetent ist und jedes System kann einem im Ernstfall Probleme bereiten.

    Zitat Zitat
    und das mit der portierbarkeit: da habe ich gerade auch ein kleines problem, der user muss einmal ganze 23 mb mehr runterladen, das ist besonders im zeitalter von dsl und isdn ein enormes problem :confused: :confused:
    Mono ist 28 MiB groß und läuft nur auf x86, s390, SPARC, HPPA, StrongARM und PowerPC. Außerdem unterstützt Mono nicht die gesamte Dotnet-API - man kann Dotnet-Anwendungen also nicht immer ausführen oder sie verhalten sich nicht korrekt.

    Zitat Zitat
    EDIT: habe vorhin irgendwo als nachteil gesehen dass man yy.xxx.eee.r() statt nur r() schreiben muss! mit der using anweisung yy.xxx.eee kann man dann auch alle funktionen, eigenschaften direkt verwenden! das ist nunmal das system von der wiederverwendbarkeit
    Es war zu erwarten, daß Microsoft sowas implementiert - das gibt es in jeder brauchbaren OO-Programmiersprache.


    Ich bin nach wie vor der Ansicht, daß Dotnet einfach das imitiert, was Java bereits ist - und ich betreue lieber Sun (die es mit der Portierberkeit wirklich ernst nehmen) mit der Entwicklung einer global portierbaren Programmiersprache als Microsoft. Allein schon deshalb weil Microsoft einer der großen Betriebssystemhersteller ist und Sun weder mit Solaris noch mit JDS genug Marktpräsenz hat, um sich so aufzuführend, wie es der Gorilla aus Redmond öfters tut.


    BTW, willkommen im Forum, speziell in unserer kleinen Ecke hier. Viel Spaß im Ring.

Berechtigungen

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