“完全不涉及软件吗?”
“也有涉及软件的部门,但只是系统软件。并非应用软件。因为自主设计的系统软件才能在真正意义上兼容自家的产品。当时公司考虑到了这一点。因为机器人不像其他计算机,在系统结构上,是不可能兼容的。特别是在目前产品还不成熟阶段,更加无法做到系统兼容产品。”
“那么应用软件呢?是不是兼容性也不高。”
“的确如此!现在新出的一些高级语言编写的程序很难在这台机器上运行,只有那些传统的、古老的汇编语言才能在这种机器上流畅运行。”
“为什么会这样?”
“这主要还是机器的性能和市场的成熟度问题。越是性能和功能强大的机器,越需要简单有效的机器语言来解释,而这些高性能和高功能的实现,又需要庞大的程序指令来指序。这就给人们的工作带来了更大的困难度和复杂度。加上相应人才的空缺,就给这方面的工作留下空白。很多高级语言编程的程序在普通计算机上运行是完全没问题,但到了这种性能强大的机子中,就不行了。因为高级语言的库函数其实存在许多bug,它们无法准确有效的表达这种高性能机器能够执行的指令。如果用高级语言编写这种机器的运行的软件,需要重新建立那一门编程语言的函数库。这又是一项庞大复杂的工作。而且尴尬的是,现在越来越多的人已经不再学习传统、古老的编程语言了,因为它们更晦涩难懂,效率也低。”
“哦……”杨志脸色突然有些凝重,因为就连他都知道,无论是计算机还是未来时代的机器人,那都是需要硬件和软件高度统一的一个系统。如果只有硬件牛逼,软件方面却跟不上发展的需求,那也是一种枉然。
“你们有了解软件领域的工程师吗?目前人类的软件技术水平是一个怎样的状况?”
“编写软件对目前人类掌握的能力来说,不是困难。困难的是找到该款软件需要解决的的问题的算法。”
“算法?”
“没错,算法就是解决问题的具体而明确的步骤。有了算法,软件设计工程师就能设计出软件架构,程序员就能根据算法编写出可以让计算机执行的程序。可以说,计算机是无所不能的,但并不是每一个问题都能找到算法。因为只要一个问题存在算法,而这个算法又能在有限的步骤内完成,那么就能设计出解决这个问题的软件---程序指令集!”
“你的意思是说软件就相当于是解决这个问题的程序指令集,反过来说,一个软件的程序指令集就是解决这个问题的算法?”
“对的,在设计软件时,我们往往把一个软件需要具备的功能,当作实现这个功能需要解决的问题。解决这个问题需要的所有步骤,就是这个问题的算法。根据算法,程序员就能编写出程序指令集,也就是软件。”
“原来如此!”
“因此,计算机的研究、生产,到使用,从头到尾都是一个有层次、有系统的工程。需要多个层次的人相互合作,需要各个系统都能联动配合,才能正常运行和工作。计算机,与其说是一台机器,不如说是一个系统。那么机器人就更不用说了!”
“好的,谢谢你!我明白了!”杨志说。
“各位,我能不能这么理解?”杨志正了正色说道,把所有人的注意力都吸引过来,“我们的机器人要实现某一种功能,要具备某一方面的能力,不仅要硬件方面的支持,还需要得到软件方面的支持?”
“确实如此!”有几个工程师赞同的点点头。
“还需要系统的支持!”有的工程师说道。
“还需要解决方案的支持!”另一个工程师说道。
“系统的支持?”杨志不解的问道。
“因为软件说到底还是需要硬件来运行。那么,把软件过渡到硬件的部分,以及统筹管理、调度软件和软件的存在,就是系统。”那名工程师认真向杨志讲解。
其他工程师认同的点点头。
“那么解决方案的支持又该怎么理解呢?”杨志问。
“解决方案,就是一个主观、客观、可行性的一个统筹概念。它是一个解决问题时,从各方面寻找0到1,从1到100的一个累积过程。如果其中存在断点,就相当于一个事件不可行!如果能够寻找到从0到1,从1到100百的路径,就证明一个事件行得通。这是科学界探索世界的一种思路。”
杨志认为这两个工程师的思维很有维度,符合杨志的口味,而且他们回答问题很真诚,活跃。想把他们留下来。
“你们两个叫什么名字?”杨志问道,“我想给你们升职加薪!”
“杰克·乔布斯”
“比尔·威尔逊”
“你们愿意成为我的贴身顾问工程师吗?”杨志问道。