4 ms·
Agreed, at my job I'm now actively campaigning against LabView (and Matlab) for application development. These projects turn out productive at first and invaria
by zwieback 9y ago
Agreed, at my job I'm now actively campaigning against LabView (and Matlab) for application development. These projects turn out productive at first and invariably turn into unsupportable messes.
What's the right platform for "embedded systems" is debatable. A true bare-metal app has different requirements from something running on RPi or Beagleboard.
- nikofeyn 9y agosee my other reply. but in general, without proper architecture, any project will become a mess in any language. this isn't special to labview. all of my systems and code in labview are extremely extensible and maintenance. why? i pay attention to design and architecture and use labview's OOP functionality. people regular comment how great it is that i can add full features in mere minutes, including UI behavior, and they are regularly surprised by the end result i have with labview. is that possible in other languages? yes. but labview's dataflow makes it very easy to reason about local changes.
- lvoudour 9y agoI strongly disagree. I've used both LV and matlab for many years and they are tremendously good for specific tasks. Labview is great for data acquisition and GUIs to visualize this data. Drop a ready made UART/TCP/VISA block, some array manipulation in a loop, connect a waveform block with zoom/cursors/etc. and you have a working real-time app in a couple of hours. Matlab is perfect for heavy matrix operations on large datasets, fantastic for plotting your data and it's very good for prototyping algorithms. I tried python as an alternative for both. Tons of boilerplate code, a pain for GUIs and don't get me started on matplotlib/scipy/numpy... The biggest drawback of both LV/matlab is their proprietary nature and the expensive licenses which make them unsuitable for hobbyists (at least there's octave as a matlab alternative). But they're great tools for the appropriate tasks
- snovv_crash 9y agoThe problem with both LV and MATLAB is that once you've done the basics, and now you want to turn it into something that you can maintain and sell. With LabVIEW you can compile and redistribute, but good luck writing an efficient binary search tree when your data gets bigger than what can be searched for with brute force. Also, at least last time I used it, the version control was horrendous. For MATLAB, just forget redistribution in general. Nobody is going to buy a MATLAB licence to run your code.
- thethirdone 9y agoI know very little about the current state of Labview; I used it a bit 6 years ago so this may be a silly idea. Do you know of any Labview -> Python conversion tools? I would think that would be a pretty ideal solution for the right problem domains. You could get a quick first version up, and then when you need more maintainability or flexibility, convert to Python. Obviously, this would require some kind of Labview library in Python, but that seems like it should be relatively easy to make as a wrapper around the Labview included library.
- lvoudour 9y ago>The problem with both LV and MATLAB is that once you've done the basics, and now you want to turn it into something that you can maintain and sell. That's true, but it's not their strong selling point. There's tons of problems to solve at the r&d stage when dealing with custom hardware, a dozen different instruments and algorithm exploration. That's where these tools shine and the reason they're ubiquitous in industrial/military/aerospace environments. For a full product with drivers, libraries and fast, customer friendly UI sure there are better solutions, but there's no law that dictates to use the same tools at the development stage
- stinos 9y agoFor MATLAB, just forget redistribution in general. Nobody is going to buy a MATLAB licence to run your code. That's a bit far fetched. People already having a Matlab license (and it's not like there aren't many of those) already made that cost, so buying your Matlab product is not really different. Alternatively you could compile your code into a C API and distribute that instead: the Matlab runtime itself is free of charge.
- kongolongo 9y agoYou don't need a Matlab license to run compiled Matlab code. Matlab provides free runtime libraries.