有关“中国技术落后一代”的讨论

来源:互联网 发布:淘宝培训内容 编辑:程序博客网 时间:2024/04/29 16:41

前两天写了篇博文,标题是《中国的技术真的落后一代吗》,当时写这篇文章是因为读了Bowei Gai的《中国创业报告》,受了点刺激,想具体了解我们现在大规模使用的.NET/php是否真的是落后了一代的技术。出乎我意料的是网友们的回复展现了很多方面的视角,包括了客户需求,教育,体制,创新等等,甚至还包括历史,多少有点超出了我的知识范畴。不过既然有大家的热情回复,我还是讲讲我对这些视角的想法,纯粹个人意见,欢迎拍砖。

 

网友李守宏(lsh6688)提到“西方从鸦片战争开始就有计算机理论”,所以说“我们落后不是一代,是落后三代”。历史我不是很熟,于是去网上查了查。第一次鸦片战争始于1840年,当时西方已经有了差分机这种机械式的“计算机”,所以说,西方计算机理论的发展确实可以追溯到鸦片战争之前。

其实,现代计算机理论并没有那么久远,一般认为可以追溯到1936年图灵提出“图灵机”的时候。当然,守宏巧妙地将“鸦片战争”这样深深烙入国人内心的字眼引入到讨论中,确实很容易让我们有所触动。

但是,历史上的落后并不能说明我们今天一定会落后。

当我们把木头变成纸的时候,欧洲人还在到处找羊皮写字,而且还一直找了1000多年才用上纸。但这个历史事实并不会阻止他们经过文艺复兴后迅速扩张,最终把大炮推到我们家门口发动鸦片战争。

而在鸦片战争发生的同一时期,日本的处境和我们差不了多少,落后西方国家也是好几代。但是这些历史事实同样不能阻止明治维新后日本的迅速发展,同样不能阻止多年以后有个叫“松本行弘”的日本人创建了一种叫做“Ruby”的语言,最终让“Ruby”语言流行于西方国家。

历史上的落后应该成为我们追赶的动力,而不应该成为停滞不前的借口。

  

 

进一步提到的是有关教育,或者具体指大学教育,网友“a584688538”觉得我们大学使用的是十几年前的教材,不落后都奇怪。

有关大学教育我没有什么发言权,因为我大学念的是国际贸易专业,没上过计算机专业课。不过我个人觉得情况没有这么绝对,前段时间去大学里做讲座,遇到的学生们也有接触Android课程的,他们用的有新教材,也有那种十几年前的教材。

有些基础理论的课使用十几年前的教材应该问题不大,国外的情况也差不多。Joel在《软件随想录》里提到的好多课程都是十几年没什么变化,甚至Joel认为改变其中一些课程是不对的。

我觉的目前的问题不在于教材的新旧,而是大家都关注短期的收益,不管是新技术还是传统理论都不深入学习,只要能找到好工作,能做项目,技术是否落后似乎并不重要。

实话实说,这种关注短期收益的想法很正常,谁不想有个好工作?我当年毕业找工作的时候,能找到工作就很不错了,如果给个高点的工资,去做打字员我也会去的。只是说,当短期收益得到一定满足的时候,我们是不是可以想一想相对长远一点的东西?

说的有些远,总之对于大学教材,我觉的旧一点问题不大,它不是我们技术落后的根本原因。

只是在大学里的各位导师,各位同学,如果有一些时间,是不是可以更深入一点的研究一下技术

 

 

再有就是客户需求对我们技术发展的影响,客户的需求不仅仅是业务需求,还有具体在执行层面的要求。比如要求使用“ADO.NET 2.0”,就像是网友“小狗狗的窝”(spgoal)提到的那样。

客户提这种要求有他们实际的考虑,可能是软硬件升级的费用,可能是技术人员的招聘成本,等等。对于客户的内部系统,技术是否先进没有现实意义,系统是否稳定,成本是否足够低,甚至界面的颜色是否让领导所接受这些因素才是重要的考量指标。

在这一点上,我认为国外也一样,差别可能只是没那么官僚。只要是内部系统,他们也是主要考量系统稳定性,维护成本之类的指标,不会考量“技术是否先进”这个对公司运作没有太多实际意义的指标。

不过,对于独立的软件系统就是另外一码事了。如果是以软件为主业,必须追求先进的技术,把先进的技术转换成生成力。就像Google, FaceBook,我认为他们的成功不是简单的创意就能促成的,在后台必须有大规模并发运算的新技术在支撑。通过一个简单的创意而成功的故事是为了满足商业报道的需要而加工出来的童话而已。

再反观国内的情况,几个寡头除外,剩下的大部分创业型软件公司都在使用着.NET, php, java这些别人认为是“落后一代”的技术。这也是这种说法出现在《中国创业报告》中的原因,《报告》关注的是创业群体,对于各大企业使用什么技术建构内部系统,《报告》不是很关心。

所以,因为客户需求正在使用.NET , php努力工作着兄弟们,不需要困扰,只要客户有需求,技术是否落后真的没太大关系。不过,为了你有更多的选择,你在有时间的时候可以帮独立软件公司们想一想,.NET, php, java之后的技术会是什么,新的技术有哪些优势,可以如何使用。我想,可能很多人不知道答案,这也是我提出这个问题的原因。

从回复中可以看到,网友“小狗狗的窝”其实也是在思考这样的问题,而且想得更远。“小狗狗的窝”和其他网友提出的是我们不能一味的追赶,我们需要有创新,这样才能摆脱被动的局面,最终让别人落后我们一代。

 

 

这就是有关“创新”的讨论,对于这一点我是一百个赞成的,只是我目前也没有什么创新的思路,有的话我就不坐在这里写文章了。

虽然我目前没有什么创新的想法,不过我倒是知道一些完全不能称之为创新的东西,在这里发发牢骚。我想说的是“本地化不是创新”,你不能随便到外面找个东西,改换一下头脸就说我这是“创新”。我不是说“本地化”不好,通过“本地化”可以让国内的人更容易接受、使用国外的东西。我要强调的是你不能把国外的东西拿过来改吧改吧就当作“创新”项目去骗国家的钱。

不骗钱的情况下,将国外的东西通过“本地化”变成国内的东西总是好的,最不济就是得出的结果没什么实际意义,浪费了一些时间。说到没有实际意义的“本地化”,我很容易想到某些致力于创建一种“中文语言”的人。他们得出的结果类似于:

公用 静态 空 主函数(字符串[]  参数){

}

第一次看的时候吓了一跳,原来将这些奇怪的词放在一起就算创建了一门新语言。

感觉就好像是将

sin2A=2sinA·cosA  

写成

赛音2A = 2 赛音A · 扣赛音A

同时还要宣布自己发现了一个新的三角函数。

 

如果你真能创新,希望创建一种“中文语言”,试试做个编译器去编译以下语句:

{

查找28号从北京到上海的机票,买张最便宜的。

买完打印一份回执,发邮件告诉我秘书。

}

如果你可以做到的话,相信用你的编译器不仅仅可以编译中文,应该还可以编译英文,法文,奇奇怪怪文。。。

我想表达的是,创新很重要,但是不要让狭隘的民族主义蒙蔽了我们的眼睛。

 

 

最后,让我们回到我最初的问题,我们的技术真的落后一代吗?准确而详细的问法是“我们现在使用的.NET , php技术真的是落后一代的技术吗?如果是的话,目前新一代的技术有哪些,和现有技术有什么本质差别?”

这对于我来讲真的是一个问题,因为我对这个问题没有明确答案。这也是我写上一篇博文的目的,我并不是想买什么关子,吸引大家来讨论。

我的一些浅显的,不确定的认识是国外的一些先进企业在使用一些新的语言,通过某种并发计算机制,在完成着一些类似于人工智能的计算。

也就是说他们在使用新的工具,通过新的方法,达到新的目的。

你对这些有了解吗?

如果你对这些有所了解,能否点拨一二?

如果你对这些不了解,难道你不想去寻找答案吗?

  

原创粉丝点击