Quote:
Originally Posted by JohnGilb
Just a small correction - I think the best comparison to make (and feel free to correct me) is that LabVIEW is a dataflow language, and C++/Java are imperative languages.
All of them can be used to write in an object-oriented fashion, though doing so in a dataflow language may feel extremely different.
|
While C++/Java is definitely imperative, and Labview definitely ISN'T, it might be more useful (and more in line with the terminology of the rest of the programming world) to categorize them such:
Java: Object-oriented, as Java is probably one of the only strongly object oriented languages, EVERYTHING in Java is an object and that is enforced by the compiler.
C++: Imperative (But most of the wpilib is written with OO)
Labview: Functional (As in, everything is functions acting on data that passes between them. While this misses out on some of what Labview is, the difference between dataflow languages and functional ones mainly has to do with execution order, and it's not really THAT big of a difference, as many similar concepts and styles are shared)
Labview
can't natively be used in an OO style, by the way, as it has no concept of state. You'd have to pass around the state of the object to each method you want to call.