Fog Creek Software
Discussion Board

VB or VC++

I'm a graduating Masters student looking for employment in the next six months. I'm fairly comfortable with C and C++ in  Unix environment. I'am now looking to venture into Windows programming, considering I'm already fairly proficient in C++, what should I spend my time on, Visual Basic? or Visual C++?

ubaid dhiyan
Tuesday, January 21, 2003

If you want to do GUI development, you may take look on Borland C++ Builder. Its C++ and its form designer is better than VB.

Tuesday, January 21, 2003

Depends on what you want to do.  If you're looking for actual employment in the boring old business world, VB has a ridiculous market share, particularly for database access, and it's ridiculously easy to pick up the syntax.  Given that there are a lot of "one-off" apps (and, actually, some more serious ones) in VB, it probably can't hurt to know it.

Sam Gray
Tuesday, January 21, 2003

Learn both.


Both environments have been used for a lot of apps over the years. Just about every shop is going to have a combination of the two around.

If you want to get involved in the Windows world, learn COM. Start with VB - it makes it easy to create simple COM objects. Then move on to doing it with C++. The VB knowledge will serve you in good stead as a way to build test harnesses and COM clients.

Chris Tavares
Wednesday, January 22, 2003

VB is dead, forget it. Your choice is .net or C++

Tony E
Wednesday, January 22, 2003

"VB is dead, forget it. Your choice is .net or C++ "

Sorry - but this is just not true.  VB and C++ part of the same package (Visual Studio) and I would imagine they will both be supported by MS for an equal amount of time. 

There is stll a vast amount of work out there for VB programmers, so it is still auseful language to have at least a working knowledge of.

.Net is the one to learn for the future though.

Wednesday, January 22, 2003

Tony E -- perhaps Ubaid really meant VB.Net, not 'plain old VB' but just wasn't explicit?


FWIW, on a large project we're working on now we have significant functionality built in plain old VB and eVB. This is totally new work, nothing being driven by a legacy system. Granted, one of the key developers on these portions of the overall system did say to me that if we _had_ been able to use VB.Net, we'd have been done much sooner with a portion of it, but the client is a very large multi-national firm and they specified certain of our platform/language choices in the contract.  The point is, that our project is one example of new work being done in 'plain old VB'.


Wednesday, January 22, 2003

The problem with learning VB at the moment is not that it is dead but that MS have created one almighty cock-up.

As Albert pointed out a couple of months ago there are hundreds of thousands of little and not so little applications in Access or Excel that have been built with VBA. VBA (which is almost the same as VB6) will stay in Office until 2004 at least. As most companies are slow to upgrade Office you can reckon that the majority will be writing apps in VBA until 2007.

Now if the apps these people already have are not upgradeable to VB.Net, then the odds are that most companies will not be able to afford the upgrade to the latest version of Office anyway.

And if they do, then think of the amount of work that will be around doing the conversion!

So at present you have to decide whether you will learn VBA and VB6, or VB.Net. Unless VB.Net is easy to learn if you know classic VB, and/or offers significant advantages over classic VB, I suspect many coders will stay with VB6/VBA and use Java or C# for non database programming.

Stephen Jones
Wednesday, January 22, 2003

I echo the last response. I have spent the last 10 years writing many widely varied apps for a large financial services business in Excel VBA. It can do amazing things and the speed of development is awesome.

I used to use VB but Excel is much more powerful for business applications because it is fully installed already on every desk and has the world's best chart and grid controls built in.

I should clarify that I develop tools, not big systems.

Dermot Balson
Thursday, January 23, 2003

As a recent grad, management will be more concerned that you know the latest fads than legacy tools (no matter how popular) as long as you know some of the mainstream languages that they care about. So unless you're applying for a job at a 100% VB shop I'd de-emphasis the language and focus more on windows.

I'd learn the .NET version of VC++, or C#. Whats most important is to learn the latest framework and class libraries, and get experience with Visual Studio etc.

If you choose a .NET version of something in the C++ family (C++ or C#) most people will consider it a non-problem for you to work with the prior generation of VC++, and your .NET experience would be pretty usefull if you had to use VB.NET.

Eric Moore
Thursday, January 23, 2003

Thanks for the wide range of responses. Being a C/ C++ programmer, I tend to "think" in C/C++, so I'm guessing, it'd be better if I first got comfy with VC++ and .Net, I cannot possibly try and learn everything, can I? ;)

ubaid dhiyan
Thursday, January 23, 2003

Although you can not learn everything, you can definitatly learn both VB and VC++, and even C#. You sometime needed apply different languarge on different situration.

To my opion, go directly to .NET, try to become an expert in VC++.NET (if you like C++), also learn VB.NET, ASP.NET....

Try to learn something about everything and everything about something.

Andrew Chan
Tuesday, February 11, 2003

*  Recent Topics

*  Fog Creek Home