9. Why LabVIEWΒΆ

If you have experience programming with text based languages such as Java, Python, C, or C++, then the graphical environment of LabVIEW does take some getting used to. LabVIEW, as for all other programming languages, is not the end-all answer to all of your programming needs. Programming languages are each best suited to certain domains of programming. LabVIEW is best suited for applications involving the control of external hardware to the computer, especially hardware made by the supplier of LabVIEW, National Instruments.

The primary strengths of LabVIEW, compared to other programming languages, is simple to build graphical user interfaces and inherent parallelism, each of which comes in quite useful in the domains of instrumentation, control systems and robotics. Robotics has more of a need for parallelism, but the simple graphics are nice too, especially to display data as part of the development process.

LabVIEW can be viewed as a programming language, but it is also an integrated development environment (IDE). When working with National Instruments controllers, such as the sb-RIO that is on the DaNI robots, the LabVIEW IDE makes the process of building programs and deploying them to run on external hardware a simple matter. LabVIEW also provides tools to easily debug programs and visualize any data.

LabVIEW also has a large collection of available modules and utilities available. So if you need to do matrix operations, work with complex numbers, image and signal processing, or just about anything that can be thought of, LabVIEW has pre-built functions that implement the complex algorithms. Being aware of and finding those functions is sometimes a bigger challenge with LabVIEW than using them.

LabVIEW programmers sometimes have a love / hate relationship with the language. So in hopes of helping the beginning LabVIEW programmer see the light at the end of the tunnel, here are a couple cynical observations about the language along with more serious responses.

  • LabVIEW makes the hard things easy and the easy things hard.

    If you have ever programmed graphics or multi-threaded applications in a code based language, you will appreciate how easy those things are in LabVIEW.

    The easy things, like working with loops and arrays, are not really hard in LabVIEW, they just seem that way until you get used to how LabVIEW does things.

  • As someone learns to program with LabVIEW, their feelings towards LabVIEW usually go through a cycle of being intrigued, annoyed, hating, accepting, appreciating, and eventually liking it.

    As you get used to it, it does not seem as awkward as it does at first. In time, you start to see some of why things are as they are and you start to appreciate some of LabVIEW’s advantages more.

  • Just because it is a graphical environment, does not mean that it is inteded for non-programmers.

    Some have considered graphical programming as a paradigm to allow people that don’t have an understanding of programming concepts to still write a program. There have even been some other graphical programming environments that keep things pretty simple for the non-programmers; but in doing so, they become more of a toy than a programming environment that can be taken seriously. That is not all the case with LabVIEW. LabVIEW does not hold back. LabVIEW is well suited for writing serious programs, but programming competency is needed to be an effective LabVIEW programmer.