# Is Visual Basic used in real world applications?



## Regicide (Aug 8, 2003)

I have just started getting a degree in Computer Science and Engineering. I have learned C/C++ so far through the major. Next semester it is required that I take a course in GUI Programming using Visual Basic. I cannot get a straight answer out of my professor so I thought that I might ask here. Is Visual Basic used in real world applications? The way I understand it, Visual Basic is an interpreted language that can only be run on Windows based systems. So, why even bother using it if I can just use C or C++ to make a Windows GUI application?


----------



## aewarnick (Sep 3, 2002)

I hate VB with a passion and will never touch it. In my opinion, noone should use it.

If colleges would make a small open source gui framework for windows and graphical controls, there wouldn't be a need to use VB at all, and the students would have code that would teach them how controls work and how to create their own.


----------



## AGCurry (Jun 15, 2005)

Visual Basic is IMO a *******-child programming language, for all the reasons noted above.

However, it IS used in the real (business) world.


----------



## tsunam (Sep 14, 2003)

I can also confirm thats its used in real world situations. The company I work for uses it a lot for scripting things as well, patching.  Linux, went out like the water from a storm surge in favor of something we have to reboot daily  serial line get's hozed nearly daily.


----------



## absentmind (Sep 16, 2005)

I'm forced to use it. Scripting purposes only. I'm no developer though.


----------



## coderitr (Oct 12, 2003)

I've been using VB in the real world for years. I've written some fairly complex applications for my company. It goes way beyond dragging and dropping controls on a form. There are problems that can be solved in VB.


----------



## isildur100 (Oct 11, 2005)

I use it in real apps too. And I used to hate it with a passion too but when you are paid to create apps and the customer can't wait a year to get it, VB does the job fairly well for building GUIs.

What I do is code the GUI with VB but all the code that actually performs anything is implemented in C or C++ in external DLLs. It is a lot faster to create applications that way. Unless you have enough time to code GUIs in C++, VB is fine when properly coded.


----------



## coderitr (Oct 12, 2003)

I use C and C++ too and sometimes call C / C++ DLL functions from VB code when my project requires a bit more precision than VB can provide. For example, I had to write a sockets application on Win2000 and found that the job became more difficult with the event driven Winsock control in VB so I coded the socket communications in C, embedded that code in a DLL and called it from the VB application. This strategy worked just fine until the reason for this code went away.


----------



## paranoidtech (Oct 15, 2005)

Actually VB is a Rapid Application Development and it is use mostly on the business especially in Information System. What the VB is actually purposed is you don't have to think about Client Interface. The things that you have to consider is the Business Logic


----------



## Anne Troy (Feb 14, 1999)

I'm surprised at the answers here. I am currently managing the development of two VB applications. Granted, one is nothing more than a glorified mail merge (that doesn't use Word), and the other is a glorified mail merge, too, but has many other features as well. Both provide for emailing to addresses stored in the system (Access database backend). I consider these to be "real world" applications.

Unfortunately, VB6 is going out, right? Dot-Net is the new thing?

Also, if I were going to create an application for resale, I would make it an internet application that requires users to subscribe, rather than purchasing the software outright. That way, updates are done at one location and, hopefully, you have customers for life.


----------



## Chicon (Jul 29, 2004)

Hi Regicide,

To answer your question, I will say yes. There are still many ICT's with outdated materials.
A few weeks ago, I paid a visit to an insurance company : they were still using old PC's installed with Windows 3.11 and they gave me old programs written in COBOL 85 to upgrade for their WANG VS computer !!! I had the impression to get more than 10 years back.


----------



## Gazornenplat (Dec 30, 2004)

Personally, I'm not surprised by the responses here. Ive been programming for 25 years and have seen no end of people slagging off this language and saying that the other language is the best ever.

Basic of any flavour has had its detractors since the word go. This is probably because it was devised as a simple language to be used by the budding programmers and skilled non-programmers.

More people program in VB than any other language. I expect that there will be some relatively inexperienced people jumping in to say that someone using VBA to complete some simple task is not programming, but everyone wrote a "Hello World" program at some time, and a program is a program however little it does.

It is true that Basic was limited at first, and that compared to, say, C, its speed was not adequate for intensive operations, but VB.net compiles to the same IL as C# and VC++.net, so there is finally no arguement left there.

You might also find a difference of opinion between programmers who program for a living and those who do it as a hobby. Hobbyist tend to be more, shall we say, single-minded. As do programmers who haven't used more than one or two (usually related) languages. These people can't do what they want to do in a new language right away, and then blame the language.

Programmers who have used a dozen or more languages for commercial gain (IMHO) have a different opinion (I have used Cobol, Fortran, Pass, IDCAMS, CLIST, Wylbur Execs, Rexx, IBM370 Assembler, Z80 assembler, VB4/5/6/.net, C++, C#, Forth, HTML, PHP, CF, Java, JavaScript, Perl, EasyTrieve and others).

It is my belief that all the languages have their place, and most applications could be successfully written in quite a number of languages. There is nothing wrong with a quick simple language.

So to answer your question (finally) then yes, VB is used all the time in real world applications. My advice to you would be to try out as many languages as time permits. If you are not going to end up coding to someone elses spec, then the experience will allow you to concentrate on how best to solve the problem in a general way. That will allow you to use your experience to decide which language is best for your solution. The danger with knowing only one language is that you make the problem fit the language.

If languages are methods of transport, then they all have their uses. Sometimes, in the city, walking is the quickest and best solution, but if you are in London and have to get to Delhi, then it's probably better to fly.

You could use assembler to create a GUI, but you would be re-inventing the wheel, and it would be like creating a skyscraper by superglueing grains of sand together.

In the real world, you use the largest building blocks you can get away with.

Good luck with the career.

HTH,

Ian


----------



## brendandonhu (Jul 8, 2002)

VB is a compiled language and not interpreted AFAIK.


----------



## jiml8 (Jul 3, 2005)

There are many commercial apps written in VB. Some of them are pretty good, though bloated. VB makes the user interface into a piece of cake, which makes a big difference particularly to the inexperienced programmer. A relative novice can turn out a project that at least looks good even if it is weak behind the scenes, and a good programmer can turn out a good app. VB does a great deal of "hand holding" and makes programming "easy", while simultaneously teaching any number of bad habits.

Personally, I hate working with VB; the UI in their development environment sends me up the wall. Let ME decide whatthehell I am doing; stop straightjacketing me! Nonetheless, when I need to put together a COM object or a DLL, I'll fire upVB long before I'll fire up a C compiler; I can just get it done faster in VB even if the result is bigger, bulkier, and less elegant.

Now, and I could turn out to be very wrong here, I think anyone who does a major project in VB or in .NET now or in the future is making a big mistake. I do believe that Microsoft's desktop monopoly will be broken open over the next few years, and I also believe that Microsofts "Digital Rights Management" (aka "handcuffware") push and their steady move toward a subscription model for their OS and their applications will fail. 

These moves will fail because too many people won't stand for it and because Linux is quickly becoming a viable alternative OS and Open Office is quickly becoming a viable alternative office suite. Further, the growing success of these initiatives is strengthening the Open Standards movement, something that Microsoft has always opposed.

Now, VB and .NET are Microsoft-only approaches, while C, C++, Java, PERL, PHP, and so forth are multi-platform approaches. The advantage of multi-platform is obvious; you are not locked into one OS or family of OSs. Consequently, you can "move with the current" with your project and have it available for pretty much anyone. 

The downside of multi-platform need not be severe; there will usually be some OS-dependent code in the app and you'll have to maintain that. You also have to program differently; you need to break out OS-specific features in a fashion that makes it easily possible to move from platform to platform; this is not at all a consideration in applications like VB.

I would not and do not use VB for significant applications. I do use it for "glue" apps such as DLLs when necessary.


----------



## Gazornenplat (Dec 30, 2004)

For those that don't know...

All Studio.Net programs complie to MS IL (Microsoft Intermediate Language) which is then converted to an executable. The IL is platform independent and in theory can be used to create executables on any platform. You can already compile it to Java (see http://www.codeproject.com/showcase/Mainsoft_grasshopper.asp ) 
and there are other *nix projects which will allow you to create executables from VB and C#. I think that one of the main reasons they got off the ground was because MS said that VS was to complex for the *nix hacks to crack 

Ian


----------

