Programming Paradigms?! For those who don’t know, a paradigm is a way to represent the world and/or anything. This is an oversimplified definition but does the trick.
In the last weeks, I’ve had to do a few programs in Labview, and this little baby uses a graphical paradigm.Labview is part of the 4th generation programming languages as are all the graphical programming languages and other language with such a level of abstraction. Is it good? Is it Bad? It is different. I have learned to program with text based languages and I must say that the transition was not as smooth as I though it would be. I did some matlab Simulink in the past, but I never had to explore the language as much as I did with Labview.I will repeat it, Labview is not bad, it is different, but someone who is like me and learned the good old fashion way how to program, will be frustrated on how the things are done.
What Labview is for (From my observations) : It is for the creating of control programs, or programs that are created with a signal transmitting minding. Small mathematical applications, scopes, and instruments are also easy to create. In the end, programs with a limited number of task will be just fine with Labview.
What Labview is not for : Large Programs! Medium sized programs can be hard to do to, and if you want to have alot of tasks to be handled by it you will probably want to bash you head on your keyboard.
From a programmer’s standpoint, the creation of a program can be a big waste of time. Searching around the controls to find the one you need can be frustrating and not being able to use your keyboard makes it weird to think you are trying to program something. To create an array of 15-20 objects (int, float, whatever) can take forever to do and after that there is so much lines all over your screen that it takes as much time as it took you to make the array to clean it up. (I know the 8.6 has an auto clean up feature, but I used 8.5 so…). Another thing that hit me when I started using it, was the inability to easily do simple operation. Incrementing a counter or modifying a variable are a few examples of those. My last frustration is the size program takes on the screen. Creating a large program can easily makes your block diagram 2-3, even ten times the size of your screen/screens.
However, Labview do have strong points. The biggest one I can think of is to interface with an external device. It is the easiest thing to do, only put the Vi on the screen and add the controls. In a few minutes you can have a remote for almost anything. Another strong point, is the creation of control interfaces. When you create the program, the interface is created at the same time which is a big plus. But from what I have seen, for Labview it stops there.
The way one has to think in order to create a good Labview program doesn’t match the way my brain spins around and as such, I prefer text based programming. However, Labview is a good programming language and has its niche in the control world. There are many things that are easy to do with it, but in the end I find it easier with text based languages.
Give a try to Labview and do not give up too soon as you might find something interesting. It is an excellent platform whatever I said, it just does not fit me.
http://www.ni.com/labview/
Whew long post
Melnior