Conclusions on Visual Basic 2005 Express

The VB 2005 language
As somebody who used BASIC a lot in the old days, I found the language very easy to pick up. The concept of Object Oriented Programming isn't hard to learn, and my programs gradually grew more elegant as I got used to OOP. It's something that you get more and more comfortable with as time goes by. The additions to the language are pretty straightforward. I liked the "With...End With" blocks, which clear up the code and cut down on typing. Exceptions as a way of handling errors were new to me. They work well, but need to be thought through carefully. The "My" namespace is very useful, and in particular the My.Settings feature. The one thing I would like added is multi-line comments. Overall though, I rate Visual Basic 2005 very highly, and I have used it to write programs that access databases, manipulate XML and XHTML, and upload files to the internet, which would be pretty tough in QBASIC!

The .NET Framework
This was a revelation. It is huge, and there is a bit of a learning curve to it, but the framework is layed out quite logically and is fully object oriented. I was very impressed with .NET, although it does take some time flipping through the help files before you can use the more advanced features.  Because there are so many available methods and data types, you end up using large amounts of .NET with the Visual Basic just holding it all together. This makes it relatively simple to understand programs written in C#, and means that the choice of language is not as big an issue as some people claim. For instance, all .NET languages have excellent string handling capabilities because they are built into the .NET Framework. Once you have learned one .NET language, learning a second won't take long. You should be aware that programs written for .NET need the .NET Framework to be present before they will run, and that the Framework is a download of over 20MB if the user doesn't have it installed already.

The Visual Studio Express IDE
This is an easy to use development environment. The IntelliSense is nothing short of brilliant. It autocompletes a lot of your typing, and offers you possible options to help you choose the right function or datatype. It points out errors by underlining them in much the same way as a word processor underlines misspelt words. This feature is better in Visual Basic 2005 than it is in C# because VB 2005 does "background compilation", in other words, when you make changes, it compiles your program to see if there are problems. With C# you must wait until you manually compile the program before you find some errors. I believe this makes VB 2005 the better choice for beginners. When you compile and publish your application, an install program is automatically created to take care of things like adding shortcuts to the Start menu. You should also know that the actual Visual Basic 2005 Express compiler is exactly the same as the one the professionals use. The main additions in the expensive Professional versions are really about team-working, code optimization and advanced debugging.

Alternatives to Visual Basic 2005 Express
There are a few alternative free programming languages. Microsoft C# Express Edition is the most obvious, but there are also the new free Borland Turbo .NET languages. These are Turbo Delphi for .NET and Turbo C#. There is also a Win32 version of Turbo Delphi that does not use the .NET Framework. Delphi is based on the Pascal language, and is somewhere in between the verbosity of VB 2005 and the terse syntax of C#, so it might be worth a try if you prefer Pascal to Basic or C. There is also an open source .NET language IDE called SharpDevelop, and the open source Mono project is working to bring .NET development to Linux, Unix and OS X.

Final Thoughts
I would recommend Visual Basic 2005 Express Edition to people such as hobbyists, students, and people who are just interested in programming their computer. Although there is a learning curve to deal with if you want to write advanced programs, there is a great deal you can do with a little simple programming and a bit of drag and drop. It is all fairly logical, so a bit of concentration and a positive attitude will take you a long way. The .NET Framework is excellent, so C# is also a good choice, although Visual Basic 2005 is probably better for the average hobbyist due to the My namespace, non case-sensitivity and error underlining. Of course, your programs will currently only run on Microsoft Windows, but that is not an issue for most of us who use Windows anyway. The Express Editions are a free download, so there's no cost barrier. You can create your own applications, just the way you want them, and even distribute them to other people, free of charge. Visual Basic 2005 Express Edition costs nothing, comes with a lot of help files and tutorials, and is widely used so there are a lot of places to find more help. I give it a 9 out of 10.

Pete Mather