第3.4节 LabVIEW图形化编程语言的语法规则
3.4.1 LabVIEW图形化语言到底有没有语法规则?
我们知道LabVIEW是一种图形化的编程语言,那么既然是一种计算机编程语言,它有没有语法规则?它的语法规则又是什么呢?
很奇怪我们没有看到任何关于LabVIEW图形化的编程语言的语法的硬性规定和具体说明,对这个问题我个人的观点是:从实质上讲应该是没有的,因为我们没有看见任何提示和说明。但是,实际上图形化语言的语法规则应该是隐性存在的。
可能是由于图形化自身的特点,丰富的内置函数,这些语法规则都包含在图形或图标当中,基本上是一目了然无须再加更多的说明、解释。
比如:加、减、乘、除的图形化的图示内容,还有必要再做语法上的硬性规定吗!
而对于每个内置函数或子VI,在Context Help windows窗口都可以找到有关:名称、位置、控件或指示器相关信息的描述。这些内容都是具体的说明和补充。
LabVIEW图形化环境中,利用连线的形状、线型、颜色等不同的连线来表示不同的数据类型,也是最简单、清晰的语法表述。
而动态数据、数据类型的强制转换等功能将对语法的要求降至最低。
LabVIEW图形化编程环境下的编译器也可以称为:语法检查器。它是一个快速、内置、隐性的编译器。该编译器不仅性能非常出色,而且是集成在开发环境中。通常我们根本就感觉不到它的存在,只有当程序设计出现错误时,我们才会感到它的确是存在的。并为我们提示出现错误的地方和可能的原因。
LabVIEW图形化编程语言中数据流的工作方式,也潜在的规定了许多编程上应该遵守的原则。
这一点,大家是否注意到,即便是“老外”写的书籍或资料也都是使用的:LabVIEW Style、LabVIEW Rules 等这样的字眼。所以,我们还是把这些习惯用法统称为基本设计规则吧。
实际上,由于图形化的特点(利用人们非常习惯的概念图形)和交互式编译器的作用代替了传统语法概念。使得使用起来更方便、更直观、更快捷。
引用大师的一段话
“图形化编程消除了文本编程中涉及的许多语法细节,例如:在那儿放置分号(;)和花括号({})。其实,即使你不知道在文本语言中如何使用这些符号也不必担心,因为在LabVIEW中你根本不需要知道这些。“
——LabVIEW 大学实用教程(P2)
3.4.2 LabVIEW图形化编程语言更贴近人的思维方式
这是一道很简单的四则运算题,甚至小学一、二年级的同学都可以告诉我们准确的答案是多少。
1、按照规定的四则运算法则计算
5+2x3=11
2、计算器的计算
下面看看不同的计算器的计算结果是多少?
Vista计算结果:21;Google计算器结果:11;Apple iMac计算结果:11;WindowsXP计算结果:21
这就说明:Google、Apple设计的计算器是按四则运算的规律实现的,比较聪明;而二款MS的设计显然是不符合四则运算规则。
3、用LabVIEW图形化程序设计计算
因为LabVIEW图形化设计是依据数据流的,所以就这个特例来讲,必须按四则运算规则来设计编程。
当然,这是计算器设计时的逻辑判断问题,这里借此是想强调数据流的概念。
这也是软件设计中的“心智”,可是如果软件规则本身就是“心智”的,那还会出错吗?
用LabVIEW提供的公式节点计算这个命题,结果也是“11”。
用你手机里的计算器试一试,看看结果是多少?
用科学计算器(带函数计算功能)试一试,看看结果是多少?
用商用计算器试一试,看看结果又是多少?
来自NI网站的一个XControl计算器的计算结果
例图中显示的是来自NI网站上的一个XControl计算器的计算结果,关于XControl的内容,后面我们会讨论到。
显然“智慧型“的计算器都可以计算出正确的结果。其实这里的”智慧“应该是程序设计者的智慧。