vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Allgemein15.05.05
VB.NET oder C# ?

VB-Version:  VB5, VB6
 Views:  10.325 

Vor einiger Zeit hat Ralf_oop zu diesem Thema einen Thread im VB.NET-Forum geschrieben. Wir dachten uns, dass er sehr interessant ist und nicht verloren gehen sollte:

Ständig kommt die Frage auf, welche Sprache besser sei: C# oder VB.NET. Dieser Thread soll Klarheit schaffen.

Prinzipiell bieten alle .NET-Sprachen (dazu gehören neben C# und VB.NET auch C++ mit Managed Extensions, J# und weitere Sprachen) eine grundlegende "Mindestausstattung" von Features, die unterstützt werden müssen. Dies ist durch die "Common Language Specification" (CLS) gewährleistet. Wenn die CLS nicht unterstützt wird, ist es keine .NET-Sprache. Durch die Einhaltung der CLS kann man mit jeder .NET-Sprache jeden Typ von Anwendung entwickeln. Durch die Verwendung des .NET-Frameworks kommt die riesige Funktionsvielfalt zustande, da es (alle) benötigten Funktionen beinhaltet, wie Multithreading, Variablentypen, Verschlüsselung, XML-Unterstützung oder Zugriff auf die Windows-Registry.

Unterschiede zwischen den .NET-Sprachen liegen einmal im Codestyle (z. B. geschweifte Klammern in C#) und in Feinheiten, wie die XML-Kommentare von C#. In C# ist es möglich, durch eine Compileroption aus den XML-Kommentaren eine XML-Datei zu erstellen, die von weiteren Tools verwendet wird und z. B. daraus eine Dokumentation zu erstellen. Dieses Feature gibt es in VB.NET (noch) nicht. Es kann aber von einem Tool geschlossen werden. C# bietet auch die Option, ein Objekt nach Verlassen eines bestimmten Codeblocks automatisch wieder zu zerstören; über dieses Feature wird VB.NET in der nächsten Version verfügen. Allgemein unterscheidet sich C# nur minimal von VB.NET (außer im Codestyle). Es findet nur deshalb so eine hohe Verwendung, da sich C++-Programmierer schneller in C# einarbeiten als in VB.NET. Aber es besteht die Möglichkeit, von Klassen zu erben – egal in welcher Sprache diese ursprünglich erstellt wurden, da beim Kompilieren kein Maschinencode erstellt wird, sondern ein Zwischencode namens IL-Code, ähnlich dem Bytecode von Java. Im Gegensatz zum Bytecode wird der IL-Code beim Starten in Maschinencode übersetzt und auf die zu Grunde liegende Plattform optimiert (z.B. auf einen Pentium4-Prozessor). Durch diesen IL-Code ergeben sich auch keine Performance-Unterschiede, da dieser immer schnell ausgeführt wird, unabhängig von der ursprünglich verwendeten Sprache. .NET-Programme werden nur durch den Code beeinflusst, d.h. wer guten (optimierten) Code schreibt, hat auch .NET-Programme, die besser ausgeführt werden als schlechter Code. Dies ist aber nichts Neues, dies ist auch z.B. in C++ der Fall.

Fazit: Egal ob C# oder VB.NET – beide Sprachen können bis auf wenige Details das Selbe, was sich aber mit VB.NET 2005 (Erscheinungstermin: voraussichtlich 3. Quartal 2005) ändern wird. Auch bringt das Umschreiben von Code in eine andere Sprache keinen Sinn, besser ist es, einfach eine neue Klasse zu erstellen, die den vorhandenen Code überschreibt.

Diese Seite wurde bereits 10.325 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2019 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel