Since beginning VBnet in November of 1996,
I have been repeatedly asked why I don't (or won't) provide the
site's code as downloadable files other sites do. The simple answer is
this is not just another VB site.
The decision to present the site as code text pages instead of zip files
was not made lightly and quite frankly, providing just downloadable files is certainly easier than creating and maintaining individual
pages for each code topic. However, VBnet's text presentation method
provides developers with more benefits than easy downloads could.
Too
often I've visited sites where downloadable projects contain the
same code as files on other sites, differing only in the zip file's
name. Then too are those downloads that reveal programming
practices, at least as far as I am concerned, that regrettably leave
much to be desired. When I can see the code before downloading I can
determined if I already have it, or even want it. And then there are
the many personal VB sites that are really nothing more than linked
lists to stale code.
I am not so much interested in people having my code as I am in providing a current, topical and accurate web learning resource where the implementation of specific routines
can be examined and understood in the context of a working demo. To the experienced Visual Basic developer this means no more unwanted
downloads of useless code, and provides me a greater mechanism than
in-line comments to explain and elaborate on some of the API methods presented.
To a Visual Basic developer just gaining confidence
with the language and the API, VBnet
code pages provide answers to both how-to and why through the use of copy-and-paste code and thoughtful information.
And to the Newbie VB developer, the ability to read the code pages,
descriptions, prerequisites and comments can provides a solid learning resource in addition to a repository of answers to questions
a newcomer to VB frequently asks.
To all developers VBnet is designed to be a resource that fires their imagination whenever new VB techniques are revealed.
Another consideration
that justifies VBnet's presentation method
centres around versions. There are still a substantial number of developers using versions of VB
earlier than VB6 (or VB.Net). I needed a means that would allow me to present, to the widest range of developers possible, methods applicable to the 32-bit Windows
platform regardless of the reader's VB development version. While
some code may still be restricted to those using later versions of
VB, for example code dealing with subclassing methods, how happy are you
when you downloaded a zip file and find you can't open the project because of control-reference incompatibilities,
or you can't run the project because of VB version issues? While many VB controls are forward-compatible, they're not backward-compatible, and the change from comctl32.ocx to mscomctl.ocx further
complicates the problem. In the end the result is often wasted time
and trouble for the developer when using zips, and one thing
developer's don't need is additional troubles.
Providing the
site's code as HTML pages is not without its frustrations. There's
the issue of HTML preserving formatting of characters that have
meaning to both VB and HTML, such as the 'not equal' signs; HTML interpreters ignore these VB operators because they expect to find HTML formatting
commands inside. There's the issue of assuring hard returns are correctly interpreted, and that non-breaking spaces don't find their way
into the code (which wrecks havoc in the IDE). Add to this assuring no code from the development project is inadvertently omitted, all the
while keeping in mind potential compatibility problems between presentation in Internet Explorer and Netscape.
Challenges aside, VBnet provides the opportunity to
share what I have learned pouring through the MSDN and other API
references, and have received from friends and contributors, as well
as the bonus of allowing me to experiment with web site design. My
rewards for maintaining this site are many ... the thanks that I get
from visitors who happened upon that just-perfect piece of code as
well as the chance to expand my knowledge drumming up these examples
in order to provide a site whose code pages have been viewed almost
50 million times since that first day the site went live in November
of 1996. |