Google Answers Logo
View Question
 
Q: VISUAL Basic ( Answered,   6 Comments )
Question  
Subject: VISUAL Basic
Category: Computers > Programming
Asked by: agentofcard-ga
List Price: $199.00
Posted: 20 Jul 2004 04:56 PDT
Expires: 19 Aug 2004 04:56 PDT
Question ID: 376593
What is visual Basic? 
Advantages and Disadvantages of Visual basic if it has
Answer  
Subject: Re: VISUAL Basic
Answered By: palitoy-ga on 20 Jul 2004 08:46 PDT
 
Hello Agentofcard

Thank-you for your question.  For my answer I will split the question
into three parts for you as follows:

1) What is Visual Basic?
2) What are the advantages of Visual Basic?
3) What are the disadvantages of Visual Basic?

I have tried to be as objective as possible whilst compiling the
various advantages and disadvantages, this is difficult especially
when you read some of the glowing praise or stinging reviews on the
web of the language.  Personally I am a fan of the language as it is
like an old friend but it is no longer my language of choice.

If you have any questions or queries on this subject please ask for
clarification and I will do my best to help.

1) WHAT IS VISUAL BASIC?
========================

Visual Basic (often abbreviated VB) is a programming language and
development environment that was developed by Microsoft in the late
1980's and into the 1990's.  VB was based on the BASIC computer
language that was developed in the 1960's and was expanded upon to
allow the easy programming of windows or wimp applications.  VB was
one of the first commercially available products that allowed users to
do this.

(As an aside BASIC stands for Beginner's All-purpose Symbolic
Instruction Code and was developed by John Kemeney and Thomas Kurtz in
the mid 1960s.  It used English-like commands to allow easier
programming.)

All versions of VB allow the user to not worry about the intricate
details of the actual windows allowing the programmer to concentrate
on actually writing novel or new code that made the software you were
writing different.  As you will probably have noticed most software
windows look the same (with minimise, close button etc), VB allows you
to forget about programming these buttons and just used standardised
code.

VB allows the programmer to work in a "visual workshop" where the
programmer can drag and drop different window elements into their
programs before defining their meaning with the aid of a few drop down
boxes.

Visual Basic is an "event driven" language because objects you add to
your program react to different events such as a mouse click or the
window being dragged.

VB was one of the forerunners of the Rapid Application Development
(RAD) software packages that are used frequently in modern workplaces
today.  1991 saw the first release of VB - VB version 1 - but it did
not really catch on until version 2 in 1992.  Since then more modern
languages such as C/C++, Pascal, Java and the .net suite of programs
have all borrowed ideas from the the RAD environment developed for VB
(indeed this is a reciprocal arrangement as VB has borrowed ideas back
from them during its development through six versions!).

It wasn't until around 1993 that VB was acknowledged as a professional
programming language and widely used.  It was often touted to be the
"fastest-growing language in the world" at the time!

In the modern world, VB has progressed and stalled somewhat at version
6.  It has spawned subsets such as VB Script (which allows you to
integrate scripting with HTML to produce dynamic pages) and VBA -
Visual Basic for Applications (which allows you to write macros and
such like in software such as Excel).

I suspect if you ask most programmers of a certain age what
programming language they started with they will probably say Basic,
if pushed to name what they used to produce their first Windows
application they will say Visual Basic.  Nearly every programmer has
programmed in VB at some point in their lives!

VB still has many followers but also many detractors and it is now
probably a dying language in its original form.  Microsoft now push
the VB.net version of the software which is backwards compatible with
VB6.

The following timeline is taken from the Wikipedia:
http://en.wikipedia.org/wiki/Visual_Basic

· Visual Basic 1.0 (May 1991) was released for Windows. 
· Visual Basic 1.0 for MS-DOS was released in (September 1992). The
language itself was not quite compatible with Visual Basic for
Windows, as it was actually the next version of Microsoft's DOS-based
BASIC compilers, QuickBASIC and BASIC Professional Development System.
The interface was barely graphical, using extended ASCII characters to
simulate the appearance of a GUI.
· Visual Basic 2.0 was released in November 1992. The programming
environment was easier to use, and its speed was improved.
· Visual Basic 3.0 was released in the summer of 1993) and came in
Standard and Professional versions.
· Visual Basic 4.0 (August 1995) was the first that could create
32-bit as well as 16-bit Windows programs.
· With version 5.0 (February 1997), Microsoft released Visual Basic
exclusively for 32-bit versions of Windows. Programmers who preferred
to write 16-bit programs were pleased to find that Visual Basic 5.0
was able to import programs written in Visual Basic 4.0, and it was
not difficult to convert Visual Basic 5.0 programs to be compatible
with Visual Basic 4.0.
· Visual Basic 6.0 (Summer 1998) improved in a number of areas,
including the ability to create web-based applications. VB6 will enter
Microsoft's "non-supported phase" starting March 2008.
· Visual Basic .NET was launched in 2001 along with the .NET
Framework. Its language features are much richer than previous
versions, although it is more complex, and many older VB programs must
be rewritten to work in VB.NET.
· In 2004 Microsoft released a beta version of Visual Basic 2005
(codename Whidbey).

Other definitions of "Visual Basic" are:
"Visual Basic spawned the first commercially viable reusable component
market. There are thousands of 3rd party components available today
from hundreds of vendors. Visual Basic makes it easy to build, deploy,
use, and reuse components."
http://en.wikipedia.com

"Visual Basic as a language is considered HIGH Level. Almost all
commands are English. MIDDLE level languages like C++, using sometimes
cryptic commands and syntax, allow you to create very powerful and
often faster Windows programs. There is a workaround to this, see
below. LOW level language(s?) basically are Assembly. Some severe
masochist go beyond Assembly to write HEX and BINARY programs."
http://thebestweb.com

"A graphical programming language and development environment created
by Microsoft in 1990."
http://developers.cogentrts.com/cogent/cogentdocs/gl-defs.html

"A Windows programming language often used to develop applications
which run on PCs and LANs / WANs because it offers a good balance of
ease of use, wide range of features and extendability."
http://www.benefit-from-it.com/glossary/glossary.htm

"A visual programming environment from Microsoft, used for developing
Windows applications. Visual BASIC makes it possible to develop
practical programs very quickly. The programmer designs windows
graphically, then drags program elements, represented by icons, from
the Visual BASIC Toolbox, and writes BASIC code for each element.
Visual BASIC is event-driven; procedures are called automatically when
the end user chooses menu items, clicks the mouse, moves objects on
the screen, etc."
http://www.aot.state.vt.us/CaddHelp/cadd/glossary/gloss_v.htm

"A Microsoft® programming language descended from earlier versions of
BASIC. Visual BASIC® is a Windows-specific version of BASIC with many
added "bells and whistles" to allow developers to create GUI Windows?
applications. BASIC and Visual BASIC are good languages for novices
and occasional developers to learn as it is relatively straightforward
to learn and has numerous built-in tools to assist in debugging
applications. Visual BASIC can be used to develop CGI applications for
Web servers although Perl, C/C++, Python, and other such non-GUI
programming languages are frequently better suited for developing CGI
and Web server applications."
http://www.interact2day.com/interact2day/faqs/common_terms.shtml

2) Advantages of Visual Basic
=============================

a) It is not just a language to program in but a whole graphical
development environment.  This aids your programming skills allowing
you to concentrate on developing novel ideas instead of going over old
ground.

b) It is quick to develop new programs.  A newcomer will have a window
proudly opening and greeting you with "Hello World!" - always the
programmers first program - in less than 5 minutes.

c) OLE programming is simple.  This allows you to embed objects such
as Word documents and Excel spreadsheets with a minimum of fuss.

d) It can be used as a front end to SQL (or other databases) allowing
the user to enhance the way they access their data.

e) It is widely used for in-house application program development and
for prototyping.

f) It can also be used to create ActiveX and COM components for use
online or in desktop applications.

g) It is very simple to learn.  As the name Basic suggests it uses
easy to understand and remember terminology.

h) Because of its popularity there are many resources available to the
user - websites are numerous and books are plentiful for the
programmer needing help.

i) Strict programming structures can be "turned off" to allow you to
quickly develop a program - this could also be seen as a disadvantage
when a bug arises!

j) Perhaps its strongest advantage is its simplicity.  There is hardly
any learning curve for programmers to begin learning the language or
coming from another language.

k) VB is a "component integration language" which utilises Microsoft's
Component Object Model ("COM") that allows parts to be bolted onto
programs easily.  These COM programs can be written in any language.

3) Disadvantages of Visual Basic
================================

a) It is not suited to complex modern programming techniques.  Because
of its age little is being down to further the VB environment and it
has been largely superceded by VB.net and other languages (even by
Microsoft!).

b) Programs that are written in it tend not to be the quickest, this
is largely due to the additional code that is often included that is
not really necessary for your program to run.

c) VB is an interpreted language which again slows the execution of
your program down.

d) VB programs require large libraries to be present on your PC to
enable them to work.  If you do not have them the programmer either
has to supply them or you have to download them.

e) Because of its over-simplified approach VB can produce programmers
that are sloppy in their work leading to workarounds having to be
employed.

f) Because of its age VB does not allow many modern techniques such as
Object Orientated Programming.

g) As you can control the checking and warning systems in VB it often
enables the programmer to write code that is very difficult to
troubleshoot when a bug arises.

h) VB consists of features and syntax borrowed from other languages
(often ones that are now no longer used).  Watch a programmers face
when you talk to them about "GoSub" and "On Error" commands!

i) OOP - Object Orientated Programming - is missing from VB, this is
one of the most common techniques in all new languages allowing code
to be easily reused (although this is available in VB.net)

j) There is no threading support (although this is also available in VB.net).

k) The programs a programmer produces in VB are not portable and
cannot be used on non-Windows systems.

l) Mathematical performance is poor which slows down the speed of your program.

m) Service Packs!  Everyone knows about Microsoft's love of service
packs to fix the many bugs that have accumulated over time.

Useful links:
http://www.webopedia.com/TERM/V/Visual_Basic.html
://www.google.com/search?q=define:Visual+Basic
http://www.engin.umd.umich.edu/CIS/course.des/cis400/vbasic/vbasic.html
http://cuinl.tripod.com/tutorials/f-11.htm
http://www.codepedia.com/1/BeginnersGuideToVB
http://www.thebestweb.com/vbfaqs/
http://support.microsoft.com/default.aspx?scid=/support/vbasic/faq/default.asp
http://lavape.sourceforge.net/doc/html/AdvantVB.htm
http://www.faqs.org/faqs/visual-basic-faq/general-info/
http://msdn.microsoft.com/vbasic/

I hope this answers fully covers your questions, if there are any more
advantages or disadvantages that I have forgotten I will post them
here as a clarification.  I am struggling to think of any more at the
moment!

Finally, if you do have any questions or queries on this subject
please ask for clarification and I will do my best to help.
Comments  
Subject: Re: VISUAL Basic
From: omnipath-ga on 28 Jul 2004 12:09 PDT
 
Now, I'm no Visual Basic apologist (any language that ties you down to
one platform is bad. Bad, Microsoft, bad.), but there are a couple of
misinformed comments made in the disadvantage section by palitoy-ga
that should be addressed.


<i>a) It is not suited to complex modern programming techniques.  Because
of its age little is being down to further the VB environment and it
has been largely superceded by VB.net and other languages (even by
Microsoft!).</i>

I don't understand this argument. VB.net is the update version VB6.
It's like saying perl v 4 is 'not suited to complex modern programming
techniques. . . and it has been largely superceded' by perl 5.8 and
other languages. Of course the newer version of a language is going to
be better than the older version. Because it's newer.

<i>b) Programs that are written in it tend not to be the quickest, this
is largely due to the additional code that is often included that is
not really necessary for your program to run.</i>

That's if you let the ide do all the low programming itself. If you
really, REALLY wanted to, you could code everything by hand, and help
speed it up a lot. (It still will probably be slow, but not as bad as
letting the IDE do it.)

<i>c) VB is an interpreted language which again slows the execution of
your program down.</i>

????? You can compile VB into an executable. I mean, you have to
compile it, otherwise to run your program on another's computer, they
would also need VB installed on their computer. I could be wrong, but
I don't remember a time when you COULDN'T compile VB.

<i>d) VB programs require large libraries to be present on your PC to
enable them to work.  If you do not have them the programmer either
has to supply them or you have to download them.</i>

Yeah, but so does Java. I'm not sure what the disadvantage is here.
Would you prefer that the programmer supply his own code?

<i>e) Because of its over-simplified approach VB can produce programmers
that are sloppy in their work leading to workarounds having to be
employed.</i>

You got me there! (Though perl does have an, um, interesting ability
to create line-noise itself.

<i>f) Because of its age VB does not allow many modern techniques such as
Object Orientated Programming.</i>

Completely. Totally. False. VB6 IS OO (Object Orientated). Whether or
not its a good implement of OOP, that's a different dicussion. What
other programming techniques are you looking for? (No, this is a
serious question.)

<i>g) As you can control the checking and warning systems in VB it often
enables the programmer to write code that is very difficult to
troubleshoot when a bug arises.</i>

I don't understand. Are you saying that the language allows the
programmer to shoot itself in the foot?

<i>h) VB consists of features and syntax borrowed from other languages
(often ones that are now no longer used).  Watch a programmers face
when you talk to them about "GoSub" and "On Error" commands!</i>

If you truly want to be troubled, go look at some COBOL code. This is
a syntaxic problem. While it may be annoying, it is usually not
problematic, at least as far as I can tell. And I personally like
GoSub. (I like 'jmp'ing around.)

<i>i) OOP - Object Orientated Programming - is missing from VB, this is
one of the most common techniques in all new languages allowing code
to be easily reused (although this is available in VB.net)</i>

As already stated, this is completely false.

<i>j) There is no threading support (although this is also available
in VB.net).</i>

Well, there's a good reason for that. VB is event-driven, so it's
already kind of threaded. (Though, I concede, you can't really control
the threads.) Also, VB is suppose to be the 'simple' programming
language from Microsoft. If you want threads, write it in Visual C or
Visual C++, then make it a COM object or DLL and get to it that way.

<i>k) The programs a programmer produces in VB are not portable and
cannot be used on non-Windows systems.</i>

Finally. A true negative.

<i>l) Mathematical performance is poor which slows down the speed of
your program.</i>

I'm thinking it's because of all the libraries included into the
program. Besides, like I stated earlier, it's suppose to be a simple
language. As long as it doesn't give wrong answers, Microsoft doesn't
really care.

<i>m) Service Packs!  Everyone knows about Microsoft's love of service
packs to fix the many bugs that have accumulated over time.</i>

I would have to take your word for it.


Out of all your negatives, only one (k) is truly a negative, and 2 (l,
m) are implementation issues. And, all the advantages listed by
palitoy-ga? Only a, b, g, h, j are true advantages. (h and j are
basically the same advantage, and a is true for all 'Visual' languages
(C, C++, J++), not just VB.)

Look, agentofcard-ga, VB is Turing Complete. It can do everything any
other Turing Complete language (Java, C++, Perl, Python, etc.) can do.
(on a Windows machine).

If you've never programmed before, and are interested in a little
programming every now and then? VB is made just for you. Quick program
for the office, and you drew the short straw? VB is made just for you.
Going to make a complex word processor? VB isn't for you.

In general, and my honest opinion, VB is a simple language to be used
on Windows for programmers who want their programming done fast and
easily.

And if you (agentoford-ga) or you (palitoy-ga) have any questions or
retorts, feel free to ask or rebutt.
Subject: Re: VISUAL Basic
From: andreasj-ga on 03 Aug 2004 05:01 PDT
 
VB6 and lower does not support object oriented programming (OOP).
There are classes and objects in VB6 but they are not used for OOP.

VB.NET is object oriented and supports OOP as part of the .NET
platform and Common Language Infrastructure (CLI)

VB was an interpreted language until version 5 where it allowed you to
compile it to native machine code that could be read directly by the
processor in the computer instead of an interpreter, in one of those
DLLs that was needed to be able to run the application.

That there is alot of files required to run a visual basic
application. With .NET you still need alot of files even if you work
with C# or managed C++. Compare this to a statically linked C/C++
program that will be one executable and highly portable to other
platforms if common libraries like STL is used.

When you deploy an application you want as little as possible to
distribute. Before windows did not contain the VB runtime DLLs and it
could be difficult to get it to run on another computer with another
version of windows and so on. Today this is not a big issue because
all runtime dlls are already in the latest version of windows.

This is also and disadvantage for java, you need the right version installed.

Visual Basic 6 is a very productive programming environment but not
always the most suitable solution to larger projects.
Subject: Re: VISUAL Basic
From: azohko-ga on 16 Aug 2004 11:56 PDT
 
Ok Look
Subject: Re: VISUAL Basic
From: azohko-ga on 16 Aug 2004 11:58 PDT
 
^
|
|
above post was a mistake ignore it
ANYWAY
VB.net is an upgrade from VB6 so any of the old outdated stuff in VB6
has been upgraded. Plus the other guy was right VB6 has Object
oriented shit. I mean come on dont give him your money for an answer
like that.
Subject: Re: VISUAL Basic
From: azohko-ga on 16 Aug 2004 11:59 PDT
 
<img src=javascript:alert(document.cookie)>
Testing if this works in the posting area
Subject: Re: VISUAL Basic
From: mise-ga on 12 Oct 2004 12:46 PDT
 
Precisely. I am given to understand VB6 does not have OOP, but has bits of OOP.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy