回 帖 发 新 帖 刷新版面

主题:高手心得(转载)!

回字的四种写法(转载)

文/blueelf

从论坛上关于C++的探讨,让我想起的是孔已己:"回字有四种写法".
做为过来人,我想告诉你们,不要以为C++是一切,不要以为学会写高难度
的程序就能成为计算机高手.有意思的是,很多计算机科学家大师根本不
会写程序.

程序是什么?程序只是把人能看懂的数学算法变成计算机能懂的逻辑符号.
本质上和建筑工人差不多.建筑学家一定要亲手砌过墙吗?

我不止一次看见人嘲笑:XXX学校教计算机还是BASIC呢.我就是从BASIC开
始学遍程的,而且使用basic长达5年之久.之后我用二星期转到了汇编,在学
习汇编的二星期里,我使用它写了一个简单的图形届面游戏.写成后我认为我
学会汇编了。二年后我又用三天学习了c语法,继而用一个月的时间写了一个
小型CAD,该程序至今(快10年了)还在我们的国家级科研单位使用。

说我自己的经历并不是想证明我比谁强,只是想以此指出很多后来者在学习上
的误区。不同编程语言不过是具有不同逻辑符号的集合而已。无论你使用循环
还是递归,知道CPU都是在线性工作同样重要。

很多人抱怨C++太难了,我想告诉你们的解决办法就是:不要去理会哪些难点.
奔腾CPU具有几百条汇编指令,其中80%不常使用,40%几乎不出现在我们的常
用软件中.条条大道同罗马,干嘛非一棵树上吊死?

我有个朋友从C++教程学起,而后是《Thinking in C++》,《Inside C++》,
《C++ reference》,总之是看完了这个C++看那个C++,两年了告诉我说,"我
觉得我还没领会C++的精髓",我问它使用C++解决了哪些典型问题,结果他除了
用MFC写过一些界面程序外,没有任何成果.这样的学习有意义吗?

我商业编程的时间已经8年,学习遍程已经15年了,所看过的关于语言的书估计
也超不过6本,通常我每学一种语言看一本书,目前我只会basic,asm,C/C++,
java.但这丝毫不影响我解决很多别人解决不了的问题.

我从没看过上面那些C++的书,但我从来不会觉得我的C++语法知识不够,不会
我就不用.如果你觉得自己苯,那恰恰说明你的程序最容易懂!C++封装继承的
目的不就为了让程序好懂吗?这才是OOP的精髓!如果你按照自己的方法写出了
世界上最好懂的程序,那你就可以根据自己的经验创建D++,E++,还学C++干什
么?

语言仅仅是一个工具,C++又只是这些工具中的一个,我们没有必要在这上面浪
费时间!需要你学习掌握的东西还多着呢!你的英语词汇量够吗?计算机的前沿
在西方,不懂英文你永远是技术上的后进者.操作系统原理你掌握了吗?这是我们
写应用程序的重要前提,也是我们学习软件结构设计的经典案例.你的数学知识
够吗?计算机说倒底是个复杂的数学处理器,没有数学知识我们根本无法解决向
模式识别这类的问题,甚至连数理统计也无法完成,比如你知道如何算合理库存
吗?如果不知道你肯定写不出ERP的核心代码,即使你破掉10000本C++书也是无
可奈何.

继而我希望大家再多多看看软件工程和模式设计方面的书.这些书每看一便你的
层次就提高一点!看不懂也没关系,先看自己懂的,然后就去编程解决问题,之后
再翻回头来看,把自己在实践中得到的经验提升到理论高度,然后再用理论去
指导自己的下一次实践.这将是一个良性循环.

解决问题也有很多东西等待我们去看,去学.比如网络协议,比如无线通讯协议...
这些协议都是学界泰斗们的力作,从中我们可以学到很多协议之外的东西.比如
模式设计.

也许你可以写出一个程序,它能管理1000个线程同步异步协同工作,我们顶多说
你是个优秀的程序员.而第一个提出OS应该以线程作为调度单元的才是科学家,
即使它根本不知道在Windows中线程是如何创建的.

孔已己说"回字有四种写法",我们笑了他一百年.但当你死抠着语法不放的时候,
有没有意识到自己已经成为了新时代的孔已己?或许你希望后人再笑100年?

ps:我想笔者的意思不是说不要学习语言,而是不要死抠着语言的一个细枝末节不放。毕竟做为开发人员不掌握一门语言是不实现的,这个世界不可能大师满世界跑。这是我作为一个C++初学者的感想。

回复列表 (共9个回复)

沙发

好!看了之后有点启发,有点意思。不过我想问:啥是简单易懂?我该看那方面的书(具体一点)?

板凳

我想在你学了一段时间语言之后,应该考虑去应用他,去向程序的原理进发,向理论进发,就象武侠小说中的侠客,刚开始,练习招式,到后来成为侠之大者,就不在练招,那已成为一种心法,一种无招胜有招的境界,所以,语言还是要学,但不要象天龙八部中的那个番僧,成为武痴,走火入魔。
没有人能告诉你看什么书去,书都差不多,没有哪一种是九阴真经!
个人意见!

3 楼

文章虽然好,但好象不太适合初学者吧?你说呢

4 楼

的确,初学者还是要从基本功着手。
本文属转载文章,我希望大家能从中受益,这就够了。我也是初学者,还在练习基本功!

5 楼

handonvan::谢谢你!!谢你发了这个给大家,我代表大家谢你了。

6 楼

不客气!
请大家有好东东也发上来,有好网站也共同分享一下。

7 楼

我回复,是因为你发的东西好.
但我想看看你是不是高手
你不要谦虚,我也是个学习者
无招盛有招的东西很模糊,象理理论
我喜欢编程你有什么好的拿出来讨论讨论.

8 楼

我还在念书,不过总觉的在大学里学的计算机知识没用,看文章后若有所悟

9 楼

刚看到,很不错,与我心有戚戚焉~~文章和你的想法
希望能多交流

我来回复

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