1.6 为了贴近人类,计算机在不断地进化
围绕着计算机的技术正在以狂奔般的速度不断进化,与其说是日新月异,倒不如说是“秒新分异”。虽然也许有人会觉得眼前的已经够用了,希望能停留在现有的技术水平上。但是计算机的进化是不会停止的,因为计算机还远远没有到达完善的地步。
计算机进化的目的只有一个——与人类更加相近。要想贴近人类,就必须从计算机的处理方式中摒弃不符合人们思维习惯的部分。请对照着计算机三大原则之一的“计算机有自己的处理方式”来记忆这个结论。
举例来说,键盘这种不好用的输入设备进化成了好用的鼠标。平面的2D(二维)游戏进化成了立体的3D(三维)游戏。无论是哪一种进化,都是为了使计算机的处理方式更加贴近人类。
这样发展下去的话,也许计算机进化的最终形态就是机器人了,有着与人类一样的外表,可以使用人类的语言。例如在1985年茨城县筑波市举办的筑波世博会上,就展示出了一台用CCD照相机识别乐谱,弹奏钢琴的机器人。也许有人会觉得:“数码音乐什么的用个人计算机不是也能完成吗?”但是这个发明的意义在于机器人能和人类做相同的事了。就在不久前,本田公司开发出的两足步行机器人也成为了热议的话题。也许又有人会觉得:“为什么非要特地用两只脚行走呢,装上轮子能动起来不也一样吗?”但是这个发明的意义还是在于机器人能和人类做相同的事了。有乐谱和钢琴就能演奏,人能走的道路或台阶它也能走,这样的机器人无疑才能更加方便地应用于人类社会。
若与十几年前相比,诸位身边的个人计算机也在逐渐贴近人类。20世纪80年代中期盛行的个人计算机操作系统是MS-DOS,其操作方法是靠在全黑的画面上敲入字符,把命令传给计算机。进入90年代后,MS-DOS进化成了Windows,用户可以在图形界面上通过鼠标的操作直观地下达命令(如图1.3所示)。开发出Windows的美国微软公司,正将目标锁定在用户体验(User Experience)上,旨在开发出超过现有Windows、更加贴近人类的用户界面(计算机的操作方法)。Windows XP和Office XP末尾的XP,代表的就是Experience(体验)。Windows若能这样不断进化下去,早晚会有一天,面向个人计算机的语音输入和手写输入等技术将变得极为普及。
图1.3 为了贴近人类,个人计算机操作系统也在进化
诸位读者当中应该也有对编程感兴趣的人吧。编程方法也在进化,进化的成果是诞生了两种编程方法,面向组件编程(Component Based Programming)和面向对象编程(Object Oriented Programming)。这两者的进化目标一致,都是使程序员可以在编程中继续沿用人类创造事物时的方法。面向组件编程的方法是通过将组件(程序的零件)组装到一起完成程序;面向对象编程的方法是先如实地对现实世界的业务建模,之后再把模型搬到程序中。使用符合人类思维习惯的编程方法,可以实现高效率的开发。
但是,偏偏有这类程序员,他们对面向组件编程敬而远之,明明有各种各样现成的组件可供使用,却什么功能都要自己亲手做,仿佛不这样编程就不舒心。还有的程序员误认为面向对象编程难以理解。像这样的程序员人数还不少,特别是在昔日的计算机发烧友当中。总之就是因为他们太习惯于配合计算机的处理方式了,反倒认为计算机贴近人类这一发展趋势是在添乱。
笔者则认为,无论是刚入行的技术人员,还是有资历的老工程师,都应该由衷地欢迎技术的进化,坦率地接受新技术。如果是用祖传技艺制作出来的传统手工艺品的话,也许还有价值,但是没有人会稀罕靠一成不变的方法编写出的程序。