National Instruments LabWindows/CVI is a C based development environment for event driven windows applications. Using CVI to perform all sorts of scientific analysis is relatively simple because it has a large variety of built-in controls and libraries specially designed for this purpose. CVI also connects well to hardware (through an Instrument Driver Network), making it ideal for creating PC based control panels for machines and other devices.
CVI was very easy to master (almost zero adjustment time for an experienced developer). It features a wide variety of controls (some are interesting and unique, others redundant), but has a very poor development environment. Using built in functions and adjusting the forms/controls via code is very cumbersome. You do have a wizard-like interface (the “Library”) from which you can generate customized lines of code, but I’ve found the whole process to be slow and annoying – this is light years away from the Microsoft Visual Studio .net environment, which is very intuitive and flexible (although, I do appreciate the fact that beginners might prefer this method).
National Instruments LabWindows/CVI: www.ni.com/lwcvi