Why use LabVIEW?

alex77 picture alex77 · Oct 22, 2008 · Viewed 18.2k times · Source

I am learning to use LabVIEW as part of my honours project, and was wondering what benefits the graphical programming language has over a textual one?

Answer

BryCoBat picture BryCoBat · Dec 2, 2008

To me, the benefit of LabVIEW is not in graphical vs. textual.

It's dataflow vs. imperative.

Dataflow programming lends itself to concurrency, because your execution is modeled as black boxes which execute when their inputs are valid, whose inputs / outputs are wired together. This as opposed to implicit state with a list of instructions on how to modify it. (Loosely paraphrasing 'kipedia, the article linked above is better.)

Each black box can run on a separate core/processor/node, which gives you, effectively, free concurrency if you organize your program the dataflow way.

Unfortunately (and this is a crippling downside to dataflow programming in general) the best way to visualize and edit dataflow programs is graphical, not textual. This makes using tools such as revision control and code generators very difficult.

The question is: Do the pros of dataflow outweigh the cons, for you and your project?