Zum Inhalt springen

Wie ist VB.Net einzuordnen?


Nitram-X

Empfohlene Beiträge

Hallo Leute

Ich würde einfach mal gerne wissen, wie Vb.Net einzuordnen ist.

Damit meine ich: Was kann man mit Vb.Net anstellen? Ist die Sprache tatsächlich mit C,C++ usw. vergleichbar?

Ich frage, weil ich bald anfange die Sprache zu lernen und wollte mir mal so ein oberflächliches Bild machen.

Ich weiß von früher, dass VIsual Basic eigentlich nicht ernst genommen wurde unter den Programmiersprachen... zumindest habe ich das immer so empfunden. Hat sich das mit Visual Basic.NET geändert? Auf Wikipedia habe ich gelesen, dass man damit nun auch Programme basteln kann, die nicht nur unter Windows lauffähig sind.

Wie sieht es mit der Geschwindigkeit der VB.NET Programme aus?

Was sind die Anwendungsbereiche?

EDIT: kurz: Wie Wettbewerbsfähig (auch in Zukunft) ist die Sprache?

Bin gespannt auf eure Beiträge

Link zu diesem Kommentar
Auf anderen Seiten teilen

Meiner Meinung nach ist VB.NET ebenbürtig zu C# - durch die Verwendung des .NET-Frameworks ist bis auf explizit unsicheren (unmanaged) Code alles möglich, was auch C# kann. Als Schmankerl bietet im Visual Studio der Just-in-time-Compiler schon beim Eintippen Fehlermeldungen, die C# erst beim Kompilieren anzeigt...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist die Sprache tatsächlich mit C,C++ usw. vergleichbar?

Nein, denn C und C++ sind native Sprachen während VB.Net auf dem .Net Framework aufsetzt und dieses benötigt.

Du kannst es aber mit allen anderen .Net Sprachen vergleichen da am Ende immer das Selbe rauskommt nämlich IL Code. Das heißt wenn du ein C# oder VB.Net oder C++.Net Programm übersetzt wird daraus immer IL Code erzeugt welcher dann weiter verarbeitet wird.

Der einzige Unterschied zwischen z.B. C# oder VB.Net ist erstmal nur die Syntax. Es gibt zwar noch ein paar andere Unterschiede wie zum Beispiel die Verwendung von COM aber diese fallen normalerweise nicht ins Gewicht.

Du kannst also VB.Net absolut nicht mehr mit VB vergleichen, außer das die Syntax noch gleich oder ähnlich geblieben ist (kenn mich da nicht so aus).

Was die Geschwindigkeit von .Net Programmen gegenüber "richtigen" Programmen ist, so lässt sich das schelcht allgemein beurteilen. Das kommt immer auf den Einzelfall an, es kann etwas schneller sein, es kann etwas langsamer sein. Es wird aber nicht soviel langsamer sein das du im Normalfall einen Unterschied feststellst und wenn doch dann liegt es nicht am .Net sondern am schlechten Code ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein, denn C und C++ sind native Sprachen während VB.Net auf dem .Net Framework aufsetzt und dieses benötigt.

Du kannst es aber mit allen anderen .Net Sprachen vergleichen da am Ende immer das Selbe rauskommt nämlich IL Code. Das heißt wenn du ein C# oder VB.Net oder C++.Net Programm übersetzt wird daraus immer IL Code erzeugt welcher dann weiter verarbeitet wird.

Und kann das Weiterverarbeitungsprogramm, das den IL-Code verarbeitet, auch unter anderen Betriebssystemen außer Win laufen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

VB .NET 1.0 ist alles andere als Ebenbürtig zu C# 1.1, es gibt viele Dinge, die mit VB .NET 1.0 nicht möglich waren (z.B. Operatorenüberladungen), die meisten fehlenden Möglichkeiten wurden, sowei ich weiß, mit VB 2005 ergänzt. Dementsprechend lässt sich frühestens mit VB .NET 2005 eine Ebenbürtigkeit zu C# feststelln.

Genauers, siehe Microsoft Corporation

MfG

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...
Hallo Leute

Ich würde einfach mal gerne wissen, wie Vb.Net einzuordnen ist.

Damit meine ich: Was kann man mit Vb.Net anstellen? Ist die Sprache tatsächlich mit C,C++ usw. vergleichbar?

Hi, du kannst prinzipiell alles damit programmieren, mit Ausnahme von Hardwarenahen Sachen wie Treibern. VB.NET ist nicht mit C++ aber mit C# vergleichbar. Es gibt einige Features die VB.NET bietet die C# nicht hat, umgekehrt genauso. Ich würde die Sprachen als völlig Gleichwertig bezeichnen.

Ich weiß von früher, dass VIsual Basic eigentlich nicht ernst genommen wurde unter den Programmiersprachen... zumindest habe ich das immer so empfunden. Hat sich das mit Visual Basic.NET geändert? Auf Wikipedia habe ich gelesen, dass man damit nun auch Programme basteln kann, die nicht nur unter Windows lauffähig sind.

Visual Basic 6 war gar nicht so schlecht wie man es immer redet, VB.NET ist aber auf jeden Fall eine komplette Neu-Entwicklung und erzeugt prinzipiell genau den selben IL-Code wie z.B. C#.

Theoretisch kannst du .NET Programme auf Non-Windows Systemen laufen lassen, wenn Plattform-Unabhängigkeit aber wirklich ein Faktor für dich ist würde ich keine .NET Sprache verwenden sondern eher Java.

Wie sieht es mit der Geschwindigkeit der VB.NET Programme aus?

Was sind die Anwendungsbereiche?

EDIT: kurz: Wie Wettbewerbsfähig (auch in Zukunft) ist die Sprache?

Auf jeden Fall schnell genug, für noch mehr Performance musst du C nehmen. Anwendungsbereiche sind alle denkbaren Windows Applikationen, Webserver Applikationen (dynamische Webseiten mit ASPX, Webservices), Windows-Dienste etc. Wie gesagt: Alles außer sehr hardwarenahem Programmen wie Treiber oder Hardwaresteuerung.

Wettbewerbsfähigkeit...hm, der Marktanteil ist geringer als bei C#, allerdings ist vb.net eine der drei aktuellen Sprachen von Microsoft für die Windowsplattform, die wird bestimmt nicht in den nächsten 5 Jahren verschwinden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

VB.NET ist aber auf jeden Fall eine komplette Neu-Entwicklung und erzeugt prinzipiell genau den selben IL-Code wie z.B. C#.

VB.NET ist KEINE komplette Neu-Entwicklung. Das .NET Framework ist eine komplette Neu-Entwicklung, hat aber im Grunde nicht mit irgendeiner Programmiersprache zu tun. Die Kürzel .NET bei den verschiedenen Programmiersprachen deutet lediglich darauf hin, das die Unterstützung für .NET hinzugefügt wurde. (z.B. VB.NET, C++ .NET oder C++ with CLR, Delphi.NET, ...)

Eine Ausnahme bildet hier C#, da diese Sprache zusammen mit dem .NET Framework entwickelt wurde und dieses somit auch am Besten unterstützt. Also wenn du mit dem .NET Framework anfange möchtest, würde ich auf jeden Fall zu C# greifen.

Außerdem bietet C# für die fortgeschrittete Programmierung auch noch einige schöne Dinge wie zum Beispiel die guten, alten Zeiger aus C++.

Link zu diesem Kommentar
Auf anderen Seiten teilen

VB.NET ist KEINE komplette Neu-Entwicklung. Das .NET Framework ist eine komplette Neu-Entwicklung, hat aber im Grunde nicht mit irgendeiner Programmiersprache zu tun. Die Kürzel .NET bei den verschiedenen Programmiersprachen deutet lediglich darauf hin, das die Unterstützung für .NET hinzugefügt wurde. (z.B. VB.NET, C++ .NET oder C++ with CLR, Delphi.NET, ...)

Eine Ausnahme bildet hier C#, da diese Sprache zusammen mit dem .NET Framework entwickelt wurde und dieses somit auch am Besten unterstützt. Also wenn du mit dem .NET Framework anfange möchtest, würde ich auf jeden Fall zu C# greifen.

Außerdem bietet C# für die fortgeschrittete Programmierung auch noch einige schöne Dinge wie zum Beispiel die guten, alten Zeiger aus C++.

Hi, sorry - aber das ist nicht richtig, oder zumindet fürchterlich unpräzise. Das Kürzel .NET bei den Sprachen deutet nicht unbedingt auf eine Unterstützung von .NET, sondern darauf hin das die jeweiligen Compiler CLI-Code kompilieren anstelle von nativem Code der dann wiederrum von der .NET Runtime ausgeführt werden kann - und deshalb auch Fremdassemblys wie z.B. die des .NET Frameworks nutzbar macht. Wenn du das als .NET Unterstützung bezeichnest können wir uns einigen.

VB.NET wurde zwar nicht zusammen mit dem .NET Framework und C# entwickelt, aber danach. Da sie technisch nicht auf Visual Basic basiert ist VB.NET also durchaus eine komplette Neuentwicklung (ja - C# auch, aber die Aussage das C# eine Aussage bildet ist falsch). VB.NET 8.0 ist übrigens die einzige verfügbare Sprache die alle Features der IL-Definition unterstüzt.

Ebenfalls nicht korrekt ist, das C# "am besten unterstützt" wird. C# wird weder von Visual Studio, von uns (Microsoft) oder vom .NET Framework besser unterstützt als z.B. C# oder IronPython, wir sehen VB.NET nicht zuletzt durch die Integration in die Microsoft Reporting Services als absolut gleichwertig an. In Visual Studio gibt es einige Features in denen VB.NET sogar besser unterstützt wird als C#.

Die "guten, alten Zeiger" in C sollten übrigens in C# bitte-bitte NIEMALS-NIE verwendet werden - weswegen ich sie auch nicht als fortgeschrittene sondern eher als rückschritliche Programmierung bezeichnen würde. Die "guten alten Zeiger" sind für ca. 99% aller Buffer-Overflow Security-Leaks in modernen Applikationen verantwortlich und lediglich für COM oder DCOM Komponenten noch enthalten. Du wirst von uns keine Zertifizierung für eine .NET Applikation bekommen die einen Pointer verwendet weil hierdurch das .NET Security-System komplett ausgehebelt wird.

Ansonsten können wir auch gerne günstige "Inside-.NET" Trainings direkt vor Ort anbieten bei der wir den IL-Support der einzelnen Sprachen vergleichen, bei Interesse einfach kurze private Message an mich.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi, sorry - aber das ist nicht richtig, oder zumindet fürchterlich unpräzise. Das Kürzel .NET bei den Sprachen deutet nicht unbedingt auf eine Unterstützung von .NET, sondern darauf hin das die jeweiligen Compiler CLI-Code kompilieren anstelle von nativem Code der dann wiederrum von der .NET Runtime ausgeführt werden kann - und deshalb auch Fremdassemblys wie z.B. die des .NET Frameworks nutzbar macht. Wenn du das als .NET Unterstützung bezeichnest können wir uns einigen.

Gut, daraus können wir uns einigen.

Die "guten, alten Zeiger" in C sollten übrigens in C# bitte-bitte NIEMALS-NIE verwendet werden - weswegen ich sie auch nicht als fortgeschrittene sondern eher als rückschritliche Programmierung bezeichnen würde. Die "guten alten Zeiger" sind für ca. 99% aller Buffer-Overflow Security-Leaks in modernen Applikationen verantwortlich und lediglich für COM oder DCOM Komponenten noch enthalten. Du wirst von uns keine Zertifizierung für eine .NET Applikation bekommen die einen Pointer verwendet weil hierdurch das .NET Security-System komplett ausgehebelt wird.

Sag niemals nie. Durch die Verwendung der "guten, alten Zeiger" kann ich große Performance-Vorteile erreichen und ich muss eben nicht unbedingt auf C/ C++ ausweichen. Gerade bei der Verarbeitung großer Datenmengen /Array's also doch sinnvoll.

Link zu diesem Kommentar
Auf anderen Seiten teilen

VB.NET wurde zwar nicht zusammen mit dem .NET Framework und C# entwickelt, aber danach. Da sie technisch nicht auf Visual Basic basiert ist VB.NET also durchaus eine komplette Neuentwicklung (ja - C# auch, aber die Aussage das C# eine Aussage bildet ist falsch). VB.NET 8.0 ist übrigens die einzige verfügbare Sprache die alle Features der IL-Definition unterstüzt.

Für mich gab es mit VB einen Vorgänger von VB.NET und damit ist es eben keine Neuentwicklung sondern einer Weiterentwicklung. Dass es eine Menge neuer Dinge gibt, ist mir durchaus bewusst, dass die gemeinsamen Schnittmenge klein sein mag auch. Aber ich denke, dass ist Definitionssache.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...