回 帖 发 新 帖 刷新版面

主题:中国程序员你的名字绝不该是“浅薄”[转帖]

我认为有些人的观点错了。错得一塌糊涂。
   我的基本观点是:任何实践都是理论的载体或表现形式。而理论也是由实践上升而来的。两者是辨证的。今天,我们只关注它的前一部分:任何实践都是理论的载体和表现形式。

   我不是想故弄玄虚,但真理的外表看上去往往就是这么奇形怪状、难以理解。让我来给你解释一下吧。

   比如:战争是军事理论的实践,也是它的表现形式。战争的胜负取决于指挥者军事理论的掌握程度(别给我举赵括这类“纸上谈兵”的反例,他们根本算不上掌握了军事理论,充其量只算是“背”下了军事理论。“掌握”和“倒背如流”这是两个概念。)

1、VC、VB、Delphi …… ,你该学哪个?

   具体到编程而言,我要告诉你:任何一种计算机语言,都是计算机科学理论的载体或表现形式。C++很神吗?Java很酷吗?它们差距很远吗?是的。但从理论的层面上讲,它们没有区别,都是“面向对象”理论的一个具体形式而已。

   现在的程序员们被发行编译软件(通常我们将其称为“系统软件”)的商家不断推出的产品搞得眼花缭乱,头痛欲裂。不断地跟在新语言后面跑,这条路还没跑到头,那边的“新路”又鸣锣开张了,于是再跟着跑……渐渐地有些人开始感叹:学海无涯、学无止境,或什么“程序员是青春饭,过了三十别想干”……

   在此我不得不叹息:中国的教育真是一种“形而上学”的教育。早在高中时代我们就学过“辨证唯物主义”的基本理论:做事情要抓主要矛盾。这一条恐怕谁都知道,却鲜见谁能在实践中把这一理论运用得“炉火纯青”的。把这一理论运用到编程上来讲就是: 理论是主要矛盾,语言是次要矛盾,学会了理论,再具体到学一种语言时,你只不过是在进行某种消遣而已。

   现在学VC的普遍看不起学VB的或学Delphi的。但如果一个用Delphi的人,在需要写web程序时,用TCP/IP做了一个构架,嵌入到应用程序中;而另一个用VC的人却只会把一个又一个的组件拖来拉去的做些个“例子程序”的翻版。你说他们两个谁历害?Delphi和VC谁历害?

   真应了这样一段话,问:纽约好还是上海好?答:有钱哪儿都好,没钱哪儿都不好。上海的富人并不比纽约的富人少多少的优越感,而纽约的乞丐也不比上海的乞丐多多少幸福感。

   现在你还会说学VC的人就一定比学Delphi的人水平高、“钱景”好吗?

2、“浅薄”绝不该是中国程序员的性格特征!!!

   想问一句:中国程序员这么多,你们真地把基础理论学好了吗?别用你现有的编程经历告诉我:编程不需要数学,不需要数据结构,不需要编译原理…… ……说话得负责任,您知道吗?我之所以发表这篇文章,就是因为再也看不下去这种在中国编程界漫延的歪理邪说了!邪教害死的是人的个体,你们害死的是中国软件业的未来!如果再让这种理论继续毒害编程新手的思想,中国将在计算机领域失去民族的尊严!!!

   请问,操作系统、编译软件、数据库系统…… 这些被称为“系统软件”的东东,中国有几样拿得出手的产品?也许是我孤陋寡闻,据我所知:我们国家一件像样的也没有。

   不错,我们是有一些网站的股票在西方上市了,我们是有一些人被国外公司请去做高级职员了,我们也有一些人把西方的官方网站给黑了……但是,我们用的编译工具是谁的产品?我们微机里装得是谁做出的操作系统?我们的程序跑在谁的芯片上?

   爱之深,恨之切。我爱的是中国,但我痛恨不是中国,而是在中国编程界普遍流行的“浅薄”和“自以为是”,这是我们民族软件业的一颗毒瘤!

   是的,现在编程方面快速入门的书满天飞,让程序员的门槛越来越低。我这个外行就得益于这个“低门槛”,跑了进来。但进来后,我们就不能再这样浅薄下去了--我的兄弟们!

   用他国提供的工具做几个网站,写几个应用程序,弄出几个病毒…… 是振兴不了民族软件业的。顺便说一句:我尊敬求伯君,但我不认为金山公司和其系列产品配得上被称为“民族软件业”的大旗,相对这个称号,它差得太远了。
…… ……

   写flash软件的人会认为用flash做动画的人比他历害吗?Adobe公司真的认为考取Adobe证书的人是“人才”吗?MSCE、MSCD…… 通过这类考试得到微软徽章的人,在微软眼里是“人才”还是“义务推销员”?持这类证书以及其他一些大软件公司认证的人,你们还在以为自己是“中国软件业的精英”而感叹“怀才不遇”、工资太少吗?

   醒醒吧,朋友。别再用编程不需要理论的话来自欺欺人了,别再用自己的浅薄来教导别人像自己一样浅薄了。我想问问那些称数学、数据结构等基础课程对编程没用的人:

   请你们搞清一个概念:是这些理论“没用”,还是你们“没用到”;是你们“没用到”,还是你们的水平根本“用不到”;是你们“不需要用”,还是你们根本“不会用”?

   举个例子,操作系统中的工作调度,若工作优先权相同,用什么方法进行调度?当然是“先到先做”--这就是数据结构中“队列”的应用。你们说“用不到”,只怕是因为到目前为止还没机会接触这类“高端编程”的挑战吧?这样的话,那就算了,挣你的钱去,但别再来这里误人子弟,吹嘘什么优秀的程序员不需要理论。

   是谁说系统软件发展的黄金时代已经过去了?Linux不就是在MS操作系统雄霸多年的情况下一举成名的吗?中国难道就找不到这样一个机会? 不,如果我们的程序员克服了现在的浮燥与急功近利,我们一样可以在“系统软件”这一软件业的“高端”树立自己的品牌!所以请看下面--

3、年轻人应该有宏伟的志向。

   用别人的产品做自己的东西,你永远只是个“高级客户”,成不了真正的开发者。不管你用他国的系统软件开发出多少好的产品,挣了多少钱,只要人家一升级、或一推出新产品,你口袋里的银子连同最后一条小裤叉也会被剥夺得一干二净。你,只不过是一个高级打工仔。

   我希望打算进入编程界的朋友们,特别是现在还很年轻的朋友,能有一个比较高的志向。更希望已经进到这行的朋友们能有以“振兴民族软件业”为己任,力争成为中国软件业的“旗手”。

   我不赞同方东兴把微软骂得一无是处。更不赞同年轻人学他那样,一赌气而拒绝用微软的产品,拒绝Windows、拒绝VC 、拒绝IE ……

   我认为方东兴只是个狭隘的民族主义者。他看到了中国软件业民族的一面,却不愿承认我们落后的一面。毫无根据的“自尊”等于自取灭亡。清朝末年,我们的科技并不落后于西方多少,但我们过分“自尊”的“大国思想”却使我们失去了向其他国家学习的机会。当我们嘲笑西方人的蓝眼睛、大鼻子的时候,他们的坚船利炮,却把我们“央央大国”的皇帝、太后打得满世界逃难。慈禧太后被打得满地找牙的时候,不得不说出“量中华之物力,博与国之欢欣”的龌龊话,此时,她“大国皇太后”的自尊何在呢?前面自尊过了头,事后必遭报应。这报应一持续,就是几百年,直到现在。难道我们还要继续闭门造车,再走老路吗?

   我们现在承认微软比我们强,向微软学习,并不等于我们永远要跟在他后面跑!在我们低下头的时候,我们就应该想到,何时能再抬起这颗高贵的头颅!!!而且是“一定”!!!!!自尊不是错,错是错在“太盲目”--妄自尊大,你就要和慈禧一样被打得满地找牙。做为一个大国,一个明智的民族,我们不能讳疾忌医。

   年轻人,志当存高远。相信我,当你以民族振兴为己任的时候,封王称帝、富贵荣华,都只不过是千秋伟业的一个副产品。在这个尊重知识、崇尚科学的年代,志向高远的人,永远不必担心自己的“钱途”。

   不必讳言,我承认我当初进入编程领域不完全出于兴趣,也有“钱途”方面的考虑。但就好像当年参加八路的战士当中,有些只是报着能吃上军粮或打鬼子报家仇的思想入伍的,但后来却学习了马列,提高了觉悟,转为以兴国救民为目标一样,当我一步步深入到这行以后,当我决定考研并慢慢提高了认识以后,我的目的变了。我觉得应该有个更高的人生目标,更高志向和追求来支持我的行动。这个目标就是:为民族软件业尽一把自己的力。

   真心希望你与我同行。

4、几点建议:

   建议大家耐下心来先学好理论,然后再选择具体的工具或语言。不过,在所有这一切开始以前,先打好C语言和汇编基础。

   能不能得道,就看你在见到别人做出一些花里胡哨的东西时,是不是能坚定信心、耐住寂寞、抵御诱惑了。

   一个和我一起学习C语言的人,学完就直接开始玩VC,而我则潜下心来学了些C++和理论方面的东西。早早地,他就能仿照书上用VC做些界面似的东西在我面前炫耀,可后来,当我基础理论的学习告一段落,做个图书管理程序卖了800大洋时,他还只是停留在做“例子程序”的水平上。现在我们谈论起编程,深度早已不可同日而语了。他起跑领先,却落在了后面。

   我不敢自以为是,只是想用这个亲身经历告诉大家:学编程,决不可心浮气燥。

5、结束语

   我的话触到许多人的痛处,而且由于写时心中气愤难平,有些出言不逊,可能要遭人骂了。不过,既然写了,就不怕骂。因为:以上所言全是忠告,识不识货,就看您的眼光了。

回复列表 (共47个回复)

沙发

同意,我想我要改变一个学习的方向了,我的基础知识掌握得太不好了,一编程序就遇到一些小难题,可这些都是我该掌握的.谢谢!忠言逆耳,但愿我们能做得更好.

板凳

不错的文章...

另:发这里似乎可惜了,来这里的大多是些菜鸟(尽管ME水平也不大高)

3 楼

虽然我也是菜鸟,虽然我是比不上你们
我想这其中是有很多因素存在
我接触计算机比较晚,手头的编程资料也不足。
但我并没有因此而放弃
我希望有这样一天,我能编出自己的程序能让别人用,这样是多快乐的事呀。

我不同意,楼上的看法

4 楼

的确是篇好文章!的确是个做大事的人!
    人有多大能量,才能做多大事情,还得找到一个合适的平台.
    做大事的人要有大志,要耐住寂寞,这是很关键的条件.但不知楼上的同志有没注意到,你的文章里提到了操作系统,提到了编译原理,提到了数据结构,提到了计算方法(或者往大了叫数学),但不知为什么没有软件工程?
    我想我国的软件产业落后,不只是基础理论不深,不只是技术沉淀不足,不只是专业人才缺少,不只是相关政策不到位,还有很重要一点,就是缺少有实力的组织用系统化的方法,从百年大计的高度来规划和组织相关的人才来做我们需要的软件。现在的软件产品已经不是靠小作坊来生产的时代了,那样的产品最终成不了大器,变不成大钱,也实现不了振兴民族软件产业的梦想。一个成功的软件人员不光要有大志,有高超的技能,更要有市场化的眼光,你要看准一样产品能有很大的市场需求,不管是企业要还是政府要,只要你看准了,你就要想办法投入到这项工作中去,不管是你加入一个大的公司,进入一个研究所,还是自己办企业,只要能做你能做的事业。到了这个集体中,不管你是顶尖高手,做系统分析,还是一个低微的程序员,编写代码,你都是在为你的人生目标奋斗。而这时,你需要知道软件工程,一个真正获得大用户群、有大震撼力的软件,它都需要成百上千的人力,花上相当长的工夫来投入,才能做得成。这样一个浩大的工程,你不用工程学的方法,就靠个人单打独干,成功的可能性几乎为零。
    所以,我建议,学软件的人,一定要学好软件工程。如果你是个胸怀大志的人,我建议你还得去学经济学和管理学。
    回到头来,我说过,你有多大能量,就去做多大事情。如果你只是个业余爱好者,或者你没有兴趣去学那么多东西,哪也没关系,你可以只做你干得好的事情。只因为你是编程爱好者,我一样很欣赏你!因为有你,中国的软件业也多了一份力量!水平有高低,能力有大小,但可同享编程带着我们的快乐!

5 楼

“相关政策不到位,还有很重要一点,就是缺少有实力的组织用系统化的方法,从百年大计的高度来规划和组织相关的人才来做我们需要的软件。现在的软件产品已经不是靠小作坊来生产的时代了,那样的产品最终成不了大器,变不成大钱,也实现不了振兴民族软件产业的梦想。一个成功的软件人员不光要有大志,有高超的技能,更要有市场化的眼光,你要看准一样产品能有很大的市场需求,不管是企业要还是政府要,只要你看准了,你就要想办法投入到这项工作中去”

    我非常赞同这个观点。的确,中国在技术上比其他国家差不了多少,以下引用一个事例:瑞士研究人员在本周二发表的一篇文章称,他们发现了一种可以快速破解由字母和数字组成的Windows密码的方法,使破戒密码的平均时间从1分钟41秒降低到了平均13.6秒。
  这种方法是使用大型比对表格来对个人加密的原始密码进行比对,因此需要消耗一定时间。新的方法名为时间记忆交换,可以让拥有较大内存的攻击者大幅缩短破解密码的时间。

  这项研究结果再度引起研究人员的担心,即微软的加密模式存在着某些缺陷。瑞士的洛桑科技学院(EPFL)密码与安全实验室的一名高级研究人员Philippe Oechslin表示,问题在于Windows密码中没有包含任何随机信息。

    事实证明,微软甚至美国的计算机技术并不是世界上最尖端的,毕竟世界上不存在绝对化。但可以肯定的是,微软的成功,很大程度上归功于他们的市场经济头脑。在其他的操作系统崛起之前,程序员就像是戴着微软的镣铐在跳舞,用别人的产品做自己的东西,你永远只是个“高级客户”,成不了真正的开发者。不管你用他国的系统软件开发出多少好的产品,挣了多少钱,只要人家一升级、或一推出新产品,你口袋里的银子连同最后一条小裤叉也会被剥夺得一干二净。你,只不过是一个高级打工仔。在你自己的眼里,你是一个很有成就的程序员,或许很多人也这样认为,但是,在人家平台的制定者眼里,你算什么?只不过是一个义务推销员罢了——用自己的成功为你的竞争对手打广告,而他们根本就无须付出成本。在这种实力悬殊的竞争中,我们会成为最终的胜利者吗?
    当前大部分中国程序员的思想还过于守旧,依然在别人定制的开发环境中游荡(单指思想上,毕竟中国现在还没有自己的开发系统),甚至只是追求利益上的收获。这样长久下来必定会养成对权威的依赖性。下面举个例子:
    世界著名交响乐指挥家小泽征尔在一次欧洲指挥大赛的决赛中,按照评委给他的乐谱指挥演奏时,发现又不和谐的地方。他认为是乐队演奏错了,就停下来重新演奏,但仍不如意。这时,在场的作曲家和评委会的权威人士都郑重地说明乐谱没有问题,而是小泽征尔的错觉。面对着一批音乐大师和权威人士,他思考再三,突然大吼一声:“不,一定是乐谱错了!”话音刚落,评判台上立刻报以热烈的掌声。
    原来,这是评委们精心设计的圈套,以此来检验指挥家们在发现乐谱错误冰遭到权威人士“否定”的情况下,能否坚持自己的正确判断。前两位参赛者虽然也发现了问题,但终因趋同权威而遭淘汰。小泽征尔则不然,因此,他在这次指挥家大赛中摘取了桂冠。
    现实中不也存在着许许多多的圈套吗?无论它们是存在我们的日常生活中还是存在市场的竞争中,无论它们是有形还是无形的,在权威面前一旦养成屈膝哈腰的精神习惯,不但自己只能生活在人家的影子中,而且人家也未必瞧得上你,自己对自己没有信心,甚至自己不尊重自己,任何人也不会对你有信心,也不会尊重你。
    写flash软件的人会认为用flash做动画的人比他历害吗?Adobe公司真的认为考取Adobe证书的人是“人才”吗?MSCE、MSCD…… 通过这类考试得到微软徽章的人,在微软眼里是“人才”还是“义务推销员”?持这类证书以及其他一些大软件公司认证的人,你们还在以为自己是“中国软件业的精英”而感叹“怀才不遇”、工资太少吗?
    我们要做的不仅仅是在别人的标准下有所成就,更重要的是我们需要自己的标准,自己的开发环境。因为,我们不能再做生存在别人阴影下的程序员,你愿意是有大成就而卑微地生存还是没有大成就但高大的生存?
    我想,中国的程序员不仅仅是缺少对编程理论的掌握,在行动的积极性上也有很大的欠缺。我见过有的人一听开发操作系统就说中国不行,见到想要开发操作系统的程序员就说他们自不量力。说实在的,我很看不起这些尽长别人威风的人。
    任何成功都源自于一个小小的信念。因为成功这东西并不是人人都能获得,但一个小小的信念是谁都可以免费取得的。依国内程序员现在的实力或许还不能开发出一个完整的操作系统,但一个振兴民族软件的信念就像种下了一棵树苗,奠定了振兴民族软件的基础。如果没有这个基础,国内程序员妄想开发操作系统又从何谈起?
    我相信,世界上并不存在做不成的事,只不过是人们不愿意去做罢了。
    中国的软件所需要的不仅仅只是技术上的提高,而是民族化的软件特色和振兴民族软件的决心与行动。国内的程序员们,不要总听信外界的舆论,你们应该在振兴民族软件的艰难之路上奋勇直前。
    其实,成功——就在你们自己的脚下。

6 楼

(先声明本人在某个观点绝对支持楼主立场!!)
“民族振兴为己任”(伟大)谈何有容易!你现在要是没有西方的平台你能编出什么来,让程序员用啊有多少人要为这个代价而失业??我们的国家有什么平台?就算有能编出“国产平台”这样的程序员,国家“供养”得起吗?一个程序员空有大志有什么用?始终不如人家---因为还得依赖他国的系统平台维持。

7 楼

我希望打算进入编程界的朋友们,特别是现在还很年轻的朋友,能有一个比较高的志向。更希望已经进到这行的朋友们能有以“振兴民族软件业”为己任,力争成为中国软件业的“旗手”。

   我不赞同方东兴把微软骂得一无是处。更不赞同年轻人学他那样,一赌气而拒绝用微软的产品,拒绝Windows、拒绝VC 、拒绝IE ……

   我认为方东兴只是个狭隘的民族主义者。他看到了中国软件业民族的一面,却不愿承认我们落后的一面。毫无根据的“自尊”等于自取灭亡。清朝末年,我们的科技并不落后于西方多少,但我们过分“自尊”的“大国思想”却使我们失去了向其他国家学习的机会。当我们嘲笑西方人的蓝眼睛、大鼻子的时候,他们的坚船利炮,却把我们“央央大国”的皇帝、太后打得满世界逃难。慈禧太后被打得满地找牙的时候,不得不说出“量中华之物力,博与国之欢欣”的龌龊话,此时,她“大国皇太后”的自尊何在呢?前面自尊过了头,事后必遭报应。这报应一持续,就是几百年,直到现在。难道我们还要继续闭门造车,再走老路吗?

   我们现在承认微软比我们强,向微软学习,并不等于我们永远要跟在他后面跑!在我们低下头的时候,我们就应该想到,何时能再抬起这颗高贵的头颅!!!而且是“一定”!!!!!自尊不是错,错是错在“太盲目”--妄自尊大,你就要和慈禧一样被打得满地找牙。做为一个大国,一个明智的民族,我们不能讳疾忌医。

   年轻人,志当存高远。相信我,当你以民族振兴为己任的时候,封王称帝、富贵荣华,都只不过是千秋伟业的一个副产品。在这个尊重知识、崇尚科学的年代,志向高远的人,永远不必担心自己的“钱途”。

   不必讳言,我承认我当初进入编程领域不完全出于兴趣,也有“钱途”方面的考虑。但就好像当年参加八路的战士当中,有些只是报着能吃上军粮或打鬼子报家仇的思想入伍的,但后来却学习了马列,提高了觉悟,转为以兴国救民为目标一样,当我一步步深入到这行以后,当我决定考研并慢慢提高了认识以后,我的目的变了。我觉得应该有个更高的人生目标,更高志向和追求来支持我的行动。这个目标就是:为民族软件业尽一把自己的力。

8 楼

hao

9 楼

好铁字

现在是热血沸腾啊
马上要找工作,有点迷茫尽管我的计算机水平还算可以(个人认为)

10 楼

发人深醒

我来回复

您尚未登录,请登录后再回复。点此登录或注册