Wenn Informatiker über Programmiersprachen diskutieren, gibt es oft keine Alternative zur eigenen Lieblingssprache. Besonders auffällig ist das bei C#-Entwicklern, die VB.NET allgemein wenig schätzen. ZDNet räumt mit den Vorurteilen auf.
Wechselt ein Programmierer von VB.NET auf C# und will später wieder mit VB.NET arbeiten, erntet er meist ungläubige und unverständliche Reaktionen. Oft grenzen sie schon fast an Anfeindungen, obwohl es dafür eigentlich keinen Grund gibt.
Wenn die Anhänger der Java-, Ruby- oder PHP-Gemeinde so reagieren würden, dann wäre das ja durchaus noch nachvollziehbar. Schließlich gibt es hinsichtlich der Philosophie und der Form ziemliche Unterschiede zwischen VB.NET und anderen Sprachen, und darüber lässt sich durchaus diskutieren. Aber die größten VB.NET-Gegner sind scheinbar C#-Entwickler. Und das ist wirklich nur schwer nachvollziehbar.
Wenn jemand von VB.NET zu C# wechselt, dann kann es dafür ganz einfache Erklärungen geben. Vielleicht muss etwa ein Programm überarbeitet werden, das ursprünglich in C# geschrieben wurde. Es muss nicht daran liegen, dass die Möglichkeiten von VB.NET eingeschränkter sind. Im Gegenteil, VB.NET erfüllt in den meisten Fällen die Bedürfnisse der Programmierer. Aber eine Menge Programmierer üben einen enormen sozialen Druck aus, der viele schließlich dazu bewegt, es mit C# zu versuchen. Denn in der .NET-Welt bekommt man den Eindruck, dass VB.NET-Entwickler als unfähiger und weniger erfahren gelten als C#-Entwickler oder dass C# schlicht und ergreifend die bessere Programmiersprache ist.
Allerdings kommen diese VB-Ressentiments nicht von ungefähr. Die VB-Familie aus VB6, VBA, VBScript und allen anderen Varianten ist aus technischer Sicht eine wirklich absolut erbärmliche Sprache. Eigentlich war früher das einzig Gute an VB, dass man damit schneller ans Ziel kam als mit der damaligen Alternative - und das war C++. Mit VB war man damals sogar schneller als mit Delphi, obwohl diese Sprache genauso einfach zu verwenden und zudem technisch sogar überlegen war.
Aber sämtliche Makel von VB nun automatisch auch VB.NET anzuheften, das ist schlicht und ergreifend ein großer Fehler. Als VB.NET herauskam, gingen VB-Entwickler auf die Barrikaden und äußerten massive Beschwerden. Aber das lag daran, dass es sich bei VB und VB.NET um zwei vollkommen unterschiedliche Sprachen handelt, die zufälligerweise so viel Syntax gemeinsam haben, dass sie auf den ersten Blick identisch scheinen mögen. Da man mit den Unterschieden zwischen VB und VB.NET aber ein eigenes Buch füllen könnte, wird an dieser Stelle von einer Auflistung abgesehen. Aber abgesehen von Ähnlichkeiten auf Syntax-Ebene lässt sich definitiv sagen, dass VB und VB.NET verschiedene Sprachen sind.Die Sprache, die VB.NET aus technischer Sicht (und nicht auf Syntax-Ebene) am nächsten kommt, ist C#. Dank des .NET Framework sind die Libraries von VB.NET und C# identisch. Das heißt: Alles, was man in Bezug auf Library-Aufrufe in einer Sprache machen kann, das ist auch in der anderen Sprache möglich. Was die Funktionalität anbelangt, so bietet C# zwar ein paar Dinge, die mit VB.NET nicht möglich sind (mehrzeilige Lambda-Statements sind hier ein wichtiges Element), aber auch VB.NET hat Dinge zu bieten, die bei C# fehlen (zum Beispiel optionale und benannte Parameter, die eine wichtige Rolle spielen). In .NET 4.0 werden die meisten Unterschiede ausgeräumt sein. Der durchschnittliche Entwickler in einem Unternehmen wird wohl nie eine Funktion in C# nutzen, die VB.NET nicht auch bietet - und umgekehrt.
Unterm Strich muss man einfach sagen, dass die Entscheidung für VB.NET oder für C# im Grunde genommen einfach eine Frage des persönlichen Geschmacks ist. Aber daran gibt es ja nichts auszusetzen. Einige Entwickler arbeiten eben lieber mit einer wortreicheren Sprache wie VB.NET, andere hingegen mögen es lieber kurz und knapp. In beiden Fällen gibt es Vor- und Nachteile. Aber so zu tun, als sei VB.NET ein Murks und C# die beste Sprache überhaupt, ist einfach völliger Blödsinn.