PDA

Vollständige Version anzeigen : braucht man VB.NET?


Mr.Weißnicht
27.12.2003, 21:57
Hallo Leute!

Ja die Überschrift zu diesem Thread scheint auf den ersten Blick etwas simpel, aber ich lebe in Sachen .NET etwas hinter dem Berg...

Also nun zur Sache:
- Wwas genau verbirgt sich hinter VB.NET, wo liegen die Unterschiede zu VB6.0 oder den anderen Teilen des bisherigen VisualStudio-Pakets?
- Lohnt sich ein Umstieg, handelt es sich um eine komplett andere Syntax oder sind die Äderungen eher geringer Natur?
- Wie sieht es mit der zukünftigen Unterstützung für die "alten" Produkte aus?
- Ist VB.NET Plattform unabhängig, oder ist es an bestimmte Laufzeitbibliotheken, bzw ein bestimmtes Betriebssystem gebunden?
- Wie sehr verkompliziert sich die Erstellung einer lauffähigen Anwendung im Vergleich zu dem doch recht simpel gestickten VB (was nicht heißt, dass sich nicht auch mit dem "einfachen" VB einiges anstellen lässt...)

Ich fände es sehr interessant mal eine breit gefächertes Spektrum an Meinungen und Einschätzungen zu hören.

Zu guter letzt wäre da noch die Frage wo zum Fuchs ich das Ding dann überhaupt herbekomme, unsere lokalen Software-Händer (so man sie denn so nennen karnn...) haben nie viel Wert auf aktuelle Entwicklerprodukte gelegt...

Gruß

Sascha Trowitzsch
28.12.2003, 11:51
Hallo,

zu diesen Fragen könnte man jetzt eine mehrseitige Abhandlung schreiben oder einfach eine Menge Links posten, die die Thematik bereits angehandelt haben. Ich versuch's trotzdem im Kurzstil in der Erwartung, dass auch andere an der Antwort interessiert sind...

- Wo liegen die Unterschiede zu VB6, ist die Syntax komplett anders, oder sind die Änderungen gering?
VB.NET ist eine komplette Neuentwicklung, keine Fortentwicklung.
Da es sich immer noch um BASIC handelt, ist die Syntax prinzipiell die gleiche. Das betrifft aber nur die eigentliche BASIC-Syntax, die ja lediglich aus einer Handvoll Anweisungen besteht und mit der allein man in VB6 nicht viel anfangen kann. Sobald es um Objekte geht - und ein Formular beispielsweise ist eines - sind die Unterschiede gewaltig. Sowohl was den Umgang mit den Objekten wie auch den Umfang angeht. Während man in VB6 sehr viele Zusatzkomponenten braucht - seien es eingebundene ActiveX-DLLs, OCXe oder API-Funktionen - um ein brauchbares Programm zustandezubringen sind diese im NET-Framework praktisch alle schon vorhanden. Das Objektmodell ist gigantisch, nicht nur von der Zahl der Objekte sondern auch von der Verschachtelungstiefe her.
In NET ist alles schlüssig objektorientiert und das bedeutet für VB6-Umsteiger, dass man sich nochmal intensiv mit dem Umgang mit Objekten befassen muss und auch viel dazu lernen muss. Für C++- oder Delphi-Entwickler ist der Lernaufwand geringer, weil sie das schon weitgehend kennen.
Vollständige Objektorientierung bedeutet, dass jedes Objekt vererbbar oder ableitbar ist. (Aus einem Form-Objekt lässt sich z.B. in eine neue abgeleitete Form-Klasse erzeugen, indem der vererbten Klasse neue Methoden und Eigenschaften hinzugefügt werden oder bestehende überschrieben werden.) Selbst einfachste Datentypen sind Objekte!
Damit ist eine große Flexibilität in der Programmierung gegeben, die man aber erst mal zu nutzen lernen muss.
Summa summarum: Die Unterschiede sind nicht gering.

- Wie sieht es mit der Unterstützung alter Projekte aus?
Während VB6 auf COM aufbaut ist dies in NET passé. Es wird nur noch über eine spezielle Klasse Interop unterstützt. COM ist durch das NET-Framework ersetzt. Das bedeutet, dass fast alle bestehenden VB-Projekte nicht einfach nach NET portiert werden können sondern neu entwickelt werden müssen. (Es gibt zwar einen Konvertierungsassistenten, der vorgibt, diese Portierung leisten zu können, die Unterschiede der beiden Versionen sind aber so groß, dass das allenfalls für einfachste Projekte funktioniert.)

- Ist VB.NET Plattform unabhängig, oder ist es an bestimmte Laufzeitbibliotheken, bzw ein bestimmtes Betriebssystem gebunden?
Als Betriebssystem ist, wenn mich nicht alles täuscht, mindestens Windows2000 verlangt.
Laufzeitbibliothek ist das NET-Framework, das quasi die VB-Runtime ersetzt. Es ist weitaus umfangreicher als diese. Dies dürfte auch ein Grund dafür sein, das .NET-Programme bisher nur spärlich erschienen sind. Für ein kleines VB-Programm ist es einfach unzumutbar, wenn der User erst das Framework mit einem Umfang zwischen 40 und 100 MB installieren muss. In W2003 Server ist es allerdings bereits im Betriebssystem integriert und das dürfte wohl auch für alle kommenden Windows-Versionen gelten. Solange das nicht "flächendeckend" passiert ist, sehe ich NET noch eher als "Experimental-System" denn als Produktivlösung an.

- Lohnt sich der Umstieg?
Das kann man nicht allgemein beantworten. Da der Einarbeitungsaufwand beträchtlich ist, lohnt es sich für Gelegenheitsprogrammierer kaum und wird IMHO eher zu Enttäuschungen führen. Für ernsthafte Programmierer ist es hingegen Pflicht, weil die Zukunft der Programmierung ganz einfach .NET sein wird. Nicht nur, dass MS das Produkt mit allen Kräften puscht, die fast ausschließlich positive Resonanz auf .NET wird das alte VB und auch C++ vom Markt verdrängen. (Nach meiner Einschätzung wird das auf lange Sicht sogar für Java gelten.)
So wie WXP das bisher beste Betriebssystem ist, so wie OXP das bisher beste Office ist, so ist .NET das eindeutig beste Entwicklungssystem von MS. Die Performance ist weitaus besser als die von VB6, die Flexibilität auch und die Möglichkeiten sind schier unbegrenzt. Es gibt fast nicht, das man mit VB.NET nicht programmieren könnte. Zusatzkomponenten braucht man kaum mehr, weil z.B. das komplette Windows-API integriert ist.

- Wo bekommt man es her?
Es ist eigentlich schön, dass du den " lokalen Software-Händer" unterstützen willst, aber über Versand ist es ja kein Problem, an das Ding ranzukommen. Jeder Softwareversand bietet VB.NET an. Als Beispiel:
http://www.btb-shop.de/shop/shopfiles/shoppage.asp?TID=QSYIXSRQCZLE&showcat=1&ps=1&tmpl=table&cid=A213047

Ich hoffe, das reicht dir als grundlegende Information. Wenn du dich an VB.NET ranwagen willst, so empfehle ich dir dringend, ein Buch darüber anzuschaffen. Sehr gut ist dieses: http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=88631

Ciao, Sascha

GernotMelichar
28.12.2003, 21:35
Um eine .NET Anwendung auf einem PC auszuführen, benötigt man nur das .NET Framework 1.1 Redistributable(ca. 20MB).Und das auch nur für Windows-Anwendungen.
Nur das SDK ist über 100Mb groß.
Außerdem ist es kostenlos.Nur für die IDE(Visual-Studio.NET) mußt du zahlen. Allerdings gibt`s auch eine kostenlose IDE:

http://www.icsharpcode.net/OpenSource/SD/Default.aspx

Die wurde übrigens in C# geschrieben.

mfg,
Gernot

AJK
29.12.2003, 13:55
Vielen Dank!

Ja, die Erläuterung waren sehr hilfreich und ich hatte schon fast bedauert, das mein Weihnachts-Budget nunmehr aufgebraucht ist und der Kauf der Microsoft IDE nicht in Frage kommt. Ich traute meinen Augen kaum, als ich las, das es das alles auch kostenlos gibt: zwar ohne MS-Sigel aber immerhin - möglicherweise sogar die bessere Wahl.

Ich bin gerade dabei alle nötigen Komponenten herunterzuladen und suche jetzt eigentlich nur noch ein paar gute Tutorials zum Einstieg in C# oder VB.NET, falls das mit der kostenlosen IDE auch möglich sein sollte.

nochmals vielen Dank
Arne

GernotMelichar
29.12.2003, 15:51
Eine hervorragende Einführung in VB.NET gibt`s hier:

http://www.activevb.de/rubriken/vbdotnet/introvbnet/introvbnet.html

mfg,

Meli

Sascha Trowitzsch
29.12.2003, 16:01
...möglicherweise sogar die bessere Wahl.

Das garantiert nicht!
SharpDevelop mag für die ersten Versuche mit .NET schon ganz nett sein (...oder für Profis, die wissen, was sie hinschreiben müssen), aber an die MS VB.NET-Entwicklungsumgebung kommt es um Längen nicht ran.
Mit SharpDevelop hast du auch zuwenig Dokumentation zu VB.

Ciao, Sascha

TykaAndreas
04.01.2004, 13:41
was mich hierzu mal intressieren würde, wenn ich Beispiele von Buch CD's in meiner VS.NET Pof. Umgebung starte müssen die erst kompiliert werden , weil das Framework neuer ist .
Das bringt mich insofern ins grübeln - wenn ich anwendungen weitergebe muss ich also dafür sorge tragen, dass auf den jeweiligen PC ' s das entsprechende Framwork drauf ist ?
Ich mache das so, bin happy weil ich endlich fertig bin und stell dann fest ,dass es noch andere .NET entwicklungen auf den PC 'sgibt, die mit einem älteren Framework entwickelt wurden.
Also kompiliere ich die auch ?
Ich unterstelle mal , dass es mit dem kompilieren meist nicht getan ist und ich müsste (damit die Firma X keine schädlichen Nebenwirkungen mit meiner Anwendung hat) alle anderen Anwendungen nacharbeiten ?

Serge
06.01.2004, 09:43
Ich kann dazu nur sagen das Anwendungen die auf dem 1.0 Framework laufen auch auf 1.1 laufen.Umgekehrt ist das ein kleines Problem.Nimmt man z.B die Validierung asl Beispiel.So ist es bei 1.0 nicht möglich die Eigenschaft CausesValidation für ein Steuerelemnt zusetzen(hat man schon ändert nur nix ob true oder false)Das macht natürlich Probs wenn man auf 1.1 entwickelt und diese Eigenschaft nutzt und dann die Anwendung auf einen 1.0 Rechner bringt.
Aber ich denke in nächster Zeit wird alles auf ein festes Framework hinauslaufen.1.0 wird wohl verschwinden da nicht ausgereift

TykaAndreas
06.01.2004, 21:08
ich danke , das beruhigt mich erst mal