Auch wenn ich .NET bisher nur einmal wirklich verwendet habe (C#), sehe ich keinen nennenswerten Unterschied zwischen C# und VB.NET.
Wenn ich mich nicht irre, sind in C# einige Dinge mehr möglich als in VB.NET, es mögen Pointer gewesen sein, aber ich will da für nichts garantieren.
Jedenfalls sollte man als Programmierer in der Lage sein, sich relativ schnell an die Syntax einer Sprache zu gewöhnen, und in dem Fall kann man C# und VB.NET gleichsetzen.
C++ ist für mich ein anderes Gebiet. Man kann definitiv schnelleren Code erzeugen, je nach dem wie sehr man gewillt ist, auf Objektorientiertheit zu verzichten und mit Pointern jonglieren kann.
Da kommt wieder der Streitpunkt der besseren Lesbarkeit ins Spiel. Jeder .NET- oder Java-Entwickler wird einem sofort an den Kopf werfen, dass man mit C/C++ Code ein unwartbares, unverständliches Monstrum voller Bugs geschaffen hat, C++ Programmierer schimpfen bei Java und .NET über irrsinnig tiefe Klassenhierarchien durch die kein Mensch durchsteigt, sodass einzelne Zeilen direkt mal 5 Bildschirme breit sind, weil ein Funktionsaufruf 40 Punkte enthält.
Alles eine Frage der Gewöhnung. Denn es gibt Bereiche, da eignet sich das eine besser als das andere, und welche, wo man beides verwenden kann. Wichtig ist, dass man sich mit dem was man verwendet gut auskennt, dann ist es auch möglich, den Code verständlich und wartbar zu gestalten.
Grobe Einteilung, an die ich gerade denken musste (und ich bin mir sicher, es gibt jemanden, der mir hier direkt widersprechen wird ;)):
C/C++: Webserver; Webservices allgemein die starke Last aushalten müssen. Forschung: KI/Problemlösung. Betriebssystemkomponenten.
.NET: GUI Anwendungen, Client Programme
Ich muss allerdings sagen, dass ich mich gegen .NET entschieden habe, und nun fast nur noch bei C++ bin.
Das gute alte VB6 schmeiße ich noch für alte Projekte an, oder um mal eben schnell eine Idee zu prüfen, da die IDE einfach sofort startet, und sich simple Konzepte schnell mal zusammenschustern lassen.
C++ nutze ich zum entwickeln genannter Services, das lässt sich auch plattformübergreifend umsetzen.
Für GUI Anwendungen verwende ich in C++ das Qt Framework, was so ziemlich das umfangreichste ist, was es für C++ gibt. Der Grund ist auch hier Portabilität auf Linux oder MacOS.
Sicherlich lässt sich das auch mit Java oder Mono machen, aber wie es so schön heißt: Viele Wege führen nach Rom. Java z.B. ist mir zu träge im GUI-Bereich, bzw. ist die GUI-Gestaltung an sich ziemlich unkomfortabel. Das Argument des hohen Speicherverbrauchs ist wohl in den heutigen Zeiten nicht mehr so passend.
Ich hätte übrigens kein Problem damit, auch VB.NET bzw. das .NET Framework an sich zu verwenden, wenn es verlangt werden würde. 
Gruß,
Nukeduke
if (youAreHappyAndYouKnowIt) {
ClapYourHands();
} |