Labview的天花板

Labview有其很好的一面,比如:

  • 快速开发
  • 很多内置的库,算法,UDS,图像处理,等等专业的工具包
  • 资源丰富
  • 学习时间短,上手快
  • 不需要太多的编程基础

典型段子:

硬件领域(硬件开发&测试)的工程师们,一般不懂软件。
所以,本来在硬件工程师眼中“写程序这么反人类的事情”。
突然间,硬件工程师们发现,自己用LabVIEW居然可以编写程序了。
“哎,居然特么实现了”
“哎,程序跑起来了”
“哎,我擦,出结果了”这种感觉真是太酷了,奏这样!

接触一段时间后,感觉其缺点也很明显:

  • 慢,特别慢,启动慢,运行慢,计算慢
  • 难以维护,当程序转过几手时候基本上难以维护
  • 实现容易,维护难,尤其是对业务不熟悉的人来说,对软件开发人员来说大部分的时间是阅读,测试,维护代码,而不是写代码
  • 不能写复杂程序,搜索功能基本没有
  • 界面看起来不错,更接近工业化的品味,但是不够现代,太扁平化,缺少立体感
  • 不稳定,会出现莫名的卡死,不知道那个弹出界面会卡死你
  • 不适合团队协作开发
  • 比较工具弱,且耗时,比较一个VI要载入N多VI,不想使用
  • 不适合代码工具管理
  • 库多,但是库掩藏了很多问题,且库的灵活性不够
  • 很难区分哪种库是自己写的,哪种库是Labview自带的
  • 有内置脚本,但是只能用于计算,不能调用其他库或者函数(待证),相比较于CANoe和Matlab的脚本强大,Labview的简直弱到最低点

总结一下:

  • 规模小的项目,做做OK,大项目不合适
  • 人员流动大,不建议采用Labview
  • 比较多的数据采集可以使用Labview
  • 说Labview对于大多数的软件开发人员来说是反设计的不为过
  • 对于已经进Labview坑的软件开发,可以考虑Labview+其他语言开发库或者Teststand+Labview模式
  • Labview提供了太多让人直接使用的东西,使开发人员对被控的对象不求甚解,让人懒惰而不自知,限制了软件开发人员水平的提高
  • 对于想从事软件开发的人来说Labview养家糊口可以,想有追求不要以Labveiw为主要开发工具,对于其他人比如硬件开发,另说