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