[AccessD] VB.NET

DWUTKA at marlow.com DWUTKA at marlow.com
Tue Jun 1 14:07:41 CDT 2004


LOL.  Good points, I agree and disagree on some.  I like some of what you
call VB 'quirks'.  Just a difference in opinions I guess.

Hands down I agree that inheritance is a big step up.  I still haven't been
'wowed' though.  Just my opinion, I guess I'm just being a stick in the mud.

Drew

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Brett Barabash
Sent: Tuesday, June 01, 2004 1:56 PM
To: 'Access Developers discussion and problem solving'
Subject: RE: [AccessD] VB.NET


As part of the code execution process, VB.NET code is compiled to CIL
(common intermediate language) code to run through the CLR (common language
runtime).  You can still step through the code, set breakpoints, etc. the
same as VB6 though.

Since everything I develop is in house, installing the .NET runtimes isn't a
big deal for me.  I know that many ISVs are apprehensive about creating .NET
applications, since packaging the framework with their app would add 23 MB
to it.  Even in that case, there are already a handful of 3rd party linkers
available that will allow you to distribute your app with only the necessary
assemblies instead of the entire framework.  For example:
http://www.remotesoft.com/linker/

What pains do I have with VB6?  (...and how does .NET improve upon them?)
Well, for starters...

- No object inheritance (Inherits keyword)
- Flaky Initialize/Terminate events instead of proper object constructors
(New, Finalize)
- Hit 'n' miss garbage collection (it is no longer necessary to Set =
Nothing, in fact the Set keyword is no more)
- Declaring object variables As New = Pure evil (fixed in VB.NET: As New
actually creates a new instance instead of the "instantiate on demand"
nonsense)
- Cannot initialize variables when declaring (Dim x As Integer = 123)
- Weird bracket syntax for calling functions instead of subs (ALL procedures
have brackets around the arguments when calling them, and the Call keyword
is no more)
- Implicit type conversion and default Variant datatypes (Option Strict)
- Default object properties e.g. MyControl = "Hello" : Hmm... What property
am I modifying? (no longer allowed, except for indexed properties)
- Crappy On Error GoTo error handling method (Try...Catch Exception)
- Cumbersome Win32 API calling conventions i.e. converting your data to
match the C DLL syntax. (most of these calls have been built into the
framework.)
- Default ByRef procedure arguments = Pure evil again (now defaults to
ByVal)
- Arrays and collections can be tricky to work with and somewhat limited
(ArrayList)
- Cannot delegate event handling (Handles keyword)
- Form/control behavior is difficult to override e.g. DEEP/WithEvents (you
can now actually inherit the Windows.Forms class and override/extend any
behaviors you want.  Or how about creating base "template" forms and
inheriting your application screens from them).
- Archaic Open, Input, Print, etc. I/O methods (System.IO)
- No console I/O support (you can now create a console project, which is
ideal for apps that run as part of batch processes).
- Windows services require a separate OCX (you can now create a Windows
Service project).
- Multithreading is near impossible to implement, and is often unstable
(System.Threading)
- COM DLL hell: Installing a newer COM DLL can cause projects to break
(fixed with the Global Assembly Cache, allowing multiple versions of a
library to happily live on the same machine. The application's manifest and
config files specify which version to use).

As I said earlier, the learning curve has been a steep one, but I feel like
a kid on Christmas morning again, with all these new toys to play with!


-----Original Message-----
From: DWUTKA at marlow.com [mailto:DWUTKA at marlow.com] 
Sent: Tuesday, June 01, 2004 12:41 PM
To: accessd at databaseadvisors.com
Subject: RE: [AccessD] VB.NET



Yes, but I think more pains have been added.  I noticed it compiles like
C++.  Have you ever compiled C++?  I am very novice at C++, but I went 
C++in,
built my own little program.  Compiled it, ran it.  Yippie.  Decided to get
trickier with the code, compiled/built it......errors.  Any help on the
errors?  Nothing obvious.  Just errors.  Took me a while to figure out and
fix.  

Now, doing the exact same thing in VB 6.0, goof the code, compile it, and VB
stops at the line it is having trouble with.

Don't know if they do that in .Net or not, but I'm curious.  Not too mention
the 'runtimes' required for .NET, versus VB.

I did the film thing though, just haven't figured out what machine I'm going
to install it on.

Just out of curiousity, what 'pains' do you have with VB?

Drew

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Brett Barabash
Sent: Tuesday, June 01, 2004 12:01 PM
To: 'Access Developers discussion and problem solving'
Subject: RE: [AccessD] VB.NET


Just completed a 1-week course on VB.NET.  IMHO, almost every pain
associated with VB6 has been addressed in the current release.  Clearly a
steeper learning curve than prior releases (they added something like 26
keywords to the syntax), but MUCH more powerful.

I'm looking forward to developing my first .NET app shortly.


---- Original Message ----
From: gustav at cactus.dk
To: accessd at databaseadvisors.com, 
Subject: Re: [AccessD] VB.NET
Date: Tue, 1 Jun 2004 10:11:23 +0200

>Hi Jim
>
>Yes, US citizens and canads only ... for those tempted by C# there is 
>an open source alternative with no videos - I read about it in Mike 
>Gunderloy's newsletter:
>
>  http://www.icsharpcode.net/OpenSource/SD/
>
>By the way, how are our fellow listers flirting with .Net
>progressing?
>JC (and who?)?
>
>/gustav
>
>
>> Microsoft is giving away free copies of VB.NET standard. There is
>a process
>> that needs to be observed before a fully operation CD will be
>mailed out.
>> You have to follow through a set of 5 web videos and entry web
>pages before
>> you are allowed to fill the form that will hold your mailing
>address.
>
>> List members will not find the process a difficulty one, but it
>can be a
>> little lengthy. So go get yourself a cup of coffee or Chi Tea,
>turn your
>> monitor and speakers on and get ready to embrace VB.NET.
>
>> http://msdn.microsoft.com/vbasic/atthemovies/
>
>> Unfortunately, Microsoft's generousity only extends to inhabitants
>of Canada
>> and of course USA.
>> Jim



----------------------------------------------------------------------------
----------------------------------------
The information in this email may contain confidential information that 
is legally privileged. The information is only for the use of the intended 
recipient(s) named above. If you are not the intended recipient(s), you 
are hereby notified that any disclosure, copying, distribution, or the
taking 
of any action in regard to the content of this email is strictly prohibited.
If 
transmission is incorrect, unclear, or incomplete, please notify the sender 
immediately. The authorized recipient(s) of this information is/are
prohibited 
from disclosing this information to any other party and is/are required to 
destroy the information after its stated need has been fulfilled.

Any views expressed in this message are those of the individual
sender, except where the sender specifies and with authority,
states them to be the views of Tappe Construction Co.

This footer also confirms that this email message has been scanned
for the presence of computer viruses.Scanning of this message and
addition of this footer is performed by SurfControl E-mail Filter software
in conjunction with virus detection software.

-- 
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list