[VB] Vergleich VB6 und VB.NET

meisteralex

Lieutenant
Registriert
Juni 2003
Beiträge
552
Servus, progge schon eine Zeit mit VB6 und bin jetzt mal auf VB.NET aufmerkstam geworden.

Kann mir jemand sagen, was die Unterschiede der beiden Versionen sind ?
Was kann VB.NET was VB6 nicht kann und andersrum ?

Ist vb.net schwer zu erlernen, profitiere ich von vb6 kenntnissen ?

vielen dank für die hilfe
 
Hallo

Wir haben uns gerade letzlich auch ein wenig hier darüber unterhalten:
https://www.computerbase.de/forum/t...iersprache-ist-leichter-php-oder-java.149673/

VB6 vs VB.NET

Wichtige Unterschiede von VB.NET zu VBdie mir gleich einfallen:
- läuft nur unter .NET Framework (keine Runtime.dll)
- ist komplett und durchgehend Objektorientiert

Ich denke das VB.NET in dem Sinne nicht mehr kann als VB6. Allerdings bietet das .NET Framework eine riesen Auswahl an Klassen mit sehr durchdachten Funktionen. Was Du mit VB6 vielleicht mit Zusatzkomponenten, selbst programmieren, oder Win API lösen musstest, bringt das .NET Framework und damit das VB.NET schon mit.

Du wirst auf jeden Fall von den VB6 Kenntnissen profitieren können. Allerdings wird evtl. das Thema OO neu sein und hier wirst Du ganz generell Lernaufwand betreiben müssen.

kaepten
 
was heißt denn, dawss es nur unter .net framework läuft ?


heißt das ich muss jedesmal diese 20mb .net erweiterung installieren um sachen zum laufen zu bringen, welche ich mit vb.net programmiert habe ?
 
meisteralex schrieb:
was heißt denn, dawss es nur unter .net framework läuft ?


heißt das ich muss jedesmal diese 20mb .net erweiterung installieren um sachen zum laufen zu bringen, welche ich mit vb.net programmiert habe ?
Prinzipiell reicht es auch aus, wenn du es nur einmal installierst. :p
 
Ja das wollte ich also auch sagen... Einmal reicht!

Aber Du siehst das schon richtig: Willst du das VB.NET Programm verteilen, dann muss der entsprechende Computer über das .NET Framework verfügen. Es kann heute sein, dass es noch nicht überall installiert ist. Es ist aber eine Frage der Zeit bis es "standard" auf Win32 Systemen vorhanden sein wird.

kaepten
 
Das dotNet Framework ist bereits Standart auf Windows XP, denn es wird automatisch mit den Windows Updates auf den Rechner gespielt (falls man diese irgendeinmal im letzten halben Jahr gestartet hat;))
 
Vielleicht ist auch noch die Ausführungsgeschwindigkeit der Programme erwähnenswert.
Die .NET Runtime läuft nämlich sehr viel schneller als die VB6 Runtime.

Von daher ist natürlich die Aussage von kaepten nicht ganz richtig dass VB.NET
keine Runtime DLL braucht.

VB.NET ist eine Sprachvariante der CLR (Common Language Runtime), genauso C#.

VB.NET zielt auf Entwickler die vorher Visual Basic programmiert haben, C# auf Entwickler die vorher C++ programmiert haben. Daneben gibts noch J# für Java Entwickler, Cobol.NET für Cobol Programmierer und Delphi.NET für Delphi Coder.

Es ist also für jeden Geschmack was dabei. Allen Sprachvarianten gemein ist, dass sie auf der selben Plattform aufbauen (CLR), und den selben Funktionsumfang haben. D.h. alle sollten gleich schnell laufen und genau das gleiche können.

Insgesamt muss ich sagen, dass ich VB6 an den Nagel gehängt habe, da es nach ein paar VB.NET Stunden doch eher mittelalterlich anmutet und mit Schneckentempo läuft.


Ich würde sagen ein Hello World-Programm ist schon in den ersten 5 Minuten drin.
 
MacGyver schrieb:
Von daher ist natürlich die Aussage von kaepten nicht ganz richtig dass VB.NET
keine Runtime DLL braucht.
Sicher braucht VB.NET keine Runtime DLL wie das VB der Fall war. Aber es brauch ein .NET Framework (Dieses mit einer Runtime DLL zu vergleichen ist wohl nicht treffend). Es brauch also die CLR = Common Language Runtime.

Ansonsten schick mir doch bitte die runtime.VB.NET.dll ... ;) Dann nehme ich mein Post zurück.

kaepten

PS: Wenn Du schon genau sein willst, dann stimmt die Aussage nicht :
"VB.NET ist eine Sprachvariante der CLR (Common Language Runtime), genauso C#."

Denn die CLR führt Maschinencode aus.

1. Die Kompilierung eines C# oder VB.NET Projektes erzeugt IL-Code (Intermediate Language).

2. Der JIT-Kompiler (Just In Time) erzeugt aus dem IL-Code den Maschinencode. Er ist Bestandteil des CLR

3. Der Maschinencode wird von der CLR ausgeführt (und nicht von einer Runtime DLL)
 
Zuletzt bearbeitet:
Aber bevor du dir das Visual .Net 2003 zulegen willst, würde ich auf die bald erscheinende 2005er Version warten!
 
@kaepten
Der Name sagts doch schon. Common Language Runtime. Also ist es eine Runtime.
Nicht in Form einer DLL aber es ist genau wie die VB6 Runtime eine Umgebung in der .NET Programme laufen. Ob nun in Form einer DLL oder einem Haufen von Bibliotheken ändert nichts.

Eine VB.NET.DLL wirds wohl nicht geben da die CLR nicht sprachgebunden ist.
Du meinst wohl eher die mscorlib.dll, die den Kern der CLR bildet.

VB.NET und C#, sowie J# erzeugen alle (wie du richtig schreibst) IL Code der vom Compiler in Maschinencode übersetzt und dann ausgeführt wird. Daher ist die CLR nicht sprachgebunden. VB Runtime war es.

Ergo: Die CLR ist eine Runtime wie es die VB Runtime für VB war. Ohne Runtime keine Codeausführung.
 
Hallo,

Ich bin jetzt auch stolzer Besitzer einer Visual Studio Express Version :D

Hatte früher in der Schule noch VB6, dort war es wie schon erwähnt nötig, die VB6 Runtime (ca 2MB) zu installieren um die erstellten exe-Dateien auch auf anderen PC's auszuführen.


Wie ich hier in dem Thread bereits gelesen habe, braucht man heute wohl eine deutlich größere Datei, dieses net.Framework

Da aber der letzte Beitrag schon etwas her ist, meine Frage:

-Ist es wirklich noch notwendig das net-Framework zu installieren?
-Ist es stattdessen nicht möglich, in die zu erstellende exe die benötigten Dateien mit reinzupacken?

Gruß
Robert
 
hat doch eh fast jeder windows rechner drauf, außer halt ganz alte mit win95/98/Me und leute, die XP seit erscheinen net mehr aktualisiert ham.. vondaher is das nun wirklich kein beinbruch. zumindest wenn du programme für windows schrieben willst ;)

über 90 % der windows rechner denk ich ma hams eh schon drauf, der rest installiert es halt, was sind heutzutage schon noch 20 mb ?
 
hm....

also wir haben bei uns 4 windows rechner.

2x XP Pro
2x XP Home

beide mit Sp2 und aktuellen Updates (allerdings manuelle Installation, da ich selber wählen möchte, was auf die Rechner kommt, zB. IE 7 bestimmt nicht....)

Und ich müsste auf den dreien auf denen VB 2005 Express nicht installiert ist, das .Net Framework installieren.

20 MB sind vielleicht wirklich nicht viel, aber es stört doch, das man die benötigten Dateien nicht in die Anwendung implementieren kann...

Wie dem auch sei.... damit muss ich jetzt leben (wobei ich das alte VB 6 auch besser und leichter fand, kriege unter VB 2005 nicht mal einen Kreis als Objekt hin :-( )

Gruß
 
Hihi, nicht ärgnern!

Ist mit SP2 nicht auch automatisch das .NET Framework mitinstalliert worden?

Die Vorteile liegen auf der Hand. Warte nur, auch du wirst sie noch in Anspruch nehmen und froh sein, dass es so ist :D VB6 besser!? Sag das nicht zu laut.... *psst* fang einfach mal richtig mit .NET an!
 
GermanBastarD schrieb:
kriege unter VB 2005 nicht mal einen Kreis als Objekt hin :-(

Gruß

Nen Kreis auf die Form malen ist ganz leicht und .NET macht das automatisch.

---- schnipp ----
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
e.Graphics.DrawEllipse(Pens.Black, 10, 10, 40, 40)
End Sub

---- schnapp ----

Als Objekt gehts bestimmt auch, aber da hab ich jetzt kein Beispiel parat.
 
@macgyver

nach vielen vielen stunden hatte ich das kreiszeichnen auch gefunden... allerdings ist der wie gesagt nur gezeichnet und ich bekomme den nicht als Objekt hin (da ich den wie ein Objekt durch die gegend schieben will, beispielsweise für eine billige PONG-Variante).

Generell war das früher einfacher, andere Formen schon zur Entwicklungszeit herzustellen, während der Laufzeit finde ich das sehr unpraktisch...

Ich würde zum Beispiel auch gerne runde pictureboxes oder runde buttons benutzen, aber wie das gehen soll weiss der Himmel...

Gruß
 
willkommen im Land der "echten" Programmiersprachen :evillol: Du findest alles, und Stunden brauchst Du nicht dafür, dann hast Du etwas falsch gemacht. Mir fällt da z.B. grad mal spontan www.codeproject.com ein, aber es gibt noch viele andere.
 
Zurück
Oben