For the purpose it was originally created for, LabVIEW undeniably shines. It is very easy to create a small data-flow application that interacts with the world just like a physical electronic instrument would — at just a fraction of the costs. The built-in user interface controls reflect this ‘virtual instrument’ (VI) paradigm: on LabVIEW’s palettes, you’ll find buttons, switches, levers and knobs.
But in the decades since its inception, LabVIEW’s scope has expanded, to the point where it is arguably considered a full-grown programming environment. Developers have used it to create a wide range of applications, including web servers, a remake of a popular game involving pigs and cranky poultry, and even controllers for nuclear power plants. Surely, with projects like these, LabVIEW can be considered a mature and useful tool (1).
But with this increasing breadth of applications, LabVIEW’s original VI paradigm has been stretched significantly. Might it be overstretched? In this series, we’ll take a look at a number of areas in which this may be the case — and see how LabVIEW stacks up to other programming languages. In this first article: custom user interfaces.
Continue reading →