找回密码
 注册
搜索
查看: 2178|回复: 7

[资料] 高质量C++/C 编程指南(不要钱了)

[复制链接]
发表于 2005-12-1 09:44:00 | 显示全部楼层 |阅读模式
林锐,2001年7月

简介:林锐博士的论文,我相信许多人都和我一样读过他写的大学十年,很有趣。
格式:pdf
大小:576K





<P align=right><FONT color=red>+5 RD币</FONT></P>
[此贴子已经被作者于2005-12-9 11:33:47编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2005-12-1 09:46:00 | 显示全部楼层
<P>软件白领的现状  1.1 青年白领阶层小康了吗 </P><P>  改革开放20年之后,中国基本上解决了全民的温饱问题。现在国家提出了“全民奔小康”的奋斗目标。所谓“小康”是指全国人均年收入达到1000美元。你千万不要觉得“全民奔小康”这个目标很容易实现。要知道中国有13亿人口,大约有10亿人在拖小康的后腿啊。所以发达地区至少要有10倍于落后地区的经济能力,才能抵消落后地区的负担。</P><P>  据大致估计,上海、北京等发达城市的软件白领平均年薪为10万元左右。如果进一步细分的话,年薪5万元左右的称为灰领,年薪20万元以上的称为金领。 </P><P>  对于生活在上海、北京、深圳等发达城市的人而言,如果他的年收入只有1000美元的话,那么他就是赤贫阶层了。面对高昂的房价和不低的物价,年薪10万元左右的人也许有胆量谈小康。所以大部分白领人士将和农民一样,不得不为小康而长期奋斗。 </P><P>  1.2 男士白领成家立业的艰辛 </P><P>  尽管软件白领是令社会大众羡慕的阶层,但是男士们成家立业的艰辛程度丝毫不亚于农民和蓝领。这是因为他们所负的压力远远超过了经济收入。</P><P>  “月光王子”的潇洒日子是短暂的。家的三大构成要素是“男主人、女主人、房子”。根据中国的传统习俗,买房子这个重任主要由男士来挑,女士的主要本事将用在有房子之后治理这个家。</P><P>  工作才两三年的小伙子全靠自己的积蓄难以支付“房子的20-30%首付”。在亲人和朋友们的帮助下,好不容易买了房子,接下去每月都要还银行贷款。
当他的工资扣除税收、缴掉各种保险金、还银行住房贷款之后,顿时所剩无几。这时如果再让他肩负家庭的生活费用,他就不再是白领了。我已经多次听到一些小伙子们恨恨地说:自从买了房子后,我就活得像个民工,开始为家庭的温饱而奋斗。 </P><P>  这就是目前普通软件白领的生活写照,如果他不能在事业上有大的跃进,生活的压力将逐渐磨灭他的斗志,后半生就平淡如水。 </P><P>  大多数人并不甘心平庸,所以他不停地奋斗,不停地承受更多的压力,这种“死循环”程序在读大学的时候就已经编写好了。 </P><P>  《读者》曾经刊登了一篇文章叫“中国的男人为什么不浪漫?”,估计是悠闲女人写的。其实不必写那么长的文章,一句话就可以解答:因为他太累了。 </P><P>  2. 软件白领的职业发展</P><P>  2.1 编程这活究竟该干多久?我们是否要一辈子编程? </P><P>  这不是愿意不愿意一辈子编程的问题,而是能不能的问题! </P><P>  编程这活儿可以算是青春饭,合适的年龄是20至30岁之间,比女孩子的青春还要短。20来岁在大学里学编程,虽然刚开始时水平比较臭,但是学习劲头很足,进步比较快;到25岁左右时编程技能、编程效率达到高峰;之后,编程水平基本停滞不前,但是编程效率逐渐下降,到30岁左右已经不是编程主力军了。 </P><P>  程序员不能老是捧着旧饭碗,年龄大到不再适合于编程时,并不是说这个人就无用了,而是应当去做更加有价值的事情。 </P><P>  可恶的励志古训“三十而立” ,其含义是男人到30岁时应当:(1)建立安全的家庭,也就是让老婆孩子过上小康的日子;(2)在事业上有所建树,不再是无名小卒。 </P><P>  由于古时候中国男人的平均寿命不到50岁,而且都是男人当家,所以如果男人活到30岁还不能立起来,基本上就没有指望了。但是现代中国男人基本上能够活到70岁,读书时间花得很长,因此“四十而立”是比较符合现代国情的。 </P><P>  不幸的是,女士们不仅广泛接受了“三十而立”这个观念,而且还把它升华为考核男人成败的标准。因此,男生一离开学校就要为“三十而立”奋斗,时间紧迫,压力太大。 </P><P>  2.2 软件人员三十岁该干什么? </P><P>  如果30岁了,他还天天编程,估计他很难完成“三十而立”这项艰巨任务。如果完成不了,只好向家庭领导申请延期,被家庭领导捏住把柄。</P><P>  更糟糕的是,30岁的程序员比起25岁左右的新生代程序员,毫无竞争优势可言。 </P><P>  由于软件技术更新极快,编程语言和编程工具都会革新换代,新生代程序员在掌握新技术方面具有先天优势。 </P><P>  30岁的程序员面临的家庭事务比较多,压力大,上班时常感困乏,工作老是分心,编程效率自然落后于更年轻的小伙子们。所以对于程序员这个职业而言,绝对无法倚老卖老。 </P><P>  如果年长的程序员不能在软件工程和项目管理方面发挥优势,那么他的前途可能比较黯淡了。 </P><P>  “编程至上” 的观念不利于职业发展。</P><P>  程序员出身的人往往对编程情有独钟,很难接受“软件人员不再编程”的观念。几年前我也是成千上万个狂热程序员中的一员,信奉“编程至上”。我到企业工作几年后,逐渐改变了“编程至上”的观念。英名的领导会根据团队利益最大化这个目标开展工作,而不能把编程当作团队工作的核心。 </P><P>  我放弃编程并不是因为自己老得编不动了,或者偷懒,而是因为我继续编程的话将使自己没有精力去做更加重要的事情,“机会成本”实在太高。 </P><P>  2.3 软件白领的常规职业发展 </P><P>  在外界看来,做个程序员是蛮光彩的。但是我们自己切勿轻易满足,软件行业还有许多比编程更有价值的工作。</P><P>  有个朝鲜官员第一次到中国参观学习,感叹万分…</P><P>  软件白领的常规职业发展大致可分三个阶段:</P><P>  第一阶段,做个职业程序员,主要工作是编程、测试和维护,领导让他干啥就干啥。 </P><P>  第二阶段,成为项目经理或同等级别的技术负责人,从事项目管理、需求分析、系统设计之类的工作,带领一批程序员干活。 </P><P>  第三阶段,成为机构(企业或者事业部)的领导,成天琢磨怎样让机构赚更多的钱,决定产品的发展战略,然后让别人去开发产品。 </P><P>  软件白领处于第一阶段为合格,处于第二阶段为良好,处于第三阶段为优秀。比较合适的年龄分别为25岁左右、30岁左右、35岁左右。第一阶段比较容易实现,第二阶段需要一定程度的努力,第三阶段则靠奋斗了。 </P><P>  3. 理工科大学教育的缺憾</P><P>  中国大概只有几所大学才有那样的气魄:我们培养的是国家栋梁之才,而且的确做到了! </P><P>  国内绝大多数理工科大学的教育目标是:让学生们成为出色的工程师,毕业后找份好工作。说得难听一些,就是培养出色的打工仔。 </P><P>  这种教育方针导致无数有天赋并且勤奋的青年学生逐渐演化成为只懂技术、没有思想、缺乏抱负的平庸之辈。</P><P>  学校正规教育的大部分内容是对人生有益的,但是也夹杂了不少愚昧的教导。遮蔽人生精彩的通常不是困难和挫折,恰恰就是愚昧观念。书呆子呆就呆在全盘接受了“好的和愚昧的”教育,结果让自己成为有知识的无知者。</P><P>  我分析自己以及许多同行人士的成败得失,经多年思考之后,总结了“让普通人成为优秀软件人才”的简要模式。除了自己身体力行外,我还言传身教于所认识的软件人员。虽非真理,但比起学校里面冗长乏味、空话连篇的政治、成才教育等课程更具实用价值。</P><P>  4. 成才要素:学习并应用强势知识</P><P>  4.1 什么是强势知识 </P><P>  在解释什么是强势知识之前,我们先举例说明它的反义词——垃圾知识。</P><P>  《读者》有一篇文章说,国内有个杜甫研究专家在国际上拥有一项独一无二的研究成果,他用了19年时间研究证明杜甫是吃牛肉死的,因此成为权威。</P><P>   人们总以为研究杜甫是为了让人们更好地欣赏高雅的诗词,没想到有人执著到用19年时间研究杜甫是吃什么死的。这个研究成果不是学问,它对人类社会毫无价值,称之为垃圾知识最恰当不过了。</P><P>  世界上的知识无穷无尽,没有人能够学得完。然而人的寿命却是有限的,对于世上的绝大多数人而言,学习知识的目的是为了使自己、家庭、乃至社会变得更加美好。我们听惯了“知识就是力量,知识就是金钱”的格言,殊不知劣质的知识就是垃圾。万一我们花了大半辈子时间学习或制造垃圾知识,那人生岂不可悲! </P><P>  知识的价值可以用创造出来的社会财富(包括物质财富和精神财富)来衡量。所谓强势知识就是“能够最快地为社会创造最多财富的知识”。我们应当在短暂的、富有生命活力的时间里学习和应用强势知识,而不是垃圾知识。 </P><P>  4.2 把事业建筑在强势知识之上 </P><P>  由于人的精力和特长都有局限,所以人们常说“有所为而有所不为”。同理,我们应当“有所学而有所不学”。一般地,人们应当根据自己的兴趣、毅力、悟性(天赋),发掘适合自己的强势知识,并把事业建筑在强势知识之上。 </P><P>  要好好分析自己究竟对什么感兴趣。当然,你感兴趣的东西未必都能学得好,更未必成为你的事业。在读书的时候换专业,工作的时候改行都是很正常的事情,年轻人切勿过多地受正统教育观念的束缚。我并不推崇“干一行爱一行”这样的口号,因为爱和不爱都是发自内心的,无需听从口号。我更不赞同在事业上“择一而终”,因为这可能使生命失去色彩。人是易变的,只要朝着更加适合你的方向改变,就叫“与时俱进”。 </P><P>  林锐的学习经历和工作经历…。回顾十多年的读书和工作生涯,我不断地改变兴趣,常常在付出努力之后再放弃,得失参半。我并不后悔,因为这是一个积极的探索过程,没有放弃就不能轻装前进。尽管目前自己干得不错,几年之后我仍然会放弃,继续探索新的兴趣,掌握更多的强势知识。 </P><P>  4.3 真才实学优于学历 </P><P>  在十几年前学术还比较纯洁的年代,学历代表着学问,高学历者受人敬仰。我在读中小学的时候,对学士、硕士、博士无比地向往。然而世风日下,如今市场上到处可见假冒伪劣产品,与此呼应,中国大学也大量生产假冒伪劣的人才,令人愤慨,令人伤心。 </P><P>  学生毕业之际,谁都想找一份好的工作。对于IT相关专业而言,90%以上的学生要到企业工作,因为只有企业才能接纳千军万马。大量的硕士生和博士生学了一身的屠龙之技,精通了纸上谈兵,可是企业不欣赏屠龙之技,更加讨厌纸上谈兵。 </P><P>  企业对毕业生的一些看法:</P><P>  有2~3年工作经验的名牌大学本科生是干活的主力军,他们正当青春、干劲十足、不摆架子、不耻下问、要求不高、奉献甚多。可见国内名牌大学的本科教育相当好,令人放心。</P><P>  名牌大学的硕士生却是鱼龙混杂,好的很好,差的极差。究其原因是,有半数以上的硕士是改行过来的,专业基础很差,所以这类硕士生不如本科生好用。</P><P>  按照目前国内大学教育的水准,根本没有能力培养如此至多的博士生。毫不客气地说,最近几年生产出来的博士生,极少数是精英人物,小部分是合格人才,绝大多数是不合格的。国内大部分博士真的是很可怜。从硕士读到博士出头,这六七年时间,尽干些自欺欺人的学问,真本事没学多少,倒学会“眼高手低”甚至“弄虚作假”;毕业时学问既不深也不博,被企业拒之门外后,蓦然回首,发觉青春已被虚度,心灵已呈老态,唯有长叹短嘘,强把自负作自信。博士生“阿溃”的遭遇……  </P><P>  对狂热考研、考博的人们一个忠告…… </P><P>  4.4 为事业而学习 </P><P>  如果你生活在竞争激烈的社会里,特别是在IT行业,事业将毫无疑问成为男人的重心。尽管事业成功并不见得就使你幸福,但是事业却是幸福的基础。如果男人在事业上无所建树,那么他十有八九活得很失败。 </P><P>  一般地讲,除了运气之外,你所掌握的强势知识决定了事业状况。不论是在学校里还是在企业里,都要懂得为了事业而学习</P><P>  根据事业的目标,确定对应的强势知识结构,有目的有步骤地学习这些强势知识。(在大学里所学的仅仅是专业基础知识而已,只够让你成为工匠挣口饭吃,不要以为自己是个本科生、硕士生或者博士生就翘尾巴。 ) </P><P>  学好基础知识。把事业比喻为高层建筑,那么基础知识就相当于地基。 ……虽然我们强调基础知识的重要性,但是也不能过度地推崇,基础应该与事业目标匹配起来,要考虑机会成本。</P><P>  读书时扬长补短,工作时扬长避短。 ……“补短” 是指补习你不擅长的知识,因为这些知识对你的事业也非常重要,并不能因为你不擅长就可以甩掉它,如果不补短的话,短处将常常拖你的后腿。 ……人们工作的目的是为了创造效益,要给企业和自己多多赚钱,而不是单纯为了提高自己的知识水平。所以在工作的时候一定要“扬长避短”。 </P><P>  不仅要学习新知识,还要向错误和失败学习,形成学习的良性循环。我们从小学读到大学毕业,一直都在学习新知识,一直信奉“好好学习,天天向上”。然而我们不能把眼光仅仅盯在新知识上,不管是生活还是工作,人们都应该向错误和失败学习,目的是让我们在短暂的健康年华中少犯错误、少失败,多做几件正确的、对社会有贡献的事情。
</P>
点评回复

使用道具 举报

 楼主| 发表于 2005-12-1 09:51:00 | 显示全部楼层

一位读者对该书的评价

早知道林锐博士是通过网络上流传的风风火火、论坛中好评不断的《大学十年》。其中的两句话留给我很深的印象:主动去创造环境,否则你无法设计人生。生活和工作要充满激情,否则你无法体会到淋漓尽致的欢乐和痛苦。这些话令很多的大学生和步入社会的青年人感叹不已,如果能早一点领悟这些经验,可能自己的人生道路就会别有一番滋味了。甚至有人哀叹:“我的大学算是白读了,我的工作简直是在混时间”。由此可知,林锐博士的《大学十年》确实是令人受益匪浅,而我更是对林锐博士佩服之至。
这本《高质量程序设计指南——C++/C语言》一出版,我就情不自禁的买了一本。被深深吸引的我,花费了几天的时间就将此书一气读完了。提到国内的技术书籍,人们更多的感觉会是冰冷和枯燥,很少书会象《高质量程序设计指南——C++/C语言》这样富于表现力。我不清楚林锐博士是不是受到了小说家们的影响,总之我读起这本书来毫无倦意、一翻到底,我想许多读者也会有此同感。也许林锐博士觉得技术书籍也应该有所创新,也应该融入更多的想象力,因此将很多程序设计和软件工程的思想融于笑谈之中,内容风趣、真实生动,既令人读的开心,又能引人深思。我很喜欢林锐博士幽默的文笔和精巧的构思,他将多年亲身的经验以幽默风趣的文字娓娓道来,完全没有一般计算机专业图书的刻板气息,真正做到了寓教于乐,让读者在愉快的氛围中不知不觉学习到编程的精髓。
《高质量程序设计指南——C++/C语言》一书论述的主要是高质量软件开发方法与C++/C编程规范,指出了很多连编程高手也难以避免的思维盲区。该书一共十五章,主要分两部分进行论述:
(1) 第一部分共四章,重点介绍软件的质量属性和面向对象的程序设计方法。
(2) 第二部分共十一章,重点阐述C++/C的编程风格和一些技术专题。
高质量软件开发是国内计算机教育的薄弱环节,很多计算机专业的学生虽然能熟练地掌握编程技术但是却缺乏强烈的质量意识,不懂得在开发过程中内建高质量。因此,在当前的高等教育中,对于计算机专业学生的语言编程能力应该给以更多的规范化教育,这样才能培养出能够编制高质量软件的程序员。而《高质量程序设计指南——C++/C语言》一书的出版恰好给高校的教师和学生们提供了一本很好的参考书,相比枯燥的教科书而言,该书可以说是开创了计算机书籍写作风格的先河,对于高校培养适合企业实际需求的计算机专业毕业生很有意义。
《高质量程序设计指南——C++/C语言》一书既为我们提供了一个程序员应该具备的素质和技能,又讲述如何做人的道理,催人奋进。感谢林锐博士,让广大读者品尝到这样一杯香醇的美酒,希望你继续带给程序员们更多回味无穷的精神食粮。
下面是该书的读者提出的问题
简介:
格式:doc
大小:74K


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
点评回复

使用道具 举报

发表于 2005-12-1 10:51:00 | 显示全部楼层
每看一次都受益非浅啊!
点评回复

使用道具 举报

发表于 2006-1-3 13:25:00 | 显示全部楼层
<P>多谢啦</P>
点评回复

使用道具 举报

发表于 2006-4-10 11:06:00 | 显示全部楼层
楼主真是好人呐,免费的,嘿嘿
点评回复

使用道具 举报

发表于 2006-7-8 11:02:00 | 显示全部楼层
[em08][em08][em08][em08]
点评回复

使用道具 举报

发表于 2006-7-11 14:13:00 | 显示全部楼层
正在学习,非常谢谢。[em01]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 07:13 , Processed in 0.074264 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表