我正在学习使用LabVIEW作为荣誉项目的一部分,并且想知道图形编程语言对文本编程语言有什么好处?
对我来说,LabVIEW的好处不在于图形与文本.
这是数据流与命令式的关系.
数据流编程适用于并发,因为您的执行被建模为黑盒子,当它们的输入有效时执行,其输入/输出连接在一起.这与隐式状态相反,其中包含有关如何修改它的指令列表.(宽松地解释'kipedia,上面链接的文章更好.)
每个黑盒子都可以在一个单独的核心/处理器/节点上运行,如果您以数据流方式组织程序,这将有效地为您提供免费的并发性.
不幸的是(这通常是数据流编程的一个严重缺点)可视化和编辑数据流程序的最佳方式是图形化,而不是文本化.这使得使用诸如版本控制和代码生成器之类的工具非常困难.
问题是:对于您和您的项目,数据流的优点是否超过缺点?
使用LabVIEW进行图形化编程的一个主要优点是源代码与电路图非常相似,因此它是电气/电子工程师学习的一种非常简单的语言.这就是LabVIEW在数据采集和自动化领域如此受欢迎的原因之一,这些领域的EE很多.
我发现的另一个优点是原始开发速度.您可以从可用的前面板控件选项板中组装GUI,这与您在Visual Studio中的操作方式非常相似.源代码以类似的方式编写,具有许多预定义的组件,您可以从菜单中将其放入并连接在一起.
第三个优点是与硬件的兼容性.NI的主要业务是数据采集硬件,他们竭尽全力确保所有产品都能直接与LabVIEW软件进行通信.数据采集和自动化控制行业的许多其他硬件供应商也在这样做.
之前我用过labview来计算调整nMRI机器的参数.它们的存在是因为从理论上讲,对于编程语言经验很少的人来说,创建程序更容易.控制流程和决策结构可以以图形方式排列,他们可以在他们想要的地方输入他们的公式.
对于教授和实验室助理......很有帮助.对于真正的软件开发人员......用另一种语言编写会更容易.
它完全是关于设备驱动程序和用户功能.NI(Labview)拥有一组支持良好的实验室设备驱动程序.测试操作员(不是开发人员)需要带有绿色/红色通过/失败按钮的gui.我在cygwin中通过python实现了复杂的自动化.Labview开发人员能够调用cygwin/python系统和数据挖掘日志文件.所以你可以做到这两点.python系统是可移植的,可维护的,可扩展的,可用的,最重要的是免费的.
我过去使用过LabView,对于数据采集,虚拟仪器等,没有什么比这更好的了.我最后一次使用它是在10年前,我从未见过的任何东西都与90年代中期的情况相符.