Showing results for 
Search instead for 
Did you mean: 

labview vs visual basic vs visual C

I am hoping to get advice about LabVIEW vs Visual Basic/C for developing education software.  I have programmed in LabVIEW for test and measurement applications. 
I have also programmed a couple of short programs in C, but have never programmed in Visual C or Visual basic.  I want to develop software for educational purposes for
students with special needs such as spelling and reading comprehension programs.  These programs would involve a lot of displaying text, graphics and
sounds to the students and measuring student inputs via text or clicks on buttons to determine whether they need additional help from the computer to learn the lessons. 
I was was wondering if anyone has the knowledge to advise using LabVIEW vs Visual C vs Visual Basicfor such programming tasks?
I am guessing that Visual C and Visual Basic may have more flexibility in displaying text, graphics, sounds etc. since this is mostly what they used for.  On the other hand,
I am famliar with the ease of coding in LabVIEW for test/measurement applications but wondering if there might be limitations or difficulties in programming with LabVIEW
for a more general purpose windows application such as the education software I am planning.   I would have to learn Visual C or Visual Basic, but if those environments
would be easier or better in the long run, then I will be better starting off with one of them then getting down the road with labVIEW and changing directions.  Any advice will
be welcomed.  Thanks!
Dave Adams
0 Kudos
Message 1 of 19

Which software are you more familiar with or feel more comfortable programming with?

As far as what can one do better of different than the other, that is debatable..  You can customize the look & feel of Labview in such a way that it would not be recognizable.  So there is no limit from that point of view.  If you are going to be doing the programming, then I suggest you use the language that you are more comfortable with.


Message 2 of 19

You should also consider what is required to deploy the applications.  If you do not have a lot of control over the computers that the programs will be running on, you will probably want something that can be easily run on that computer. 

For example, if users are going to download your programs and install them on their own computers, a Visual C or Visual Basic program will usually easily install and run, especially Visual C++.  Usually, an exe file is all your user needs.  I am currently developing my first LabVIEW project, but in my limited experience, anyone who would need to run my LabVIEW projects will need to run an installer at least once.  The installer will install a slew of LabVIEW DLL's, etc.  I'm not sure, but MAX may also be installed and appear on their desktop.

I write applications in a corporate environment where an I.T. department controls the desktops of most of the PC's.  A user cannot install his or her own software.  However, programs I write in Visual Studio can be run by users simply by browsing to an exe and double clicking, no install required.  This depends on your application, of course.  If you are using other third party objects, such as OCX's, databases, etc, there may be some configuration required.

So, if you will be setting up the computers yourself or if the users of your software will be using computers in a lab that you have control of, then you should use whatever you can support the easiest.

Ease of installation is a major concern for my applications.  I hope this helps.


0 Kudos
Message 3 of 19

Hi Adam,

I suspect I will get a lot of crap from the LabVIEW community here for saying this, but if you have the time to learn VB .NET, I think you will find that it makes things much easier in the long run for applications that involve a lot of user interface design.  In my experience, I have found that there is little that cannot be done in LabVIEW - it is more a matter of elegance.  Software like you are describing is best implemented using an event-driven approach.  VB .NET (as well as the older versions of VB, and C#) make this type of design pattern extremely easy to implement.  With the .NET framework libraries available to you, virtually any type of user interface control that you would need is available to use and the documentation provided on MSDN blows LabVIEW documentation out of the water.

One caveat: if you expect to be running this software on other platforms other than Windows, .NET may not be the right choice.  (There are .NET runtimes available on some other platforms (like Mono for Linux), but you would wind up needing to modify a lot of the user-interface code and a lot of the framework features in general are in beta.)

Also, the express version of Visual Studio is free and there are really no limitations to the express edition that would matter for writing a simple Windows application like you are describing.  Note that a fairly convincing argument can be made for why Visual Studio is THE best IDE on the market right now.

On the other hand, using a tool you are familiar with has its benefits.  Nevertheless, I have never met a software engineer that could not learn VB .NET, who could somehow still write decent LabVIEW code.  LabVIEW is easier to use only for people without a software background - and those are the same people who really shouldn't be writing software (as evidenced by the hundreds of pitiful LabVIEW VIs that I'm exposed to on a daily basis).

Anyway, I hope this helps,


0 Kudos
Message 4 of 19
I agree.  I'm a regular Visual Studio programmer, and I struggle with the User Interface aspect of LabVIEW.  I find that LabVIEW makes difficult things easier, and easy things more difficult. 
I'm currently doing a vision application in LabVIEW.  The camera and image processing stuff was made much, much easier with LabVIEW.  However, the rest of the user interface and basic application development was a bit trickier ... for me.
0 Kudos
Message 5 of 19
As someone who has written code in LabVIEW, VB, C, C++, and C# I can say that this is pretty much a toss-up. I've written a fairly large app for in-house use in C# that makes heavy use of SQL Server and a lot of the interface is through datagrids. There's no way I'd write that application in LabVIEW. On the other hand, I've also written a large (close to 2000 VIs) test executive in LabVIEW for automated testing. There's no way I'd write that application in C#. I could, but it would be pointless.

As previous replies have indicated you need to factor in what you're familiar with, along with the platform that you may be tying yourself to. If you go with LabVIEW you're tying yourself to NI, requiring you to have a LabVIEW license and to install the run-time engine on each target machine. If you go with .NET you can get free versions of the development tools (which is what I use), but this ties you to Microsoft and .NET.

Of course, there's always Java, which would (presumably) be cross-platform, if this is even a concern for you.
Message 6 of 19


I would say if you have good experience in using strings in LV, and u r good in labVIEW programming then use LabVIEW for you aplication.

As simple as that.

0 Kudos
Message 7 of 19

Note that anyone who considers experience "using strings" as being 1 of the only two things that you should consider can be safely ignored.


0 Kudos
Message 8 of 19
Although my heart is into Labview, I would say that VB is probably best suited and easiest to use for applications such as Dave Adams is wanting.  It is more economical, and just a plain better fit all around.
- tbob

Inventor of the WORM Global
Message 9 of 19

RobBoyer wrote:

I suspect I will get a lot of crap from the LabVIEW community here for saying this

I don't think so. This place is quite well behaved and people only rarely flame other people. I think that most people here recognize that LabVIEW isn't the best tool for every job.

That said,

LabVIEW is easier to use only for people without a software background

I think that the word "only" is not correct here. I'm sure you'll find people with background in software (even "proper" software) who find LabVIEW easier. I'm also fairly sure they would only find LabVIEW easier for certain things.
Personally, I don't think the original post had enough details to tell which environment is preferred. I have written games for young children in LabVIEW which could fall under the description Dave gave and it certainly wasn't hard.

Try to take over the world!
Message 10 of 19