Visual Basic vs. Visual C++

J

Thread Starter

Jonathan Anderson

I've done programming in Fortran, Pascal and C++ for many years. I'm job hunting and see tons of positions asking for Visual Basic experience. It seems to me that if I have programming experience in Visual C++ that Visual Basic shouldn't pose a challenge for me. It's kind of like asking a unicycle rider if he can ride a regular bike. Am I right or have I missed the point?
 
C

Curt Wuollet

You're right, of course. But being right doesn't make much difference. This is a big problem, especially for those of us who have rather extensive resumes (old guys) and possess skills that very few will have the opportunity to acquire due to outsourcing and the general demise of skilled positions in this country. These skills make for a very versatile and capable worker who really _can_ do just about anything. Employers now use methods that blind them to this and focus on specifics to the exclusion of all else. I, for example, have the skills to design, layout, fab, and do the integration work with my boards to the software I have written for a competitive general class component test system. Yet I am obviously unqualified to test stuff with LabView. Or VB for that matter. I have been a professional UNIX SA and have personally built more PCs than most people have seen, yet I'm not qualified to handle equipment for a school system or an ISP. Same with telco stuff and the list goes on and on. Yet, if someone takes a CC class and buys the crib notes and bribes MS to grant them an MCSE, or even plays a couple weeks with FrontPage, they have the right buzzwords and blast right throught the "HR-O-MATIC" website or the idiots with the list of buzzwords in HR. They are unquestionably more qualified, even if they haven't ever seen a real installation or really done anything. I do console myself with the fact that I probably wouldn't enjoy working for the terminally clueless, but as anyone who has looked for a job in the technical world lately will confirm, the process is very much broken. Any chance connection between people needing real talent and people possessing same is purely coincidental. It would be hilarious and it really would be appropriate that the clueless find themselves short of the talent they need. But a lot of very capable people are idle and many have actually given up, at precisely the time when we need their talent the most. Others simply have to go to work in the foundry.

As rhetorical questions: How many of your best people are defined by the buzzwords you search for? And how many of you working professionals have the right buzzwords to fill the ads you see? It's shocking when you look at the disconnect.

Regards

cww
 
Do not assume it is easy just because you know the more complicated one.

The fact that you already know sevaral languages will speed you up big time, but it will still take TIME.
VB is less powerful than C++ but it is still a full blown language.

And the main advantage it has over C++ is VERY short application develpment time (RAD).

V
 
The langauges that you have learned are more suited for industrial and scientific applications. Of course there are some commercial SW written in C also.

VB on the other hand is a genral pupose language.
But has lot of use in client server application. Databases like orcale used as backend and vb as the front end tool.

But having learned VC it switch over to Vb is a easy thing.
 
Hi.

Let me first say that I have done very little using c++ and a lot more using VB. VB6 is slooow if you compare it to an application made in c++ that really uses the cpu for some data processing. I have however never made a program that really does some long very computing intensive operation - which is why VB6 has been ok.

I have however understood that many c++ programmers have made the cpu intensive operations into components (dll's for example) and then made the user interface for the component using vb6.

I have however not been using vb6 for the last 1,5 years and neither should you. The way to go today is VB.NET if VB is to be used. It's similiar to VB6 but still very different because it runs on MS's .NET framework where the programs are compiled to a intermidiate language (things are slower the first time the application executes them but then readily compiled the next time). I use the C# language today. Both VB.NET and C# use the .NET framework and will produce roughly the same speed results (should be exactly the same but some very small differences here and there have been found).

MS is today pushing the .NET Framework as the main thing to know and to use. I'm not sure about the support for VC++ for .NET in VS 2003 today but the next version (VS 2005) should have a lot better support for writing C++ programs for .NET too.

Anyway - I would take up learning either C# or VB.NET (definately forget VB6). You will be a lot more productive using these languages than C++. You can still make the critical parts of your programs in C++ and then call your C++ components using unmanaged code call procedures (managed code is .NET code and traditional code is unmanaged).

As for the choice between VB.NET and C#. The right answer is that it's every programmer's personal preference to which language to use as both will produce the same result. Some companies might though want all their programmers to use only either one of them. Some companies still think that VB.NET is slower (which is not the case) than C# as they remember things that were true for VB6 and previous versions.

The best thing would in the end for programming windows applications be to know a little of everything - C++, C#, VB.NET, SQL and even VBA in some cases (VB for Applications - the macro language in MS Office products - fairly close to VB6). Knowing only C++ is always ok but there are situations where other programmers will make the same application a lot faster in for example C# than in pure C++ and time is money so...

Hope some of this helps...
 
K

kalpak dabir

For industrial apps VB does not have the reliability needed. Its apartment type of control handling makes complex real time or near real time project difficult.
 
E
If you have programming skills in C++, VisualBasic should be pretty easy to learn. In fact you will spend more time learning the limitations rather than the language model itself (grin).

If you're going to learn another programming languange, I would definitively go for C# and rest of .NET languages.

Nothing against VB6. Was a good language despite of its limitations, but the future on the Microsoft side is .NET for sure.

Eugenio
 
I believe you are right. Especially, with the .net series using C# and VB are almost completly interchangeable. Just a matter of syntax. You just need to convince the person hiring you the same thing.
 
D

Davis Gentry

Well, it's not quite that simple. VB is a very different language than VC++ (I do both). But, having said that, if you are used to object oriented programming then you will have no problem learning VB. About two weeks of intense work will have you able to do just about anything in VB with no problem.

VC# is kind of fun - meets in the middle between VC++ and VB. Just learning that now.

Davis Gentry
 
B

Brian E Boothe

That's Funny that People are even talking about these languages in the Automation world, all my fellow programmers know is ladder ladder ladder.

And they could care less about anything else, I think there dumb but that's my oppion.
 
Brian, I think you live in a world with blinders on. VBA is found in many industrial programs for customizing services. When you hit a wall with VBA you get the full version VB which I have done several times. When you hit the wall again which I have done you go to Visual C++ or others for those final finishing touches.

I have been doing ladder logic for 29 years. First it was real relays and later became software. As demands grew I learned and used more languages. Now there are even great environments that use all of the IEC61131-3 languages at once.

The most important thing I have learned is that no language is suitable for everything and every language has things it does better than others.
 
B

Brian E Boothe

Me?? Blinders?? NO, u Completely Misunderstand me, I Write Software in 15 Languages, even all .NET derivatives. I love IEC61131-3 Languages to a Great extent, it's my Co-Programmers who do nothing but see ladder and that's all they do and Want to do and nothing else. THEY have the
blinders on. I believe that's not a true programmer in my Oppion not even close.

They see nooo benefit in extending their knowedge past ladder logic. How blind can u get ???
 
If you've been seriously programming in a language that is as difficult and powerful as C++, you shouldn't be even asking questions about BASIC. Or any of its derivatives. I've seen a few people who go around moaning about how slow developing applications for Windows are in VC++ compared to Visual Basic. The fact is with resource files and dialogs you can get the same UI as you can with a VB app in roughly the same time. Then, it's simply a matter of calling GetDlgItem(HWND, INT) to get the HWND's of the controls in the WM_CREATE portion of the WndProc and blam! Edit to your hearts content. Although this is probably a lot of work and nontrivial to the seasoned VB/anti C++ programmer, to most of us it's a walk in the park. And why in hell are they asking for VB experience? It's BASIC. If you can speak english you're set.
 
B

Brian E Boothe

Don't even Go there. I can build a app in 1/2 the time with VB and a few clicks of the mouse than VC++ ever dreamed of, for that fact even Delphi is a faster GUI development environment than VC++.
 
C

Curt Wuollet

I've seen lots of those ads as well. In fact it seems as if employers aren't interested in anything else. It bothered me at first, but on reflection, I realized two very important things.

1. The quality of the product probably reflects the quality of the company.

2. Life is probably much better if you are not responsible for a pile of this drek.

Research on a couple companies that would have been attractive because they were local and in fields I was interested in has pretty much confirmed this wisdom. When I was out of work and desperate I could have possibly talked my way into either of these positions. I'm really glad I didn't. One went belly up and the other changes programmers at least 3 times a year.

Regards

cww
 
Visual Basic is very weak compared to VC++, Classes in VB = NO, Pointers = NO, Run on Linux/Unix = NO, Talk to Hardware = NO.

Visual Basic is SLOW, BIG, Only on Windows, CRAP!
 
C
I wouldn't hold my breath waiting for Microsoft VC++ for Linux. But there are workarounds and the better route of using Linux facilities on Linux.

Regards
cww
 
M

Michael Griffin

C++ is a programming language. VC++ is merely a commercial C++ compiler product that only runs on WIndows and only targets the x86 processor family. In other words, don't confuse the language with a particular compiler implementation.

For Linux/Unix, most people use gcc for the C++ compiler. If you want an IDE, there are KDevelop, Eclipse, etc. (there are many others as well). Most larger Linux distributions come with compilers and several IDEs.

With regards to your second question, for VB you would typically call a library that was writen in C/C++ which would in turn talk to the hardware. If you are considering VB-dot-net, then research the project very carefully as the hardware library support is much more limited than it was for the older "VB Classic".
 
D
First - no, you cannot run VC++ code under Linux -
just C++.

Actually, there was a bit of misinformation in the
previous post. The .NET version of visual studio has changed some things under the hood. The differences between VC++ and VB are getting smaller. VB is a good platform for developing an HMI (our clients do it all the time). VC# is an even better platform - faster than VB and somewhat easier than VC++. Having said that, I will also say that VC++ .NET is considerably easier to use than 6.0, though the documentation is a bit sketchy. Many of the samples that are ostensibly for VC++ .NET have a caveat which state they have not been updated for the changes in .NET. I recently wrote a demo program for our stuff, porting from MFC under VC 6.0 to Windows Forms Application under VC++ .NET. The changes are just enough to make it a pain to figure out how to do many simple tasks - but once you understand how it works it goes very smoothly.

Davis Gentry
Delta Tau Data Systems
 
Top