诞生于1986年的图形编程语言LabVIEW,至今已经整整36个年头了,在编程语言历史长河中已经算是爷爷辈的老牌古董编程语言了!1984年的苹果划时代的图形化电脑Macintosh的发布,引发了LabVIEW的缔造者们的创新想法:“要为测试工程师开发一款图形化的编程语言,免去学习VB或者C文本语言开发痛苦“。
他们成功了,引领了潮流,多年的开发语言残酷厮杀,成为测试测控领域的龙头开发语言,开创了一个崭新的图形化编程的新时代,并一次为契机缔造了NI公司庞大的商业帝国。
时光冉冉,岁月如梭,转眼之间来到到了2007年,又是苹果公司,再次回到电子世界的潮流中心,发布了划时代的产品——IPHONE,开启席卷全球的移动互联网浪潮。
随着移动互联网开发市场的的迅速崛起,以及2010年后的大数据、云计算、人工智能等理论研究和应用场景大爆发,使得多种文本开发语言如日中天!
这其中就有两门重要的文本语言Python和C#,在各自市场取得成功后,开始向LabVIEW的优势阵地领域慢慢的进行侵蚀,LabVIEW能打赢这场生存保卫战吗?
本文是系列文章的第一篇:王者争霸,让我们看看作为图形化编程语言的LabVIEW是如何从一个小众语言成为测试、测控、数采细分领域霸主的王者之路的!
本系列一共预计有三篇文章:分别是王者争霸、功亏一篑、生死之战。将会陆陆续续的为大家精心呈现。
一、王者之路
纵观LabVIEW的版本发布历史,就是一部波澜壮阔的测控与数采这一细分市场的领域语言(Domain Programe Language)战争,LabVIEW从诸多的候选者中浴血奋战,成为最终最后的胜利王者。
1976年,NI公司从生产IEEE-488程控卡创业开始,在为客户提供硬件产品的同时,也提供仪器测控软件系统集成服务。
那时候的测控主流编程语言是Basic语言和C等文本语言语言,在与客户共同解决专业领域问题时,公司的创始人Jim Truchard和Jeff Kodosky博士发现了客户的痛点问题:科学家和工程师们并不喜欢学习及使用繁琐复杂的文本语言来完成他们的测控工作。
于是开始思考是否能有更好的编程方式来完成这类测控仪器类程序的编写开发,后来受电子表格软件和苹果公司的图形化操作界面的启发,在Jeff Kodosky的带领组织下将数据流流程图结合集成电路硬件层级网络思想改进为结构化数据流编程模式,以图形化的编程方式来解决开发工程师们的痛点。
随着1986年,LabVIEW 1.0推出,产品大获成功,自此成为NI公司的旗舰产品,走上了进化更新之路。
1986年1.0版本发布之初,在仪器测控领域和当时的仪器巨头的惠普公司的HP Basic(Rocky Mountain BASIC)文本语言进行PK竞争。
Rocky Mountain BASIC, created at HP,now transferred to Keysight; for HP 9000 and other platforms; often used with HP-IB instruments
LabVIEW图形化和数据流编程思想更加符合硬件测试工程师的认知思维,降低了编程入门门槛,因此,一经推出,即得到诸多工程们的欢迎,并且其2.0版增加了内嵌式隐含编译器, 大大提高了程序运行速度,并开始跨操作系统硬件平台移植开发,收获了更大的市场份额。
LabVIEW 3发售于1993年,增加了属性节点、局部变量,特别是应用程序编程器可以制作独立的可执行文件用于商业发布;
1996年,LabVIEW 4 除了继续更新功能外,开始了首次的功能延伸—DAQ,触角开始从仪器测控领域向数据采集领域进行延伸;
1998年,LabVIEW 5 版本功能核心是增加了撤消(undo)能力和多线程技术,为了支持撤消功能LabVIEW重新编写了新的图形编辑器,并且该编辑器支持跨平台生产目标机器代码,从而使得LabVIEW多平台操作系统移植变得容易;
1999年,NI公司有开始了新的疆土的拓展,将LabVIEW扩展到实时(RT)操作系统;
2000年,LabVIEW 6 强化了3D图形显示效果和对互联网协议的支持,并且这个版本完全是由C++完成开发,以前的版本是有C语言和自行定义的对象扩展开发的。
随后,伴随着时间的增长,新的版本迭代更新的推出,并且不断的攻城略地,扩展的NI公司的营收版图,本身也成长为庞然大物。
在LabVIEW不断迭代更新进化过程中,作为测试仪器行业的龙头大哥——惠普公司也不甘放弃这块战略制高点,于1991推出自己的图形化编程解决方案:HP VEE,由图形对文本升级到图形对图形之战。
尽管有了新的竞争对手,但是LabVIEW还是得到了几乎所有测试与测量制造厂商的广泛支持,拥有着庞大的用户群,另外由于推出廉价的家庭版(Home Edition),降低了使用门槛进一步增加了用户范围。
而对于VEE来说,除了惠普(HP)之外几乎没有什么支持,并且用户基数也小得多。因此,在本世纪初开始取得市场领先地位,2010后开始取得市场垄断地位!从下图可以看出在2009年仪器测控行业的编程语言对比图中,LabVIEW以47%接近一半的数据领先于其他各类文本和图形化编程语言。
由于市场份额小,回报低, VEE的母公司是德科技目前只是对其系统进行维持处理,并没有进行太大的资源投入。可以从这两个语言的近年来的版本发布情况看出端倪,特别是VEE基本上从2013年之后只进行了一次操作系统及办公套件升级维护。
至此,LabVIEW凭借着对测试与测量科学家与工程师们的编程能力与期望的深刻认知,不断地打磨迭代更新满足开发用户的需求,在硬件系统(特别是PXI总线)的助攻加持下,成为测控与数采这一细分市场的领域语言的霸主垄断。并帮助其出品母公司美国NI公司摄取着该细分市场领域的丰厚的利润。
自然,LabVIEW图形化编程语言也就成为NI公司的真正的旗舰产品。
二、新的挑战
当下的LabVIEW面临的主要挑战有:
第一个挑战就是:无需编程完成科学家和工程师们的测试任务,只需简单配置就能完成便捷测试。作为竞争对手的是德科技(KEYSIGHT)也推出了全新图形化配置测试编程环境——BenchVue 软件,其目标并不是挑战LabVIEW的测控语言的霸主地位,而是结合自己的硬件提供便捷的原型测试与验证功能。
第二个挑战就是:高端测试需求的复杂性所需要编程软件提供的多层次模块化和更广泛的互联互通能力,原先的LabVIEW编程软件只能提供子程序(SubVI),动态链接库(DLL)和后来推出的项目库(Project Package Lib),封装模块技术方面也只提供有限功能集的面向对象技术,缺乏成熟工程化、模块化编程语言的功能包版本控制、管理与封装技术,只是依靠第三方厂商JKI提供的VIPM包管理工具来打补丁式的发展,越来越多的测试工程团队采用Python和C#编程语言进行开发.
其中,人工智能和大数据的火热捧红了编程语言届的当红炸子鸡——Python,免费开源并且安全自主可控成为诸多中小厂商的安心之选。
而是德科技则继续在.NET Framework基础库上结合C#开发着各种应用平台,其中最重要就是TAP平台软件,对该软件的介绍,可以参看我的文章专栏——LabVIEW面向对象编程。
Keysight KS8400A 自动化测试平台(TAP)开发人员系统 2017 版本提供了功能强大、灵活并可扩展的测试序列和测试计划生成等功能,可以优化您的测试软件开发和总体性能。Keysight TAP 是基于 Microsoft .NET 的现代化应用软件,能够独立使用,也能够与更高级的测试可执行软件环境配合运行。TAP 不只是另一种编程语言,它充分发挥了 C# 和强大的 Microsoft Visual Studio 的优势。在这个平台上,您可以构建自己的测试解决方案,并且通过利用现有的软件开发工具和基础设施最大限度提高自身团队的工作效率。
第三个挑战就是:互联网(物联网)的迅猛发展,特别是近十年来移动互联网迅速崛起,Web网络化应用成为主流标配,javascript一跃成为编程语言之王,Web Services和数据Web呈现可视化的场景越来越多。
因此,为了应对上述严峻的挑战与竞争,LabVIEW图形化编程语言环境迫切需要全新变革。如果只是在原先的系列版本上继续敲敲打打,修修补补进行微小版本迭代是较为安全可靠的技术发展路径,但是,三十多年的积累,既是竞争优势也是历史包袱,很多技术历史遗留问题难以与现在的编程理念适应。
下一篇:功亏一篑,将会讲述为了应对挑战,NI公司投入巨资开发NXG版本,并沉戈折戟失败的故事。
敬请期待!