主题:从编程语言看中国和美国的差距
从编程语言谈起
有目共睹,中国的软件行业近年来发展迅速,软件人才亦迅速成长,出现了很多优秀的程序员,但是也有为数不少的程序员,有个先天的缺陷,就是理论知识匮乏,在他们,编程经验相当丰富,往往是某一种语言的专家,然而,不能说,只能做。什么时候用循环,什么时候用数组,他很自然的会联想到,但是为什么用循环,可不可以不用,我要是硬是不用呢,还有其他的办法吗?没想过,也没空想。假如是c语言或java,这是c的规矩,就是java的规矩,也就是语法,遵循语法做肯定没错。有什么好想的?
我们就先研究一下理论,看看有没有值得想的,能不能想出东西来。那什么是语言呢,英语,汉语,德语,都是语言,语言就是符号系统,是人们交流交往的需要促成的产品,大家需要交流。语言就是中介,通过语言,人们能互相了解到对方的思想。语言的意义是约定俗成的,是逐渐发展的过程中约好的东西,“火”为什么叫“火”,没有理由,大家约好了,你就不能叫它水。
人与人的交流,可以用语言,即所谓的自然语言,那人与计算机怎么交流呢,它能懂吗,它有思想吗?我们先看一下人与动物能不能交流,举例,比如狗,狗能不能读懂人的语言呢,答案是不能。虽然经过一定的训练,狗能了解一些很简单的人的语言或手势,但是你要想给狗讲一篇莎士比亚的作品,那打死它它也听不懂了。因为人是这个自然界最高级的动物,没有任何一种东西能有人这么复杂的思想。那么计算机就更差了,说到底它就是一堆零件,它不可能比狗还聪明,狗还会跑会跳会叫会恐惧会饥饿。但是事实上,人们现在的好多事情都交给计算机来做,而没交给狗,这仿佛有些不合逻辑了。
其实很合,这里边有一个基本的哲学道理,叫做“物极必反”,马克思叫它“量变引起质变”。越是简单的东西,人们越容易驾御,举个例子,现在好多集成的主板,好多人并不喜欢。为什么不喜欢呢,因为他集成起来,就不易改动了,被锁死了,他行不行你都得忍。狗的脑子就是被集成了,是被传说中一个叫上帝的人集成的,程序写好了,凡人是改不了的。但是这一堆零件却是没有被集成的,是很简单的一个个个体,愈是简单,就愈易操作,可以任意组装,拆卸,有无尽的组合方式,这是计算机的优势。但现实生活中,还是有很多人喜欢狗的,因为这个集成产品远比冰冷的计算机可爱,聪明,忠诚,微软很深刻的认识了这一点,所以他们很喜欢捆绑,windows的操作系统就拼命的把能绑的程序都绑在上面,后来出现的VB,VC++,都体现了这一点,他们的口号是“集成真好!”
我们言归正传,人们选择了计算机做为工具是选对了,甚至可以说是无可替代的。但是人想和冷冰冰的计算机交流并不是一件容易的事。人的思想这么复杂,逻辑这么严密,就凭几个冰冷的零件,想交流几乎是天方夜谈,这是一个不可能实现的神话,但是这个神话目前正在被人们一步步的实现,可以相信不久的未来,神话也会变成现实,毕竟人的出现本身就是一个神话。对此,我们要感谢一位叫做布尔的数学家,他证明了一个道理,就是逻辑可以用数学表示。这有什么用呢,一般情况下,如果一个东西能到达数学这一殿堂,那他离物理就不会太远了,所以好多物理学家本身也是数学家。在这之后,很快又出现了一位伟大的学者,他把二进制引进数学,这种计数方法对数学本身的贡献并不是太大,但是却架起了一座桥梁,它很接近物理,计算机的出现很大功劳在于它。电路的开关,闭合,电压的正负,都近于二,而不是十,于是人们在当时的情况下,选择二而放弃十,以更接近物理,现在看来这个选择是很划算的。计算机的出现,对于人类社会的发展可谓是做了功不可没。
但是我们同时亦为当初的这个选择付出了代价,举个例子,好多人都特别讨厌机器代码,对那一堆0和1实在是记不得 ,仿佛那个活就是数学家或神才会做的,不是凡人应该做的,于是顺乎民意,后来出现了众多的高级语言,甚至传说第五代语言也诞生了,这些语言都有一个共同的特点,就是越来越接近自然语言,而且在逻辑上也越来越接近自然逻辑,所谓自然逻辑就是人的逻辑,仍举狗的例子,一块骨头对狗意味者一顿美餐,对羊来说,只是意味一块骨头而已,同一块石头没什么差异,这是因为在羊的逻辑里,一束青草才是美味。当然,人的逻辑非狗羊所能比及,不过这种接近已经为程序员的工作带来不少方便,现在国人比较常用的几种语言,如C/C++,JAVA/J2EE,.NET等等,已经替换了不少本来人应该做的工作,而且普遍的舆论对此是十分赞扬的,认为这有利于程序员摆脱一些不必要的负担,而专注于更实用的东西。而事实上,使用这些语言在国内企业级应用及桌面应用上也的确贡献不少。好多人吃到了甜头,加上国内软件从业人员数量几何级增长,仿佛祖国形式一片大好,共产主义马上就要实现了。
但是我想提醒国人一句的是,计算机本身的优势就世界范围来说,都未被发掘多深,就不用说中国。仍通过一个简单的比喻来说,狗这个集成的产品,虽然它有很多优点, 很可爱,很忠诚,但是它没有猫儿的温顺,没有鸟儿的清脆声音,没有黄牛的耐劳,所以这么快就把万千宠爱放到一种动物身上,还委实太早。现在大家都喜欢上了这些集成的,封装的,且沉迷其中,是非常危险的。微软已经误导了世界很长时间,几乎垄断式的经营,已经掐死了无数的灵感。人类之所以选择用这一堆零件,就是因为他们可以有无数的组装与拆卸方式,其每一种方式所产生的意义,都是无穷的,在科学尚未对此进行充分阐释之前,IBM和几个软件公司就急急忙忙推出了带有美国特色的硬件和软件。以后基本在这个雏形下固定下来,但是这个雏形利用的计算机的优势不过是九牛之一毛。而且形式愈加恶化,程序对人们而言越来越象一个黑匣子,但是人们还远未到可以安然使用 黑匣子的阶段。即便在二进制的情况下,就目前讲,开发也只是初级阶段,更不用说在十进制下。
由于黑匣子的关系,多数业外人士,甚至包括部分业内人士,对计算机仍就充满了神秘感,认为做一行的人就更不是凡人啦,这真的是上帝开的一个无趣的玩笑。我们中国的软件行业跟外国到底差多少年?答案是差不了几年!只要所有中国的软件人员从现在开始,不再安于现状,安于使用现成的工具,不但喜欢狗,还喜欢猫,喜欢鸟,喜欢牛,谁先把猫,牛作出来,谁就能引领世界潮流!要知道,真正的核心,大家都没做多少,包括美国,亦只是刚刚入门,为我们所望而生畏的Windows系统,Unix系统,不过亦只揭开冰山的一个小角。联合起来!赶英超美,绝对不要留给我们的子孙!
有目共睹,中国的软件行业近年来发展迅速,软件人才亦迅速成长,出现了很多优秀的程序员,但是也有为数不少的程序员,有个先天的缺陷,就是理论知识匮乏,在他们,编程经验相当丰富,往往是某一种语言的专家,然而,不能说,只能做。什么时候用循环,什么时候用数组,他很自然的会联想到,但是为什么用循环,可不可以不用,我要是硬是不用呢,还有其他的办法吗?没想过,也没空想。假如是c语言或java,这是c的规矩,就是java的规矩,也就是语法,遵循语法做肯定没错。有什么好想的?
我们就先研究一下理论,看看有没有值得想的,能不能想出东西来。那什么是语言呢,英语,汉语,德语,都是语言,语言就是符号系统,是人们交流交往的需要促成的产品,大家需要交流。语言就是中介,通过语言,人们能互相了解到对方的思想。语言的意义是约定俗成的,是逐渐发展的过程中约好的东西,“火”为什么叫“火”,没有理由,大家约好了,你就不能叫它水。
人与人的交流,可以用语言,即所谓的自然语言,那人与计算机怎么交流呢,它能懂吗,它有思想吗?我们先看一下人与动物能不能交流,举例,比如狗,狗能不能读懂人的语言呢,答案是不能。虽然经过一定的训练,狗能了解一些很简单的人的语言或手势,但是你要想给狗讲一篇莎士比亚的作品,那打死它它也听不懂了。因为人是这个自然界最高级的动物,没有任何一种东西能有人这么复杂的思想。那么计算机就更差了,说到底它就是一堆零件,它不可能比狗还聪明,狗还会跑会跳会叫会恐惧会饥饿。但是事实上,人们现在的好多事情都交给计算机来做,而没交给狗,这仿佛有些不合逻辑了。
其实很合,这里边有一个基本的哲学道理,叫做“物极必反”,马克思叫它“量变引起质变”。越是简单的东西,人们越容易驾御,举个例子,现在好多集成的主板,好多人并不喜欢。为什么不喜欢呢,因为他集成起来,就不易改动了,被锁死了,他行不行你都得忍。狗的脑子就是被集成了,是被传说中一个叫上帝的人集成的,程序写好了,凡人是改不了的。但是这一堆零件却是没有被集成的,是很简单的一个个个体,愈是简单,就愈易操作,可以任意组装,拆卸,有无尽的组合方式,这是计算机的优势。但现实生活中,还是有很多人喜欢狗的,因为这个集成产品远比冰冷的计算机可爱,聪明,忠诚,微软很深刻的认识了这一点,所以他们很喜欢捆绑,windows的操作系统就拼命的把能绑的程序都绑在上面,后来出现的VB,VC++,都体现了这一点,他们的口号是“集成真好!”
我们言归正传,人们选择了计算机做为工具是选对了,甚至可以说是无可替代的。但是人想和冷冰冰的计算机交流并不是一件容易的事。人的思想这么复杂,逻辑这么严密,就凭几个冰冷的零件,想交流几乎是天方夜谈,这是一个不可能实现的神话,但是这个神话目前正在被人们一步步的实现,可以相信不久的未来,神话也会变成现实,毕竟人的出现本身就是一个神话。对此,我们要感谢一位叫做布尔的数学家,他证明了一个道理,就是逻辑可以用数学表示。这有什么用呢,一般情况下,如果一个东西能到达数学这一殿堂,那他离物理就不会太远了,所以好多物理学家本身也是数学家。在这之后,很快又出现了一位伟大的学者,他把二进制引进数学,这种计数方法对数学本身的贡献并不是太大,但是却架起了一座桥梁,它很接近物理,计算机的出现很大功劳在于它。电路的开关,闭合,电压的正负,都近于二,而不是十,于是人们在当时的情况下,选择二而放弃十,以更接近物理,现在看来这个选择是很划算的。计算机的出现,对于人类社会的发展可谓是做了功不可没。
但是我们同时亦为当初的这个选择付出了代价,举个例子,好多人都特别讨厌机器代码,对那一堆0和1实在是记不得 ,仿佛那个活就是数学家或神才会做的,不是凡人应该做的,于是顺乎民意,后来出现了众多的高级语言,甚至传说第五代语言也诞生了,这些语言都有一个共同的特点,就是越来越接近自然语言,而且在逻辑上也越来越接近自然逻辑,所谓自然逻辑就是人的逻辑,仍举狗的例子,一块骨头对狗意味者一顿美餐,对羊来说,只是意味一块骨头而已,同一块石头没什么差异,这是因为在羊的逻辑里,一束青草才是美味。当然,人的逻辑非狗羊所能比及,不过这种接近已经为程序员的工作带来不少方便,现在国人比较常用的几种语言,如C/C++,JAVA/J2EE,.NET等等,已经替换了不少本来人应该做的工作,而且普遍的舆论对此是十分赞扬的,认为这有利于程序员摆脱一些不必要的负担,而专注于更实用的东西。而事实上,使用这些语言在国内企业级应用及桌面应用上也的确贡献不少。好多人吃到了甜头,加上国内软件从业人员数量几何级增长,仿佛祖国形式一片大好,共产主义马上就要实现了。
但是我想提醒国人一句的是,计算机本身的优势就世界范围来说,都未被发掘多深,就不用说中国。仍通过一个简单的比喻来说,狗这个集成的产品,虽然它有很多优点, 很可爱,很忠诚,但是它没有猫儿的温顺,没有鸟儿的清脆声音,没有黄牛的耐劳,所以这么快就把万千宠爱放到一种动物身上,还委实太早。现在大家都喜欢上了这些集成的,封装的,且沉迷其中,是非常危险的。微软已经误导了世界很长时间,几乎垄断式的经营,已经掐死了无数的灵感。人类之所以选择用这一堆零件,就是因为他们可以有无数的组装与拆卸方式,其每一种方式所产生的意义,都是无穷的,在科学尚未对此进行充分阐释之前,IBM和几个软件公司就急急忙忙推出了带有美国特色的硬件和软件。以后基本在这个雏形下固定下来,但是这个雏形利用的计算机的优势不过是九牛之一毛。而且形式愈加恶化,程序对人们而言越来越象一个黑匣子,但是人们还远未到可以安然使用 黑匣子的阶段。即便在二进制的情况下,就目前讲,开发也只是初级阶段,更不用说在十进制下。
由于黑匣子的关系,多数业外人士,甚至包括部分业内人士,对计算机仍就充满了神秘感,认为做一行的人就更不是凡人啦,这真的是上帝开的一个无趣的玩笑。我们中国的软件行业跟外国到底差多少年?答案是差不了几年!只要所有中国的软件人员从现在开始,不再安于现状,安于使用现成的工具,不但喜欢狗,还喜欢猫,喜欢鸟,喜欢牛,谁先把猫,牛作出来,谁就能引领世界潮流!要知道,真正的核心,大家都没做多少,包括美国,亦只是刚刚入门,为我们所望而生畏的Windows系统,Unix系统,不过亦只揭开冰山的一个小角。联合起来!赶英超美,绝对不要留给我们的子孙!