(Updated: 2000.10.11 07:45:27 PM)
| |
This topic is intended to cataloge various topics of interest surrounding VB.NET.
There is a lot of information floating around in lists and on newsgroups, and now that the PDC, VBITS, and DEVCON have shown bits of the .NET framework, it seems like it's time to start developing a knowledge base of information. If you don't like the changes you see here, add your opinions to the
VBDotNet Wish List!
Changes to syntax and semantics (being culled from ng and listservs):
THINGS THAT MS SHOULD CHANGE BACK TO THE WAY THEY WERE BEFORE VB.NET
Click here for the
VBCompatability Changes list.
WHAT VB.NET HAS
Automatically resizable controls on Win Forms!
WebForms
Fully object oriented
True (AKA implementation) inheritance across languages
Application and Component interoperability across languages.
Visual inheritance
Full threading (see: VBDOtNetThreading)
Free threading
Function overloading
Ability to create console apps
LinkLabel control
Option Strict stops automatic casting of variables to 'smaller' types
BitAnd, BitOr and BitNot replace the existing And, Or, and Not for logical operations on numeric values
ReadOnly and WriteOnly keywords
64 bit integers
Structured error handling
Centralized error handling
IDE macros
Same IDE as C++, C# and JScript
Same object model as C++, C# and JScript
Same runtime as C++, C# and JScript
Same forms package as C++, C# and JScript
Initializers (Dim X as Integer = 1)
WHAT VB.NET CHANGED
Longs are ints and ints are shorts
Default values for Optional parameters are required
Variables are objects (but they don't have to be). An example would be great >g<. (See: Boxing And Unboxing)
Strings are objects (see: VBDotNet Strings)
Properties are passed byVal by default.
New menu editor, but it still can't add bitmaps
Ability to assign the same event procedure to multiple controls/events
And and Or include short circuiting, And, Or, and Not operate only on Boolean expressions
WHAT VB.NET LOST
No variants (I never have to explain again why Trim$ is faster than Trim)
No more 'Option Base' - everything is zero-based, arrays (see: VBDotNet Arrays), collections, everything.
No Image control
No currency data type
Terminate event no longer reliable (see VBDotNet Garbage Collection)
No variants, but Object base type may substitute
No Gosub / Return commands
Ismissing is missing
No more default properties
No backward compatibility with VBScript and the ASP model
Can't vary the visiblity of accessors (public RO/friend write gone)
No control arrays (oops!)
No windowless controls
No LSet
Comments/suggestions to other editors of this page
saying that "Not" includes short-circuiting makes no sense (changed)
See also:
VBDotNet Garbage Collection
VBDotNetUnsafeCode
VBDotNet Web Forms
VBDotNet Win Forms
VBDotNetCOMSupport
?ADO+
ASP+
Contributors: Nancy Folsom, Bob O ` Brien, Larry Serflaten, ZaneThomas, Greg Davis
Category DotNet Category VBDotNet