versions 3 through 6 are referred to as "VbClassic
"VB Version 7" was the first VisualBasicDotNet
It's largely credited with bringing GUI development to the "programming masses", popular for it's drag-and-drop style of WYSIWYG GUI development. However, it was often plagued by deployment headaches, including DllHell
. And, by some accounts it encouraged questionable development practices.
This is a name coined by the VisualBasic
(VB) community, referring to Microsoft's version of the product for the Windows Operating System prior to the mid 2002 release of the DotNet
The distinction has significance due to a radical departure in the syntax, environment and capabilities in the MicrosoftDotNet
version of this particular language. See FredDotNet
for related stories.
Some in the VB Community see VisualBasicDotNet as such a departure from VbClassic that it might as well be called FredDotNet.
As at the beginning of 2004, VbClassic
has already been taken off the shelf by the vendor. However, there is still a huge installed base within commercial organizations that still have VbClassic
applications that have to be maintained.
Despite attempts by many to belittle the language, and others wanting to take profit by misusing the VisualBasic
brand name, there is not much of a competition when considering choosing a high level language (see AlternateHardAndSoftLayers
) that works well with Microsoft environment and inexpensive to resource.
- I do not know WhySomeHateVbClassic, I hate to think it is related to jealousy towards its commercial success.
So now we're going to work in Basic, but we still want to go fast, get good quality, be flexible, scalable, close to the requirements and all that good stuff. Maybe there's a way to do ExtremeProgramming
in VB? Or if not, why not?
For more information on MicrosoftCorporation
, see links and subtopics below.
Some VbClassic Programmers:
VbClassic Object Orientedness and Methodologies:
(Additional comments moved to ThingsWeHateAboutVbClassic and VbTeachesBadHabits.)
VbClassic V6 support has ended 31Mar05. Some users not willing to go VbDotNet are seeking alternatives.
See also the evolving VbClassicMigrationConcerns
New users please see IwannaLearnVbClassic, and if you get discouraged by snappy comments from geeks, take a look at NewWineOldBottle, the Vb bottle got plenty of juice left in it yet
SP2, applications written using VbClassic
earlier than V5 are reportedly broken. See http://www.crn.com/sections/security/security.jhtml?articleId=25600156
Nothing For VbClassicApplications from DotNet
While on the topic of VisualBasic
, there is this VisualBasicForApplications
(VBA) that is still required to integrate Microsoft office applications with Dotnet managed code. I think as companies switch to Office2003 or later products, the use of VBA will be diminished.
Visit the following link for a tutorial on VBA
See also VbScript
Can VbClassic applications survive in a WindowsLonghorn environment?
Probably no-one knows for sure. But some say there will be serious attempts in withholding support for OperatingSystem
level API calls that VbClassic
applications rely on.
What references can be provided to support/refute this view?
People interested in more background information are advised to checkout WhyVisualBasic
. People who want to get handson VbClassic
please checkout IwannaLearnVbClassic
. And for the impatient, check out the tutorial at http://visualbasic.about.com/library/bllvb-6a.htm?once=true&
has some discussions on applicability of OO concepts to VbClassic
There are pages here that discuss project experience on use of VbClassic
The following response from a former VbClassic
guru, addressed to the question of use of VbUnitThree
, standard edition, to help create better tests for a legacy VB6 application. The application have forms have embedded processing logic. It appears VbUnitThree
require forms to have logic separated out into classes, which could be a time consuming exercise.
To the best of my knowledge, none of the VbUnit frameworks have the "screen scraping" technology necessary to test "business logic in form events" code. I would still used VbUnitThree on such projects, but it would take time and code changes to make things testable. -- JeffGrigg (...who left VB to do Java.)
For the benefit of those who can't leave yet for Java, I should point out that it's perfectly possible to create a thin UI and a model in VbClassic
, and test the model using your favorite UnitTest
ing tool (mine is VbLiteUnit
since I wrote it). I don't think this is at all different from what people do to "Test the UI" in other languages, short of using an external ScreenScraper
program. That's not so say I'm happy to be still working in VbClassic
. The lack of introspection and the practical impossibility of custom iterators for use with ForEach?
are becoming serious thorns in my side, but testability is not really a problem. -- SteveJorgensen
There is also a new testing framework for VBClassic and VBA called VbLiteUnit.
Very Basic (and incomplete) History
- VB1 -- look Mom, I can create a program with some windows, with different coloured things, all in a few minutes
- VB3 -- Companies start to use VB, as ODBC has taken off and all kinds of databases can be hooked up to VB3
- VB4 -- 32 bit is good, 16 bit is bad
- VB5 -- Components, ActiveX, link to remote database objects
- VB6 -- ActiveX Data Objects (ADO), support for DistributedInternetArchitecture
Sites with VBClassic material of interest
denotes sites that are confirmed to have new/revised material posted June2004 or later
VbClassic coding help from Microsoft NewsGroup
VbClassic use of CrystalReports
The vendor of the Crystal addin has grown leaps and bounds ever since it got associated with VisualBasic
. In recent years its use has been extended to the nonMicrosoft environment as well.
It is a hefty piece of software and hopefully the few tutorials, etc below can get people started.
VbClassic and Windows APIs
arrive, windows programming will probably touch on the use of this dreaded API. Refer to http://www.vbexplorer.com/VBExplorer/wrox01.asp
for some material for a quicker start.
VbClassic and Enterprise distributed application development
ObjectOriented and XmlEnabled and WebApplicationDesign appear to be the only way to go for Enterprise class applications.
This is a required combination due to these considerations:
- ObjectOriented solutions is the best approach to creating a stable architecture at the macro level, and to promote more maintenable code at the individual program level
- An XmlEnabled application allow better integration with new solutions, or as a means to repackage existing legacy applications
- WebApplicationDesign allow deployment of IT solutions much better than thick client based options, with the tradeoff of slightly reduced workstation application integration cabilities.
In the case of VbClassic
, corresponding spinoff pages for people with more interest are:
These pages were started in early 2004.
Start with ComPlus
overview at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncomser/html/complus4vb.asp
An example VbClassic
utility that straddle both ObjectOrientedProgrammingInVbClassic
is a COM Serialization tool, found at
Anyone read this Integrating XML Web Services with VB6 Applications at http://www.ddj.com/documents/ddj0402b/ ?
- article restricted to subscribers found in Google News search early 2005
Tools and components for VbClassic
Common Controls Replacement Project http://ccrp.mvps.org/
See also SoapToolkit
VbClassic limited edition
I got some help at WardsWiki
in locating a freely available edition of VbClassic
, version 5 control edition. Microsoft made this limited function program to encourage the creation of COM based ActiveX controls. Get it while it is still available, if you want to get some experience on VbClassic
See link at VbClassicQuestions
VbClassic and Internet enabled applications
for article on the use of WinInet?
api that was designed to abstract HTTP, FTP and Gopher protocols
A tutorial on WinInet?
is found at http://www.garybeene.com/vb/tut-inet.htm
, and a sample dialup VB project is at http://www.vbip.com/wininet/wininet_dialup.asp
VbClassic News and developments
Service Pack 6 is here (March 2004). Discussions at http://groups.google.com/groups?th=12b91fce456a0123
that includes guru Karl Peterson
I know this is a VB page.. but..
Also checkout delphi. If you are afraid of run time libraries that VB relies on, and you wish to have more power available later on like C++ has...Delphi bridges the gap. I looked into VB and C++ years ago, and both were close to what I needed, but delphi had so many more bridges between the gap. One other reason I picked it was because of a nice Newsgroup (free usenet) they have and good web directories like Torry and DelphiPages?
. I was debating picking it, because of popularity factor .. but it is highly followed and almost any question you have is answered on newsgroups.