LabVIEW is a programming system from National Instruments. LabVIEW is mainly used for data acquisition, instrument control and industrial automation.
The programming language of LabVIEW is named "G" and is mainly visual. The language is proprietary of National Instruments and is therefore not managed or specified by any standards. G is a data flow programming language which means that the execution of the program is determined by the structure of the graphical block diagram.
One of the main benefits of LabVIEW is the interfacing with instruments. Drivers and abstraction layers for many different types of instruments and buses exists already and are available with the standard licence.
Code compilation and execution
LabVIEW includes a compiler that produces native code for the CPU platform on which it is running. The graphical code is translated into executable native machine code. The execution of LabVIEW code may be sometimes slower than equivalent C code but the difference may be made up often by optimizing the code.
Many libraries are provided by National Instruments. Those libraries contain functions for data acquisition, signal processing, mathematics, statistics, etc. Manufacturers of instrument and devices such as Agilent Technologies are producing their own LabVIEW libraries to use their equipments within LabVIEW.
Code re-usability and interchangeability
LabVIEW is fully modular. Therefore once created functions or blocks may be reused in other programs at any time. Because of that modularity blocks may be replaced by pin-compatible blocks too.
LabVIEW offers very convenient ways to create multiple tasks in programs. This is a benefit for test system automation where tasks like interfacing equipment, data processing etc. are often executed in parallel.
A huge user community works regularly with LabVIEW and develops and distributes, free or paid, their created LabVIEW content. The community together with National Instruments and the equipment manufacturers creates a huge ecosystem around LabVIEW.
LabVIEW is a proprietary product of National Instruments. This means that there is no third-party committee which defines a proper open standard for the programming language, which is the case for other common programming languages like C.
Distribution of Programs
Programs created with LabVIEW may only be distributed to machines with the runtime library installed. If a machine does not have the runtime library of LabVIEW installed the program can not be executed. Common programming languages, as C or C++, are already supported by all major operating system because they contain a standard runtime library for those languages.
Licensing and Copyright
The National Instruments license agreement requires the inclusion of a copyright notice in developed applications, which passes the copyright of the developed application to National Instruments. This copyright notice has to be present in a possible documentation of such an application too. This fact may be problematic for some clients.
The LabVIEW environment receives regular updates at least some times a year. This fact may create problems with the compatibility of the user created functions and blocks.
LabVIEW in the GridLab
LabVIEW programming basics - Intro into graphical programming
LabVIEW hardware basics - Connect and set up hardware
Learn LabVIEW - Self-paced video learning
Learn RIO - Self-paced video learning
Software Engineering with LabVIEW