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![]()