advertisement
from the Automation List department...
Visual Basic vs. Visual C++
Software, including programming, OS issues, etc. topic
Posted by Jonathan Anderson on 13 July, 2004 - 2:15 pm
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?


Posted by Curt Wuollet on 14 July, 2004 - 4:55 pm
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


Posted by htp on 31 July, 2012 - 5:50 am
> 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.

---- snip ---- by moderator to read the complete post go to http://www.control.com/thread/1026197890#1026197918

> 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.

Wow. To anyone possibly reading this post, it's been eight years since the original discussion (and subsequent reply by cww) took place. I got out of the IT field in 2002 and actually *did* work in a factory between 2005 and 2010, and now that I'm considering possibly returning to the field while pursuing my Bachelor's degree, the irony behind cww's words couldn't be more pronounced.

Beyond the IT world, the entire HR process appears to have become warped beyond recognition. No longer do actual skills or experience seem to amount to anything, but the ability to sell oneself to a prospective HR type and/or hiring manager (usually the former) now appears to be the trend. I actually had a career counselor at the university I am attending state this to me, as I most likely sat there gaping in disbelief. What really stunned me was her statement about it taking an HR type only six seconds to visually scan a résumé before deciding whether the person submitting it was worthy of further consideration for a job in question.

Yet, even with this HR mindset, there is buzz through the media that there is a shortage of IT professionals, which makes me have to ask, "Is it any wonder?" I often wondered, back when third-generation languages were becoming popular, whether perhaps a dangerous laxity was developing when it came to programming. It seemed to me that the need to get things done yesterday overrode the need to scrutinize lines of code and add appropriate comments in it when necessary; third-generation languages made it that much easier because the libraries and modules were already there to use. But just because they were doesn't mean they weren't infallible, and I can only imagine what nightmares fourth-gen and beyond have and will bring, especially if they're being developed by individuals who *are* landing jobs just because they're buzzworthy in the eyes of an HR generalist or hiring manager.

Before the economy of the USA can recover, it seems to me that we all have a responsibility to find the means not only to start taking pride in our work but also to balance that pride with respect and humility. Additionally, management must get back to recognizing its workforce, and HR once again needs to begin to identify with the ideal that the most valuable resource a business has is its people.

Thanks for a very well-written post, cww -- I can only hope this response is received as favorably by anyone who may happen to read it.

Best,
htp


Posted by Curt Wuollet on 31 July, 2012 - 7:56 pm
You're welcome htp, and it is a bit ironic that I am pretty much a full time programmer these days. On an automation project to be sure, but years of electronics and hardware experience and most important problem solving, are more or less irrelevant.
While there are a lot worse things to be doing that writing C on a fast Linux machine, I watch problems I could solve, persist and sigh. I write the occasional white paper and will be starting up my FreePLC project again, but to only write software seems like sort of a waste, even though it looks like a smooth road to retirement. I am eternally grateful to have a nice clean job that pays the bills, but I feel the best days for automation types are behind us.

Regards
cww


Posted by William Sturm on 1 August, 2012 - 12:02 pm
cww said "I feel the best days for automation types are behind us"

I must respectfully disagree, PLC design/programming has been in strong demand recently and every time I look there seems to be some new PLC hardware entering the market.  With all the talk of on-shoring, I think there will be plenty of demand for Automation Engineers in the foreseeable future.


Posted by VV on 14 July, 2004 - 5:20 pm
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


Posted by Anonymous on 14 July, 2004 - 11:49 pm
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.


Posted by Anonymous on 15 July, 2004 - 12:06 am
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...


Posted by kalpak dabir on 15 July, 2004 - 11:23 am
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.


Posted by Chris on 25 September, 2007 - 9:01 pm
That is just completely untrue. If you know how to write VB or C++ they are both equally reliable. As long as you don't mess something up in your code it is 100% reliable. However, VB has better error handling and it's easier to catch the errors.


Posted by Eugenio Yep on 15 July, 2004 - 11:33 am
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


Posted by Gerry on 15 July, 2004 - 11:35 am
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.


Posted by Davis Gentry on 15 July, 2004 - 2:52 pm
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


Posted by Brian E Boothe on 17 July, 2004 - 12:37 am
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.


Posted by Anonymous on 26 July, 2004 - 6:28 pm
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.


Posted by Brian E Boothe on 17 August, 2004 - 1:20 pm
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 ???


Posted by Anonymous on 16 September, 2005 - 12:54 am
Ah yes, Many people see different techniques of programming, and take sides of one or the other, but there really can be needed use for each of them depending on where you are programming. I just feel sorry for the people who have been learning a language all of their carreer and have to suddenly change to something entirely different, or slightly similar. Just gotta keep up with the current stuffs. :P


Posted by Anonymous on 14 August, 2006 - 11:31 pm
The reality is that .NET is here to stay. Regardless of what language you use. The whole concept of a unique framework make sense. The whole VB vs C or C++ is a total waste of time. The time of integration has come. This is just like the time when mainframe developers hated Windows. Same all same...


Posted by Kawahee on 29 November, 2004 - 11:31 pm
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.


Posted by Brian E Boothe on 1 December, 2004 - 3:51 pm
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++.


Posted by Zac on 7 February, 2005 - 11:09 pm
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!


Posted by Kamal on 13 August, 2005 - 12:42 am
Is it possible to run VC++ in Linux/Unix? and Is it true that VB can't communicate with Hardware?


Posted by Curt Wuollet on 13 August, 2005 - 4:46 pm
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


Posted by Michael Griffin on 13 August, 2005 - 4:50 pm
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".


Posted by Davis Gentry on 13 August, 2005 - 5:29 pm
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


Posted by John Mark Isaac Madison on 16 August, 2005 - 11:45 pm
It seems that the higher level programming languages are easier to use. But you do sacrifice a lot of control that you would otherwise have if you used a lower level language. If you get more control, you sacrifice ease of use.

I am not much of a programmer myself... But I've been working on a huge fractile graphic program on my computer for a few months now. And, I've noticed that it seems that when I write very efficient code... MS Paint still does a faster job at similiar tasks than my code does. And I think it must be because VB sets aside a limited amount of computer resources that you cannot exceed. Its just my suspicion, but I think VB for instance, only gives me X amount of processing power irregardless of the speed of my processor.

But, when I get smart enough... I think I'll learn some C++.


Posted by Rahul Mathew,BCA Ist Year on 10 August, 2006 - 11:43 am
Visual Basic is a RAD Tool
It's very fast as far as compilation,debugging
is concerned.
Uing API'S we can create a whole lot of softwares
like mp3-players which can support language packs
like Spanish..etc and skins better than Winamp.
Debugging in VC++ is very difficult,expecially, when it comes to MFC Application...
in my view VC++ is the biggest crap ever made by
Microsoft


Posted by Gilbert on 7 April, 2010 - 3:23 am
> Visual Basic is very weak compared to VC++, Classes in VB = NO, Pointers = NO, Run on Linux/Unix = NO, Talk to Hardware = NO. <

Not entirely true it is possible to write a device driver in VB.Net I know I've done it and yes you can write classes in VB.Net what do you think the form is called Public Class Form1 VB.Net is object oriented after all


Posted by Curt Wuollet on 1 December, 2004 - 8:30 pm
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


Posted by Kerby on 16 September, 2005 - 1:31 am
It's not which is easier development environment that you should think of, but rather go for the one which has more resources, in which make your apps better; but never compromise speed in coding for quality of your software. When you get into deeper level (hardware programming using dll for instance) you'll see the big difference. But if your aim is to create simple windows application and you need to do it fast, use VB otherwise VC.

If you haven't tried Borland C++ Builder, give it a try-- this Borland's finest really does the job as FAST as VisualBasic and as POWERFUL as MS Visual C++...

Your use of this site is subject to the terms and conditions set forth under Legal Notices and the Privacy Policy. Please read those terms and conditions carefully. Subject to the rights expressly reserved to others under Legal Notices, the content of this site and the compilation thereof is © 1999-2013 Nerds in Control, LLC. All rights reserved.

Users of this site are benefiting from open source technologies, including PHP, MySQL and Apache. Be happy.


Fortune
Jenkinson's Law:
It won't work.
Advertise here
Advertisement
our advertisers
Help keep our servers running...
Patronize our advertisers!
Visit our Post Archive