Quote:
Originally Posted by Alan Anderson
It's arguably true that LabVIEW is not a particularly effective language for teaching low-level CS concepts, but LabVIEW programmers are certainly able to take advantage of those concepts, and it's a fantastic language for use by domain experts who don't happen to be expert programmers.
|
I'll agree that labview vastly simplifies things for domain experts with little programming experience, but you don't have to do anything particularly complex for the over simplification to bite you. I had a colleague doing basic motor control and datalogging on a labview RT+FPGA system. He appended the data to be logged to an array every control loop. And didn't have a clue why he started missing loops after a few seconds of runtime. Labview was, of course, dynamically resizing the array after an append pushed it outside its reserved memory. That array copy eventually bogged down the control loop, causing missed loops. The mere fact that a beginner doesn't need to think about where all this data is going is a pitifall waiting to trip you up later in your labview programming adventures.
As for hardware compatibility, yes, labview runs on lots of platforms, as long as you're primarily interested in working with NI hardware to interface with the rest of the world. Once you step outside the NI garden, doing things with labview can quickly become complicated.
And that's as far OT as I'll drag this thread. If we want to further discuss the merits and deficiencies of Labview as a general and FRC language, we should start up a new thread.