LabView or Matlab?

It depends on what you are doing. Domain specific languages (which is what Labview and Matlab are) tend to be easy to use if your problem fits within their domain. The same is true for PLC languages (ladder, IL, etc.). If you step outside of that domain however, then things become very difficult or even impossible. That's why for example Labview is written in C or C++, and not in Labview.

The question then becomes whether your problem fits what Labview or Matlab are intended to do. To answer that question, you typically have to know a lot about Labview or Matlab and also be sure you know all the requirements of your application. If you're not sure about those, then you might be better off using a more general purpose language.
 
Actually LabVIEW's debugging capabilities pale in comparison with C# or C++ where you can see whole structures of data on the stack, go up and down the stack, change the program pointer, and alter code while in a breakpoint! LabVIEW takes up too much space on the screen with one window after another wheras a textual language is concise and succinct. But then to be fair LabVIEW was designed for hardware people instead of s/w engineers.

Ronnie
 
Please be aware that even though LabView "compiles," it is still an interpreted language. Applications built using the Application Builder are converted to an intermediate format (which can still retain the front panel and back panel) that must be interpreted by a LabView Run Time Engine to work.

Similarly, Matlab code compiled using the MCC requires the MCR to run. In fact, just about all popular languages these days are interpreted (including Java and C#). Even VB is an interpreted language now (prior to .NET it was compiled).

As I have not done much extensive testing of LabView and Matlab "compiled" code, I can't comment on the differences in memory efficiency or speed.

As a software engineer, I find it much easier to write R&D applications in Matlab. I think Matlab code is much easier to maintain, which means some code you wrote a year ago is easier to re-learn and modify. The ease of commenting helps here. UI features are lacking, and deployment is pretty tough. There are also some strange, undocumented behaviors with some compiled Matlab functions.

LabView, on the other hand, makes code incredibly hard to maintain. Small changes to your application logic can literally take hours of "rewiring" your application. While I find it pretty simple to wire up a quick application for reading instrument data or manipulating instruments, more complex (or long-term) applications are really not suited for this language.
 
Top