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.
Neueste Kommentare
28 Kommentare zu Warum blicken C#-Entwickler auf VB.NET herab?
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
Was hier sich manche sogenannte C-Profis einbilden ist mir nicht ganz klar. Ich könnte mich jetzt hinstellen und sagen „Wer nicht direkt in Maschinencode schreibt, sollte bei seinem Geodreick bleiben.“ Ich bin aus der Zeit, wo man Lochstreifen als Utopie ansah. Die Frage kann doch heute nicht mehr sein, welche Sprache ist die Beste vb.net, c#, php etc. Die Frage muss sein, welches Werkzeug ist am besten geeignet, um ein definiertes Ziel zu erreichen und das unter dem Aspekt eines Breakeven. Ich für meinen Teil, würde für ein Programm, was nicht mehr macht als „Hallo HAL“ zu kommunizieren, nicht die Mühe machen einen Maschinencode oder C#-Code zu entwickeln, sondern eher einen Code in VB.NET, oder je nach Systemzielsetzung html,java oder php.
Ich kenne noch die Anfänge mit dem ZX81 und dem 6502.
Ich habe schon mit Peek und Poke bei Commodore Basic rumgespielt und
Speichererweiterungen von 16k ganz stolz in meinen PC eingebaut.
Irgendwann kam ich dann zu VB6, habe Java und ABAP gelernt und bin
berufsbedingt bei .Net gelandet.
VB.Net ist in jedem Fall im Gegensatz zu VB6 ganz klar objektorientiert,
allerdings dabei etwas weniger konsequent und streng als C#.
C# ist eigentlich die Microsoft Antwort auf Java, nicht immer ganz geglückt
aber dafür näher an Windows.
C++ ist demgegenüber historisch am nächsten am Prozessor und daher
(üblicherweise) auch am schnellsten.
Mit der einen Sprache geht das Eine besser, mit der anderen etwas anderes.
Wenn ich Daten von Excel in eine Access Datenbank schaufeln muss und dafür
am Markt auch einen Entwickler finden will, dürfte VBA oder VB.net die
beste Wahl sein.
Will ich plattformunabhängig und robust programmieren, nehme ich Java usw. usw.
Jetzt aber eine Sprache (und deren Entwickler) runter zu machen benötigt
zwei Dinge: Ignoranz und Arroganz, denn alle Sprachen die sich bis heute
über ihre Verbreitung durchgesetzt haben, haben ihre Berechtigung.
Das ist doch mal eine vernünftige aussage @schubi! :) Ich bin selber java entwickler und habe auch mit C gearbeitet und kenne mich nur bedingt mit .NET aus oder C# , allerdings braucht es keine dieser kenntnisse um zu erkennen das hier ein Kindergarten-streit entfacht ist darum wer das coolere spielzeug hat :) .
VB.NET ist einfach etwas wortreicher und dadurch etwas weniger kryptisch, was das Erlernen der Sprache und evtl. auch das Lesen des Quellcodes vermutlich ein wenig erleichtert aber VB.NET ist grundsätzlich nicht weniger mächtig.
Mit VB.NET kann man wesentlich produktiver arbeiten. Deshalb ist es für mich auch DIE Sprache für Windowsanwendungen und um .NET-Funktionen wirklich auszureizen. VB.NET ist nicht case-sensitiv, keine Klammern, kein Semikolon, Einrückungen „flutschen“ von selbst und das kompilierte Ergebnis unterscheidet sich nicht zu dem von C#. Zeit ist eben Geld und wer für Windows programmiert, programmiert in .NET. Warum also mehr Aufwand betreiben als nötig. C# wurde eingeführt um alteingesessenen Programmierern das .NET-Framework schmackhaft zu machen.
Was ich auch erstaunlich finde, dass es noch Programmiere gibt die versuchen die Performance von Windowsanwendungen zu hinterfragen und zu verbessern. Prozessorkerne und GB-Arbeitspeicher im zweistelligen Bereich sind heutzutage nichts besonderes mehr… Die Performance der fertigen Anwendung wird zudem vom Compiler festgelegt, der wiederum von ganzen Entwicklerteams optimiert wird.
Weitere Vorzüge von VB.NET sind hier Dokumentiert:
https://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET
Die Assoziation von VB.NET und BASIC scheint in den Köpfen älterer Generatornen verankert zu sein und wird wohl mit den nachfolgenden Generationen verschwinden.
Übrigens programmiere ich auch in C/C++, dann allerdings hardwarenah.
Hallo,
ich programmiere seit 1987 ein kommerzielles CAE-Programm. Die aufwändigen Berechnungen programmiere ich nach wie vor mit Fortran 90, die Grafik habe ich dagegen vor 15 Jahren von VB6.0 und OpenGL auf VB.NET und DirectX9 umgestellt. Ich bin mit VB.NET und DirectX9 sehr zufrieden – allerdings könnten die Grafikanimationen mit über 10 Millionen Triangles etwas schneller ablaufen. Für alle die 3D programmieren wollen aber kein C++ können stelle ich auf der Webseite http://www.3dvbview.de einen 3D-CAD-Viewer mit Quellcode in VB.NET mit DirectX9 für € 49 zur Verfügung.
R.S.
Du schreibst, das einzig Gute an VB war, dass man damit schneller an Ziel kam.
Ich meine, das ist nicht das einzig Gute, sondern überhaupt das Wichtigste an einer Programmiersprache!
Was nützt eine Sprache mit eleganter konsistenter Syntax, wenn man damit doppelt so lange braucht, um eine robuste und wartbare Anwendung zu erstellen?
VB war und ist die Sprache mit der Anwendungsentwickler die höchste Produktivität entfalten. Mit füheren Versionen von Visual Studio wurde nachgewiesen, dass man mit VB doppelt so schnell ist wie mit C#. Mit Version 2010 hat C# zwar ganz gut aufgeholt, aber VB hat immernoch Merkmale die in C# fehlen. Besonders wichtig sind in dem Zusammenhang Merkmale die den Code besser lesbar machen, und Merkmale die dem Programmierer helfen, Fehler zu vermeiden indem sie ihn von der zugrundeliegenden Komplexität abschirmen.
Insbesondere sei hier das Event-System von VB genannt („Handles“-Syntax), welches einfach auf einem höheren Niveau funktioniert. In keiner anderen Spache kann man so einfach und Transparent mit Events umgehen. In C# ist das wesentlich umständlicher und fehlerträchtiger; man kann sogar Speicherlecks produzieren wenn man nicht aufpasst. Noch komplizierter und unübersichtlicher ist es allerdings in Java, und erst recht in Delphi.
An ein umfangreiches Projekt mit Event getriebener Architektur würde ich mich daher nur mit VB heranwagen.
Mir gegenüber wurden auch schon auf herablassende Weise Vorurteile gegenüber VB verlautet. Die betreffenden Personen hatten sich aber alle noch nie mit den Unterschieden zwischen VB und ihren jeweiligen Lieblingssprachen auseinandergesetzt. Es sind also einfach nur dumme, unbegründete Vorurteile deren Ursprung mir ein Rätsel ist.
Und noch eine Anmerkung zu deiner Äußerung, dass Delphi VB6 technisch überlegen war: Das ist Unfug. Delphi ist genau so eine umständliche Low-Level-Sprache wie C++ (manuelle Speicherverwaltung und dergleichen) und damit ebenfalls eher für Systementwicklung prädestiniert. Es kann daher VB6 in keinster Weise das Wasser reichen wenn es um Anwendungsentwicklung geht.
Die Aussage „Delphi ist genau so eine umständliche Low-Level-Sprache wie C++“ ist einfach falsch. Ich arbeite z.Zt. an zwei Projekten mit viel Datenbankzugriffen mit VB.Net.
Ich hätte diese Aufgaben mit Delphi wahrscheinlich bereits abgeschlossen. Leider kann ich mit meiner „privaten“ Delphi-Version nicht für Kunden programmieren. Deshalb fiel die Wahl auf VB.Net.
Wenn man sich erst einmal in die Syntax eingearbeitet hat, dann kommt man schnell zum Ziel. Wichtig für mich war die Erfahrung, dass der Knackpunkt bei den kleinen Helferlein (Datset-Wizzard u.Ä) von MS liegt und an ADO.Net. Diese Module, die automatisch erzeugt werden, und beim Löschen der Komponenten (Bindingsource, TableManager,etc) als Leichen im Projekt verbleiben, wären mal ein Thema sich aufzuregen. Oder diese „praxisfremden“ Offline-Datenbankzugriffe, darüber solltet Ihr diskutieren.
Und zum Schluss noch eines:
C# gibt es doch bei MS erst seit man die Chefentwickler-Crew für Delphi erfolgreich von Borland abgeworben hat.
Wie ich die erste C# Version von MS gesehen habe, konnte ich mich eines verträumten Plagiatsanfalles kaum erwehren. Soviel zur „Supersprache“ C# in der „Profiliga“.
L.G.
Blödsinn
Also, ich programmiere meine Software in beiden Sprachen, die GUI ist in VB.NET und die Routinen fast alle in C#. Dass ist doch kindisch sich jetzt darum zu streiten / zu prügeln welche Spaeche die bessere von beiden ist!
Das alte VB war besser.
Ich bin ein Liebhaber der guten alten VB-Versionen, also z.B VB5 oder VB6.
VB hatte niemals den Anspruch eine "Profisprache" zu sein, sondern hat dem Programmierer die Arbeit erheblich erleichtert.
Natürlich war die Geschwindigkeit bei VB im Vergleich zu VC++ oder Delphi relativ langsam, aber bei vielen Anwendungen war dieser Geschwindigkeitsvorteil irrelevant.
Wenn ich z.B ein kleines Programm benötige, das sowohl in C++ als auch in VB realisiert werden könnte und die Geschwindigkeit nicht entscheidend ist, dann entscheide ich mich natürlich für VB, denn schließlich ist die Programmierung damit schneller und einfacher.
Warum sollte man sich also die Mühe machen und dieses Programm extra in C++ programmieren, nur weil C++ einen besseren Ruf hat?
Von VB.NET bin ich sehr enttäuscht.
Microsoft hätte lieber VB als "gutes altes" VB weiterführen sollen und nicht diesen Mischmasch mit dem .NET Framwork veranstalten sollen.
Wenn ich mir die heutige VB.NET Version ansehe, dann ist das ein Mischmasch aus dem alten VB und C# u.s.w, also nichts halbes und nicht ganzes und unter diesem Umständen kann man dann auch gleich zu C# greifen.
Ich wundere mich immer wieder über die Arroganz der C++/C# Entwickler, die den VB-Programmieren Dummheit und Naivität unterstellen.
AW: Warum blicken C#-Entwickler auf VB.NET herab?
Ihrer Aussage hätte ich vor ein paar Jahren noch zugestimmt, bis ich mich, im Zuge eines Projektes doch endlichmal ernsthaft mit VB.NET auseiandersetzten musste.
Was einem anfangs so vorkommt, wie ein Mischmasch aus zwei Welten ist gar nicht so. Ganz im Gegensatz. Das merkt man aber erst, wenn man sich eine Weile wirklich ernsthaft damit auseinandergesetzt hat.
Heute möchte ich .NET und in meinem Fall VB.NET nicht mehr missen. Vieles, nein sehr vieles, geht einfach um ein vielfaches leichter und einfacher als mit dem alten VB6. Da liegen wirklich Welten dazwischen.
Zudem hat sich auch die Entwicklungsumgebung deutlich weiterentwickelt, aber auch da braucht es eine Weile, bis sich die routine einstellt.
AW: Ein Märchen namens VB.Net
Ich beschäftige mich schon seit vielen Jahren mit der Programmierung in den verschiedensten Sprachen: Visual Basic, C, C++, C#, VB.Net, Pascal/Delphi, Java und für Webseiten PHP und JavaScript; sowie Assembler.
Ich habe allerdings nicht vor, hier detailliert auf die Unterschiede, Komplexität, sowie Vor- und Nachteile der einzelnen Sprachen einzugehen. Aber wenn ich lese, was hier zum großen Teil für ein Unsinn zusammengeschrieben wird, muss ich mich doch mal zu Wort melden. Ein paar Auszüge:
"Ich habe noch nie ein einziges vernünftiges Argument gehört, das für VB.NET spricht."
Mag auf Sie zutreffen, es gibt dennoch einige.
"Damit lässt sich NICHT leichter und NICHT schneller programmieren …"
Das kommt auf die Sprache, mit der verglichen wird, an. Es lässt sich jedoch damit leichter und schneller programmieren, als mit vielen anderen Sprachen, einschließlich C#.
"… als mit echten objektorientierten Sprachen."
VB.Net ist im Gegensatz zu VB Classic eine "echte objektorientierte Sprache". Das war auch der Sinn dieser komplexen Änderung.
"dass VB.NET leider einen guten strukturellen Programmierstil sowie Systemdesign kaum zulässt"
Ich habe den Eindruck, dass Sie noch nie mit VB.Net, sondern nur mit älteren VB-Versionen gearbeitet haben und/oder anderen Basic-Dialekten.
"… inwiefern macht es dann noch Sinn, nicht gleich auf C# umzusteigen ???"
Wenn die Sprachen doch sowieso fast gleich sind, wie Sie geschrieben haben, wieso schreiben Sie dann oben, dass VB.Net im Gegensatz zu C# keine echte objektorientierte Sprache ist? Ihre Aussagen sind total widersprüchlich!
—
"Gut, mit BASIC kommt man sehr schnell ans Ziel aber doch nur weil es so simpel und eben nur für Anfänger konzipiert ist. In der Profiliga kommt man nun mal nicht an Sprachen wie C#, C++ usw. vorbei."
So einen Satz habe ich schon öfter gehört und so ein Satz wird ausschließlich von Leuten gesagt, die gar nicht wissen, worauf es bei einer Programmiersprache ankommt, damit sie zur – wie Sie sagen – "Profiliga" gehört. Schon der Begriff "Profiliga" lässt auf mangelnde Kenntnis und mehr auf Nachplappern schließen. Wie auch immer C# und C++ im Sinne von "Profiliga" in einen Topf zu werfen ist schlichtweg falsch. Um es kurz zu fassen: C# ist zwar an die Syntax von C angelehnt, aber einfacher gehalten, also eher wie VB.
"… VB vollkommen aus .NET zu streichen da es keinen Sinn macht eine nicht zu 100% OOP fähige Sprache weiter zu pflegen"
"VB.NET bedient eben nur die Nachfrage nach einer Kindergartensprache mehr nicht"
"100% OOP", "Kindergartensprache" Schon wieder völlig sinnfreie Aussagen.
"ich denke das VB ohne hin bis auf VBA verschwinden wird, da Microsoft auf Dauer dieses rodukt nur noch separat für Anfänger anbieten kann."
Es wird wohl eher genau umgekehrt werden. VBA wird laut Microsoft evtl. irgendwann durch eine leistungsfähigere, modernere und an das Framework angepasste Sprache ersetzt und VB.Net wird eher bleiben, da es nun ja von Microsoft überarbeitet und angepasst wurde. Die "Pflege" jetzt ist recht einfach.
"aber eben auch wie viel an OOP in VB.NET verloren geht"
Bitte????? Im Gegenteil die Objektorientiertheit hat mit VB.Net im Gegensatz zu VB Classic (also VB6 und abwärts) extrem zugenommen!
"Der o.a. Bericht zeigt einfach die Unwissenheit der Redaktion! VB.NET ist nicht mal halb so gut wie C# von der halben OOP Fähigkeit mal ganz zu schweigen"
Ich würde den Mund nicht so voll nehmen. Die Redaktion hat im Gegensatz zu Ihnen 1000mal besser recherchiert!!! Auf Ihren vorletzten Absatz gehe ich am Besten gar nicht erst ein, sonst müsste ich noch seitenweise schreiben.
—
Dem darauffolgenden Beitrag kann ich mich völlig anschließen:
"Das klingt alles sehr nach Halbwissen und sogar falschen Aussagen … zwischen c# und vb.net sind minimal und zu vernachlässigen (bis auf die offensichtliche Syntax und kleinere Sprachkonstrukte natürlich)."
—
TomTom auch Ihr zweiter Beitrag wird leider nicht besser. Genau der gleiche Unsinn:
"… und ist für professionelle Dinge total ungeignet"
Für was denn beispielsweise? Wenn Sie erfahrener C++-Programmierer wären, würde Ihnen sicherlich etwas einfallen. Allerdings nur einen Satz weiter ausgerechnet von C# zu schreiben, ist unsinnig.
Mit freundlichen Grüßen.
C# Entwickler
Also ob C# oder VB.net war mir bisher eigentlich immer vollkommen egal. Vielleicht deutet diese oder eine vergleichbare Aussage ja an, ob und bei wem es sich um einen guten oder bemittleidungswürdigen Entwickler handelt… ;-P
Was ich Euch aber auf gar keinen Fall vorenthalten möchte, ist, wie folgendes Unternehmen Ihren Delphi Entwickler beschreibt:
http://www.infuracom.net/Delphi_Entwickler.html
Dahingegend entspricht die Beschreibung der C# Entwickler gar schon wieder einer Lobeshymne:
http://www.infuracom.net/C-Sharp_Entwickler.html
Auf jeden Fall was zum Schmunzeln… :-D
LG, die Maggi
Nicht wieder solche sinnfreien Beiträge
von Ludwigam 30. April 2009, 14:27 Uhr Ein Märchen namens VB.NET
Entschuldigen Sie, ich habe (leider) Ihren kompletten Beitrag gelesen. Leider, weil es eigentlich nicht nötig gewesen wäre, ihn gänzlich zu lesen, denn die Qualität ihrer Recherchearbeit disqualifiziert sich bereits mit dem Datum Ihres Beitrag und der Aussage gleich zu Beginn bezüglich:
„Erst neulich konnte ich zufällig ein Gespräch über das tolle neue Visual Basic mithören“
Wenn jemand im April 2009, also viele Jahre nach Einführung einer voll objektorientierten Programmiersprache einen Beitrag, zudem mit einem solchen Überschrift, verfasst, der hat sich selbst und seine fachliche Qualifikation bereits geoutet, bevor er den Artikel beendet hat.
Sie sollten eventuell Ihre Grundeinstellung überdenken! Ihr Artikel richtet sich fast gegen eine Personengruppe, als gegen eine Sprache. Beides ist in der Form bereits bedenklich, da es beides nichts, aber rein gar nichts mit Programmierung und der täglichen Arbeit an logischen Abläufen zu tun hat.
Wenn Sie VB.NET in Frage stellen, stellen Sie zudem das NET Framework in Frage
Trotzdem viel Glück, weiterhin!
Ein Märchen namens VB.NET
Erst neulich konnte ich zufällig ein Gespräch über das tolle neue Visual Basic mithören, das jetzt in der VB.NET-Version so leistungsfähig sei.
Es sei nicht nur als Einsteigerprogrammiersprache ideal, sondern nun auch für den professionellen Entwickler.
Zu meiner Person: Ich selbst bin mit den original Basic-Varianten (meistens PowerBasic, QBasic und Atari ST Basic) aufgewachsen
und konvertierte später über Visual Basic 6.0 zu C++, Java und C#. Demnach kann ich von mir behaupten, eine unvoreingenommene Sicht auf die verschiedenen Sprachen zu besitzen.
Das mitbekommene Gespräch liess mich über meine Erfahrungen in den verschiedenen Sprachen nachdenken.
Ich muss deutlich ausdrücken:
Es ist schier unglaublich, wie weit der Irrglaube verbreitet ist, dass VB.NET leichter zu lernen sei, als eine Sprache wie C#.
Es ist bedauerlich, wie manche Programmierer/innen ihre Arbeit auf einer solch trübseligen Argumentation basierend unbewusst erschweren.
Ich habe noch nie ein einziges vernünftiges Argument gehört, das für VB.NET spricht.
Bereits kurz nach meinem Einstieg in Java bzw. C# habe ich bedauert, so viel Zeit mit VB verbracht zu haben.
Damit lässt sich NICHT leichter und NICHT schneller programmieren, als mit echten objektorientierten Sprachen.
Im Gegenteil. Nur eine echte objektorientierte Sprache erlaubt eine leichte Programmierung.
Ich kann auch die Auffassung vertreten, dass VB.NET leider einen guten strukturellen Programmierstil sowie Systemdesign kaum zulässt.
Gemäß meinen Recherchen hatte Microsoft sogar einst vorgehabt, VB ganz aus der Visual Studio-Reihe zu entfernen, da es als überflüssig angesehen wurde.
Doch Proteste der VB-Community schafften es letzendlich, dies zu verhindern. Hurra. Microsoft bedient nun weiterhin die Naivität einer
breiten Schicht von Informatikern/innen.
Ich habe mir die derzeitige Variante von VB.NET angesehen, wie sie in VS2008 zu finden ist. Überraschend stelle
ich eine Mutation des "guten alten" Basic fest, das nun versucht, sich an eine objektorientierte Programmiersprache anzuschmiegen.
Es ist ausser der Syntax kaum noch mit dem klassischen Basic zu vergleichen.
Sogar Vererbung und Polymorphismus sind nun in VB.NET möglich. Mein Gedanke: Inwiefern macht es dann noch Sinn, nicht gleich auf C# umzusteigen ???
Allein die Vorstellung, diese erweiterte Funktionalität mit der eingeschränkten Basic-Syntax zu bewältigen, müsste eigentlich schon den
weit verbreiteten Irrglauben, VB.NET sei leichter als andere Sprachen, beseitigen.
Man findet im Internet Aussagen wie "…VB.NET und C# verwenden die gleiche CLR (=Common Language Runtime) und .NET-Framework. Somit sind beide Sprachen funktionell gleichwertig…"
Tatsache. Stimmt. Allerdings nicht ganz. Diese Aussagen von Microsoft sind leicht falsch zu verstehen. Sie beziehen sich nicht auf die Compiler
der jeweiligen Sprache, und nicht auf bequeme Möglichkeiten der Programmierung.
Beispielsweise werden in VB.NET weder simple Präfix/Suffix-Operatoren, noch standardmäßige mehrzeilige Kommentierungen unterstützt.
In einer näheren Untersuchung vom aktuellen VB.NET deuten die Ergebnisse auf ein wenig sinnvolles Konzept seitens Microsoft hin.
Zum Beispiel wurde die bekannte Laufzeitbibliothek(=Modul) entfernt, ohne den Versuch der Attributsübergabe über den Compiler zu unterlassen.(Sinn?)
Der "Hammer" bleibt für mich persönlich die teilweise alte VB-Fehlerbehandlung, auf dessen Unterlassen der Programmierer durch Meldungen zwar hingewiesen wird,
deren Referenzmethoden jedoch der Compiler trotzdem mit einkompiliert, obwohl sie nicht verwendet werden (!!!)
Auch in Grenzfällen einer Exception (catch-Block) werden diese teilweise einfach ignoriert. Dies bedeutet, dass VB.NET-Programme lieber abstürzen
anstatt ein Exception-Handling zu befolgen.
Daraus lässt sich schließen: Microsoft war so sehr mit der äußerlichen Umstrukturierung von VB.NET beschäftigt, dass keine Zeit mehr für die inneren,
eigentlich wichtigeren, Reformen übrig blieb.
Auf diese Andeutung äußert sich Microsoft ausweichend mit dem subjektiven Kontext: "Das merken die VB-Programmierer sowieso nicht."
VB.NET-Programme haben eine definitiv instabile Performance, obwohl, wie oben erwähnt, auch andere Sprachen das gleiche Framework verwenden.
Entscheidend dafür ist leider das semantische Konzept des Compilers, nicht nur das Framework selbst.
Es ist scheinbar für die Projektleiter von Microsoft unklar, in welche Richtung sich VB.NET seit
dem Verkaufsschlager VB 6.0 entwickeln soll. Bisher ist eine sich selbst widersprechende Ideologie, gemischt aus dem alten Basic und
einer objektorienterten Sprache zu erkennen. Ich gebe jedoch den Microsoft-Projektleitern keine Schuld an den Umständen.
Sie haben VB.NET niemals als sinnvolles Instrumentarium für Informatiker/innen dargestellt. Sie bedienen lediglich die Nachfrage.
Aber VB.NET hat ja noch genügend Zeit, sich weiterzuentwickeln.
Microsoft wird es nun wieder verbessern, verbessern und verbessern.
In der endültigen Fassung bekommt es dann schließlich einen neuen Namen: C#.
AW: Ein Märchen namens VB.NET
Deine Angaben stimmen nicht ganz. Tatsächlich ist das Programmieren mit VB.net einfacher, weil es intuitiver zu verwenden ist. In C# muss man strikte Regeln einhalten, Typen müssen immer korrekt konvertiert sein, sonst knallt es, Events in C# sind alles andere als schnell eingebaut und intuitiv zu bezeichnen. Auch gibt es zahlreiche Funktionen in VB, die in C# einfach fehlen, die einem aber das Leben einfacher machen.
C# ist eine Sprache für Informatiker, VB.net ist sehr wohl etwas einfacher zu erlernen. Auf der anderen Seite wird einem für meinen Geschmack bei VB zu viel verborgen, um die Dinge eben einfacher erscheinen zu lassen. Bei C# hat man dagegen alles direkt in Reichweite (Codebehind-Dateien des Designers bei ASPX sind bei VB nicht sichtbar).
Ich bevorzuge auch C#, jedoch ist einiges hier auch Knochenarbeit, die man bei VB deutlich weniger hat.
AW: AW: Ein Märchen namens VB.NET
VB.NET ist schlicht sehr viel einfacher als Cä der Grund besteht darin, das VB.NET die Anfänger bedienen muss nämlich BASIC Programmierer. Das beginnt schon dabei, das folgender Aufruf in C# so nicht möglich ist:
MsgBox (Form1.TextBox1.Text)
In C# müssen wir bekanntermaßen die Instanz von Form1 an Form2 als Parameter übergeben in VB.NET geschieht dies automatisch, völlig im Hintergrund d.h. OOP ist in VB.NET weder konsiquent vorhanden noch realisiert worden im Gegenteil: VB.NET ist so einfach wie VB6 die Stolpersteine und die Bequemlichkeit aus VB6 wurden weiter übernommen siehe dazu: InputBox, Rnd, MsgBox usw. was soll der Schwachsinn? Offenbar traut man einem VB6er nicht zu, OOP zu programmieren und es stimmt auch! BASIC Programmierer sind es gewohnt möglichst einfach zu programmieren ohne nach zu denken und bei VB.NET muss man sich eben bei vielen Dingen keine Gedanken machen es geschieht automatisch im Hintergrund.
Ferner werden in VB.NET die wichtigen Elemente alle samt ausgebelndet, man sieht nicht was geschieht. Gut, mit BASIC kommt man sehr schnell ans Ziel aber doch nur weil es so simpel und eben nur für Anfänger konzipiert ist. In der Profiliga kommt man nun mal nicht an Sprachen wie C#, C++ usw. vorbei.
Microsoft täte daher gut daran, das VB vollkommen aus .NET zu streichen da es keinen Sinn macht eine nicht zu 100% OOP fähige Sprache weiter zu pflegen. Dafür gibt es VB6 Alternativen wie z.B. RealBasic ebenso easy wie VB6 und naja im Ansatz OOP aber VB.NET ist eben easy Way da kann man sagen und tun was man will!
VB.NET bedient eben nur die Nachfrage nach einer Kindergartensprache mehr nicht ich denke das VB ohne hin bis auf VBA verschwinden wird, da Microsoft auf Dauer dieses rodukt nur noch separat für Anfänger anbieten kann. Ich habe mich selbst gewundert, wie einfach VB.NET ist und wie viel Zeit ich spare aber eben auch wie viel an OOP in VB.NET verloren geht, wie viel fehlt und das VB.NET eine schlichte Mischung aus halb OOP und schlechtem Stil ist.
VB.NET ist einfach nur Blödsinn, wer damit programmiert tut mir wirlich leid die Unterschiede sind nicht zu vernachlässigen, im Gegenteil VB.NET ist nur halb OOP mit gefährlicher BASIC Schlichtheit. Tut mir leid, aber es gibt nicht ein Argument das für die blödsinnige Anfägnersprache VB.NET spricht im Gegenteil wer OOP konsiquent programmieren möchte muss C# oder C++ nutzen VB.NETer haben es eben nicht verstanden und meinen das C# Knocehnarbeit sei genau das Gegenteil ist aber der Fall wenn man sich einmal dran gewöhnt hat dann wird man den easy Way von VB.NET nicht missen! VB.NET Programmierer sollten nicht so tun, als sei VB.NET professionell C# wird die Zukunft sein und VB.NET wird hoffentlich bald verschwinden dann müssen diese BASIC Programmierer sich eben wieder dem klassischen BASIC zu wenden wo Sie meiner Meinung nach auch hätten bleiben sollen! VB.NET=Anfänger/Irrtum, C#=OOP/anständig!
Der o.a. Bericht zeigt einfach die Unwissenheit der Redaktion! VB.NET ist nicht mal halb so gut wie C# von der halben OOP Fähigkeit mal ganz zu schweigen wenn ich sehe, wie VB.NET Code aussieht wird mir schlecht wie einfach es MS den BASIC-Programmierern wieder mal gemacht hat!
Gruss TomTom
Was ist das denn für eine blöde Aussage von dir. VB sei zu einfach. Lol. Wo blöd Miss man denn sein in einer deutlich komplizierteren Sprache zu entwickeln wo man um zum Ziel zu kommen 3x mehr Zeit brauch. Ist doch völliger Quatsch. Man sucht sich doch den weg des geringsten Widerstandes. Der Elektronen machen auch nix anderes. Also ich liebe VB.net und ich muss dir sagen das man damit alles machen kann was auch in c Raute möglich ist. Ich versteh die Leute einfach nicht. „VB.net ist scheisse da kann man viel zu schnell mit programmieren“ was ist das für eine aussage ? Die Aussage müsste lauten: VB.net ist doch total gut da kann man voll schnell mit eine Anwendung entwickeln so wo man das möchte.
Diese Aussage zeigt ja wohl, dass du anscheinend nicht verstanden hast, worauf TomTom hinauswollte. Er hat nicht gemeint, dass es in VB(.Net) „zu einfach“ ist, zu programmieren, er meinte eigentlich „zu schlampig“!
Was ich persönlich an hochsprachiger Programmierung wie in C# oder Java so liebe, ist die explizite Unterscheidung zwischen Zugriffsmodifikatoren und Variablentypen. In C stand ich schon oft genug Kopf weil ich zB nen char-Wert als Zahl verwendet hab, das kann dir in C# nicht (so einfach) passieren.
C# ist eine sehr „definierte“ Sprache, es ist immer klar, welche Variablen wo sichtbar sind und auf welche ich wann zugreife. Offensichtlich ist das in VB.Net nicht so, wenn die Variablen einfach im Hintergrund weitergereicht werden!
Ich muss sagen, dass ich keine VB(.Net)-Erfahrung habe, aber offensichtlich ist dort genau das verloren gegangen, das ich an C# so liebe.
Und inzwischen, in .Net 4.5, ist es auch möglich, Standardwerte für Parameter in C# anzugeben.
However, falls ich mal VB.Net (beruflich) lernen muss werd ichs machen, aber sonst seh ich keinen Grund mir das anzutun.
AW: Ein Märchen namens VB.NET
Ludiwg, was ist denn eine "echte" objektorientierte Sprache?
VB.Net ist Deiner Meiung nach, also nicht objektorientiert und wenn dann erst seit Visual Studio 2008?
Das klingt alles sehr nach Halbwissen und sogar falschen Aussagen (vb.net unterstützt keine mehrzeiligen Kommentare, Fehlerbehandlung funktioniert nicht etc.).
Die Unterschiede zwischen c# und vb.net sind minimal und zu vernachlässigen (bis auf die offensichtliche Syntax und kleinere Sprachkonstrukte natürlich).
Anwendungen können in c# und vb.net nahezu identisch im Design aufgebaut werden und dies ist einfach ein Fakt.
Ich bin gepsannt, ob so "Experten" wie Du, dies auch irgendwann mal verstehen werden.
AW: AW: Ein Märchen namens VB.NET
Machen Sie sich hier selbst ein Bild:
http://toxbug.blog.de/2009/04/21/vb-net-schlechte-sprache-5982738/
Die meisten VB.NET-Programmierer verstehen diese Analyse leider ohnehin nicht, habe ich festgestellt ;-)
Zum Glück nicht mein Problem.
AW: AW: Ein Märchen namens VB.NET
VB.NET verschweigt den Entwicklern die OOP an vielen Stellen und ist für professionelle Dinge total ungeignet, von der mega schlechten Syntax und der unfähigen Sprache mal ganz abgesehen. Die Unterschiede sind vielleicht klein aber enorm! Genau an den Stellen, wo es auf OOP ankommt automatisiert VB.NET und macht es den Proggern leichter d.h. BASIC like und somit ist VB.NET weder eine echte OOP Sprache noch irgendwie brauchbar! DEfakto ist C# das Maß aller Dinge und VB.NET wird aussterben, da selbst MS inzwischen Zweifel hat ob VB überhaupt in der Form Sinn macht VB.NET ist nun mal enorm vereinfacht wundere mich immer wieder, das VB.NET Progger mal eben proggen können, obwohl sie eigentlich wichtige Elemente der OOP einfügen müssten aber die IDE von VB.NET nimmt ihnen die Arbeit ab daher kann man bei VB.NET nur über ein leicht verbessertes VB6 mit OOP Ansätzen sprechen, welches rein zufällig und auch nur auf Druck der VBer auf .NET aufsetzt. Im Profi Bereich ist VB keinerlei Thema.
AW: Warum blicken C#-Entwickler auf VB.NET herab?
Ähm, die VB6 Sachen bekommt man ganz einfach aus VB.Net raus, wenn man die Microsoft.VisualBasic Namespace aus dem Projekt streicht. Und was unsauberen Syntax angeht: Option Strict On!
C# ist auch eine gute Sprache, aber viel schwerer verständlich als C.
Aber ich weiß garnicht mal, was alle immer mit OOP haben, die wichtigste Sprache, die man zum Programmieren braucht ist ASM, und diese Sprache versteht von OOP genausoviel wie Feuer von Wasser.
AW: Ein Märchen namens VB.NET
Also Ihr Beitrag klingt sehr C#-affin, dennoch muss ich Ihnen zu bedenken geben, das C# erst lange Zeit nach Visual Basic.NET entwickelt wurde und unsere Interpretation einer C-Sprache in voll objektorientierter Form ist.
C# wäre in dieser Form niemals so entstanden, hätten wir nicht eine Referenzsprache Visual Basic und VFP gehabt.
Sie kämmen heute nicht in den Genuß Ihre Lobeshymnen zu C# zu schreiben, wäre VB und vor allem VB.NET nicht gewesen, denn erst diese gaben uns den Anstoß und die Möglichkeit in diese Richtung zu entwickeln.
VB.NET bietet vollständigen Funktionsumfang des Frameworks, umgesetzt durch MSIL bzw. CIL, wie auch C#, nur das wir in VB.NET die Referenzen und vorhandenen Strukturen einer über jahrzehnte gewachsenen Sprache übernehmen mussten, um unseren VBlern ihre gewohnte Unterstützung bieten zu können.
In wie fern das Nachteile sind, ist selbst in unserem Haus strittig, da auch hier Vorteile gewachsen sind, welche C# verborgen bleiben.
Abschließend möchte ich noch anmerken, das Ihrem Beitrag eine gehörige Portion persönlicher Ansichten und gefährlichem Halbwissen zu entnehmen ist! Mit beidem muß man nicht zwingend an die Öffentlichkeit gehen.
Gruß Benjamin
Dass C# zwei Jahre älter ist, als VB.Net, weißt du aber schon, oder?
Das du sieben Jahre gebraucht hast zum lesen dieses Kommentars ist dir auch klar oder ?