From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Need help with LabVIEW vs C++

Basically, my client wants to switch to C++ environment for all his future developments and I want to convince him to continue with LabVIEW.

For past few years, my client has got all his applications (GUI type or DLL type) developed in LabVIEW (windows based application) but now they want to migrate all the LabVIEW code to C++ code. They think that LabVIEW can work only on windows and cannot work on Linux and that LabVIEW is not reliable when it comes to cross-platforms and integration with other languages and LabVIEW is used only in academia.

 

Therefore, I want to know
1. whether the existing applications that are developed in LabVIEW on windows platform, can those application code be opened in Linux environment and recompiled without much changes to work on Linux based system.
2. Do my client already has NI 2018 professional development software. Do they need to purchase any additional software/license for Linux based application development and distribution?
3. Does anyone have experience developing applicaions in C++. Can you provide info on Cost of development and time to development showing comparison between LabVIEW and C++ ?
4. How LabVIEW is better than C++?

Any more information would be helpful to educate my client to continue with LabVIEW and not switch over to C++.

Any help is much appreciated.

Thanks.

0 Kudos
Message 1 of 4
(1,819 Views)

@Alifiya_Hirani wrote:


1. whether the existing applications that are developed in LabVIEW on windows platform, can those application code be opened in Linux environment and recompiled without much changes to work on Linux based system.

That depends. If the code is purely G-based, the effort is probably negligable. If the code makes heavy use of windows-specific tools like ActiveX, .NET, funky system calls, home-grown path logic and file-parsing dependent on line break style, these things will probably have to be rebuilt from scratch.

 

2. Do my client already has NI 2018 professional development software. Do they need to purchase any additional software/license for Linux based application development and distribution?

That is very likely.

 

3. Does anyone have experience developing applicaions in C++. Can you provide info on Cost of development and time to development showing comparison between LabVIEW and C++ ?

 

4. How LabVIEW is better than C++?

It is not. Neither is the reverse true. Programming is about solving problems and choosing the right tools to achive the solution, not trying to push Your favourite tool on every problem You encounter.

 

If the only tool You have is a hammer, every problem looks like a nail. 

 

If the client wants to build a house, You should not try to convince them to use duct tape holding together the bricks. If the client wants to build a racing car, You should not make it from cast concrete.

 

Any more information would be helpful to educate my client to continue with LabVIEW and not switch over to C++.

Any help is much appreciated.

Thanks.


What does Your client want to do? What are their needs? Do You believe they are not considering requirements they might have in the future? How does this align with the strenghts and weaknesses of LabVIEW and C++?

0 Kudos
Message 2 of 4
(1,802 Views)

In addition to the points raised by @Llindenbauer, another question is "Who is responsible for Developing, Documenting, and Maintaining the Software?".

 

     You refer to "my client", so I suspect that for the LabVIEW code, you are the responsible Party.  I happen to think that well-written LabVIEW code (particularly if designed following good "LabVIEW Style") can be largely self-documenting, particularly if supplemented with White Papers describing the major Concepts, Data Structures, Design Considerations, etc.  LabVIEW's approach to I/O programming is (in most cases) also well thought-out, making it potentially easier to upgrade hardware when you need faster/larger/newer technology.

 

     That is not to say that a good C++ team could not do as well, particularly if they have experience in modern Data Acquisition, Automation, Real-Time, and Computer Integrated Manufacturing (there's a Prize for anyone else who recognizes this phrase, namely a Kudo from me).

 

     In my own case, I can certainly say that if those with whom I am collaborating came to me and said "We've decided to drop LabVIEW in favor or C++" (or Python, or something else), I would look for another group, not that I'm too old or can't learn new things, but I appreciate the elegance of LabVIEW and its many positive features, and plan to stick with it until/unless NI abandons it (Famous Last Words).

 

Bob Schor 

0 Kudos
Message 3 of 4
(1,775 Views)

 

2. Do my client already has NI 2018 professional development software. Do they need to purchase any additional software/license for Linux based application development and distribution?

That is very likely.

 

In NI Connect today, they did announce that LabVIEW licenses are shifting to be multi-platform, so once license could install on both Windows and Linux.  So going forward this shouldn't be an issue... I don't know if it applies to old licenses if you don't having an ongoing SSP though.  I'm sure if you email NI they could tell you both better and more authoritatively than I can.

0 Kudos
Message 4 of 4
(1,728 Views)