Flowers in the Wind

来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/index.php?blogid=17190&pg=5&cat= 存档链接: https://web.archive.org/web/20041213024434id_/http://www.blogbus.com:80/blogbus/blog/index.php?blogid=17190&pg=5&cat=


Flowers in the Wind .: 日历 :. 2004 年 12 月 Sun Mon Tue Wen Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 .: 快速登录 :. .: 最后更新 :. 实习了 我的东软五年 程守宗(sybase) 求伯君 王江民 一个中专生的程序员之路 程序五杰 成长的代价? 天蝎的原罪 邓公的“猫”与温总的“猫” .:

最新评论 :. cathome01 : 嗯,有点道理。. .:

存档 :. .:

我的链接 :. www.google.com vcroad.7u7.net .:

扩展功能 :. :: 首页 Diary (9) Article (10) Project (0) Pickup (6) People (7) 分页: [1] [2] [3] [4] [5] [6] [7] 没挨过打的童年是残缺的

  • [Pickup] 一个1975年出生的哥们儿说:“没挨过打的童年是残缺的。”这话立刻引起我们五彩缤纷的回忆,其中一个很少挨打的,居然面露惭色。对我们来说挨打是正常生活的一部分,与家庭暴力无关,都是父母一时恨铁不成钢的冲动,屁股挨完几鞋底,末了依然其乐融融。所以我们这一代人心理素质特别好,吃得了苦享得了福,能屈能伸,很有韧性。 flowerV 发表于 2004-06-05 16:30 | 阅读全文 | 评论(0) | 引用(trackback0) | 编辑 职场十大精辟语录
  • [Article] 职场十大精辟语录 大学毕业生要找的只是一个工作,而不是职业,更不是事业。 ―――在北京召开的首届中国大学生就业高峰论坛上,专家们均认为,高校毕业生就业时应当放低自身期望值,做好从蓝领、灰领干起的心理准备。 大学学习期间,要尽量争取脑袋满,而不要急于口袋满。 ―――中科院院士王选谈对当前部分学生休学开公司的看法。 不要读博士,因为博士在美国找工作的难度,相当于女博士在中国找老公的难度。也千万不要羡慕有3个博士头衔的人,因为只有找不到工作的时候才会一个接一个地读博士。 ―――一个没有博士头衔的留学生如是说。 千万不要以为美国没有天才,美国的天才只不过是喜欢退学而已。也千万不要以为中国人都是天才,中国的有些天才除了考分高,基本上什么都不会。 ―――一个留学生在看到中国人在拼命上哈佛时说。 他们以为MBA就像是一个美容院,读完MBA,出来就会容光焕发,脱胎换骨。 ―――令专家担忧的是:MBA在中国已被简化为高薪加升职。 中国人太多了,13亿人,你藏在这么多人里头,怎样才能引起别人注意?一个老板要请人,两个应聘者能力差不多,那他一定会选那个长得比较好看的。 ―――一位整容师如此解释为何中国流行整容热。 让我讲创业的故事,就像祥林嫂讲阿毛的故事一样,讲多了也没什么意义。 ―――《福布斯》和《欧洲货币》双料中国内地首富丁磊在母校中国电子科大说的话,以此表示对富豪话题的厌倦。 八分人才,九分使用,十分待遇。 ―――力帆集团董事长尹明善谈民营企业的留人之道。 总是在裁人,简称总裁;老是板着脸,故称老板;经常不理人那叫经理。 ―――商业职位新解。 铁饭碗的真正含义不是在一个地方吃一辈子饭,而是一辈子到哪儿都有饭吃。 ―――一个在网络上流传的帖子。 flowerV 发表于 2004-06-04 15:49 | 阅读全文 | 评论(0) | 引用(trackback0) | 编辑 给所有想从事软件研发的年轻工程师的忠告与建议
  • [Article] 给所有想从事软件研发的年轻工程师的忠告与建议 作者:在别处 2004-3-26 14:15:35 出处:博客中国(Blogchina.com) 一.我为什么写这篇文章: 这几天,在某个IT论坛的软件培训与认证栏目中,看到了很多处于迷惑之中的人们,也看到了许多大家普遍感到困惑的问题,写此文章的目的,是想将我这些年在软件行业从业的一些经验和体会讲给大家听,并对大家普遍关心也普遍困惑的问题进行一些阐述,我将尽我最大的可能告诉大家我所理解的事实真相,同时也衷心希望大家能够理智而清晰的看待自己的方向,前途,发展策略等问题,避开自己发展的误区。 我目前在国内一家大型软件公司里做软件开发总监,由于本文中涉及了我个人对一些公司和机构的评论,有好的方面,也有坏的方面,所以我不方便透露太多关于我个人的一些信息;另外由于本人写的比较仓促,加之工作忙碌,也就没有在文字上以及文章结构与逻辑等方面做一些整理,所以可能有些地方看起来有些乱。我想乱与不乱都是次要的,关键是,我希望我的这篇文章能够让大家将一些事情看透,从而防止自己在软件行业内走入误区,以便能够在软件行业取得更大的发展与进步。 二.该怎样规划自己的技术发展方向以及人生发展的总体思路? 1) 要永远相信“物以稀为贵”,我这些年的经历发现,现实中有很多软件工程师存在严重的“跟风”行为,也就是:只要市场上或者媒体上对某个领域或潮流进行“吵作”就无形中引导着这些工程师的学习方向与学习行为。如果我们纯粹以发展前景与“钱景”作为个人技术发展方向的衡量标准的话,则一个普遍的规律是:跟上最流行的技术并不一定拿到高薪;大家可以看到,同样是用C++编程语言开发软件,在Windows平台下的VC工程师,要比Unix平台下的C++工程师明显薪水低一档,为什么?原因就是一个公司可以在人才市场上很容易找到会VC的工程师,但找到有Unix平台下的C++软件系统开发经验的工程师相对要难找的多; 2) 中国软件市场是典型的内需驱动型的市场,所以中国的软件公司需要不同领域的软件开发工程师,而且不同领域的软件开发工程师在薪水方面有很大的差别,在个人职业方展过程中应“随需应变” 3) 不要局限于技术,一个人在自己事业上的成功或者说狭隘的说是个人财富的积累是一个人的“资源整合能力”的综合结果,而绝对不是一个人的技术能力单方面决定着的;在过去的经历中,我遇到了太多的“头脑聪明,技术高超”年轻工程师,他们在技术领域很聪明,但是缺乏在公司具体的人际关系环境下生存的“基本人际关系网络”管理能力,而变成了一个典型的“愤世嫉俗”的人。技术与个人智商高或者乃至上学时期的学习成绩好绝对不意味着一个人更容易通向财务自由与事业成功之路。年轻阶段有一定的技术积累是非常必要的,但如果彻底沉迷于技术,而不是着眼于个人5到10年以后你个人的事业成功所必须依赖的核心能力,行业背景和人际关系网络等因素,迟早有一天会陷入人生的被动局面里面去。 4) 不要抱怨自己所处的公司环境的复杂性并抵触之,其实无论是到管理水平很高的跨国公司还是管理很混乱的一些民营企业,只要存在人的地方,而起这些人之间只要在工作内容与职责上存在相互以来的关系的话,就不可避免有各中形式的人事斗争,在这种公司环境中,有些人善于分析公司内部环境与权力动态,并知道如何恰当发展自己并保护自己的利益免受伤害,他们锻炼了一种在复杂环境下的“领导能力”,而有一些人却在这种复杂的环境下变得“愤世嫉俗”或“冷眼处之” 5) 个人的职业历程的发展模式是:随着个人在职业生涯的年数的增加,你在职场里有效开展工作,并应得工作业绩和个人收益的核心能力就尽可能少的以来技术本省的东西,而是个人的管理与领导能力还有在行业内的关系网络以及这些因素所必须以来的一个人人际关系能力与人际交往素质 6) 不要按常理“出牌”,大多数人平凡的生活着,就是因为大多数人的思维被模式华,所以他们做事情并没有真正用自己的大脑深入的钻研事实的真相并作出自己的选择与判断 三.你应该如何开始自己的行动,并有一个很好的职业发展开端? 1) 为了得到一份软件开发工作,是自学还是找一个培训机构? 任何一个培训机构都不能一劳永逸得解决你职业发展得所有问题,所以有很多东西,你必须自己学习,但是从公司招聘软件开发工程师的流程与关注点的角度来看,基本上是两个大的因素,一个是个人的特定领域的知识结构和基本的开发技能,比如某个编程语言的使用能力,另一个至关重要也是可能通过某个自学途径不太可能得到的就是“特定软件开发领域工作经验”这个工作经验是必须通过实际的一些开发实践方能获得的,而这个工作经验是你在公司决定给予面试机会,以及公司决定录用当中相当重要的一个环节。 一方面你的简历中是否有你所应聘的公司所从事的软件开发业务相关的“工作经验描述”决定了你是否会得到面世机会(正是由于此点,造成目前绝大多数计算机相关专业的本科生,甚至研究生在就业方面面临着沉重的压力),用人单位最关心的不是你学过什么,而是你亲自做过什么,另一方面在你得到面试机会后,用人单位的面试框架基本上在技术方面就是两个方面:通过让你描述你曾经做过的软件开发项目来判断你到底有多没深入的开发经验以及是否与他们的要求想吻合,另一方面,在让你描述工作经验的过程中,或过程后对你的基本知识结构和基本的技术能力(比如编程技能)进行考核。 我给你的结论就是:不是说你学过某个领域的技术知识,比如编程语言,比如数据库等,就意味着你能找道一个软件开发方面的工作,用人单位永远将“你真正动手做过的项目与公司业务的吻合度”做为第一重要的判断点,你可以通过自学,或者自学能力差的话,跟着某些培训机构去学习某个领域的专业知识,但是真正促使你找到一份薪水不错的工作的主要因素是:你能够通过某种方式做一个相对来说完整而复杂的软件开发项目。而这个项目工作经验只能说你在某个公司实践工作获得,或者从某个软件培训机构获得(前提是这个软件培训机构能够提供这种级别的软件项目工作经验,但我发现真正能作到的软件培训机构在市场中很少,) 目前,市场上有很多软件培训机构都美其名曰,他们有项目开发实践,但想提醒大家的是,同样是项目开发实践,是否能够最终在个人求职方面用的上,主要决定于这个项目本身是否会给你足够的‘工作背景经验’以及这种工作背景经验在人才市场上的“稀缺性”有多大。 在这里引用我一个在国内电信软件公司做项目开发总监的朋友的一句话:“我在招聘自己的开发工程师时,基本上很少关注这个人有没有证书, 我关心的问题基本上很简单的几个事情,一个是他有没有做过与我目前的项目从技术面相吻合的项目经验, 第二个问题是他本身的技术知识面和实际的动手技能如何, 第三个问题是这个人的学习能力和潜在的素质如何 第四个问题是,是否是一个易于合作的人,擅长沟通,技术人员都有那么一些”个人英雄”主义的情结,但一般只要是复杂的系统项目,更需要的是整个开发团队的通力合作” 2) 北大青鸟或者NIIT培养出来的“低门槛进入”所谓的“软件蓝领”能适应中国目前的国情吗? 这两年市场上非常火爆的所谓“软件蓝领”培训,比如北大青鸟,NIIT等,“软件蓝领”曾经是媒体非常热的一个词汇,但中国目前需要这种意义的“软件蓝领”吗? 或者说“软件蓝领”在中国真的能够就业吗?因为蓝领也好,白领也好,于想从事软件开发的人员来说,他们的目的很简单,找到在IT软件公司的工作。 对于这个问题,先谈一下我的基本观点:传统意义的“软件蓝领”在目前中国的情形下是不适应的。 首先,应该说软件蓝领实际上是软件产业发展到一定的历史阶段所必然的结果,所说的软件蓝领是在大规模软件工厂式生产模式下,专业从事软件代码与基本调试的一线人员,软件蓝领是产业发展的需要减低总开发成本并实现规模化,工厂化软件生产的必然要求的职位,在这方面印度的软件工厂模式已经取得了相当大的成功。他们拥有大量一线从事基础软件开发工作的软件蓝领,而且形成了金字塔式的人才结构。 其次,我们谈论任何事情都不能脱离历史发展的现状来谈论,中国的软件生产方式从总体来说离着大规模软件工厂模式还有相当长的一段路程要走,从政府的意愿来说,政府希望中国的软件产业能够以尽快的速度完成产业结构的完善调整,企业的兼并与重组过程,从而能真正形成可以与国际竞争的大型软件企业;但至少在今后的几年内难以实现,软件人才结构的调整也需要再长的一段过程。传统意义的软件蓝领实际上是,这些从业人员无须关心它所开发的整个软件系统是怎样的一个系统结构,他应该做什么早已经被设定好,他只需按照“软件生产规范”实现就行了,一定不能忘记这个的前提是“大规模软件生产模式”,人数可能是1000人,到几千人同时进行软件开发,但我们再看一下中国的情形,中国的软件企业去年统计是4700家,其中55%是50人以下的公司,50-200人之间的占到42%,只有极少数的公司达到了1000人的规模;我们必须对一点非常清晰,如果我们培养了软件蓝领它是需要在中国的软件公司就业的,这将占到绝大多数,而且这绝大多数的人,绝大部分会到人数小于200人的软件公司工作,但实际上站在这个角度说,可能这些软件蓝领有相当大的一部分人员找不到工作,原因很简单,中国的绝大多数软件公司的软件从业人员的工作方式并没有按照软件工厂模式来运做,举例来说,很多公司是项目经理即做系统设计,又从事代码编写,同理,项目经理的开发团队的一线软件工程师也是即做代码,又参与系统的总体或者局部架构的设计,我不能说中国的所有软件企业都在这么进行着软件开发,但至少在中国目前情形下,这样的方式占了绝大多数。所以,我敢肯定一点,印度的软件工厂模式下的“软件蓝领”到中国来的话,他绝对做不了中国许多软件公司里的工作。 所以,大家看到了,北大青鸟的软件工程师培训课程目前非常火爆,但是火爆并不意味着他的课程,以及他培养出来的软件工程师在中国软件人才市场有充分的竞争力的。 再次,媒体炒做“软件蓝领”是一个事情,做为从事IT教育的教育机构如何做教育又是另一回事,政府肯定是希望我们早日走上软件工厂模式下的软件产业结构升级,但作为从业人员的最终就业场所是软件公司,那么这些中国的软件公司他首先要照顾的是自己目前的发展阶段,需要的是比软件蓝领更加有综合的素质,综合的知识结构和技能的从业人员来从事自己的开发,而不是遵从政府的意志,这是一个非常显而易见的事情。 所以,超越特定的产业历史阶段来谈论软件产业里的软件从业人员的教育问题是不切实际的。 我本人对两家“软件蓝领”培训机构的看法: 北大青鸟APTECH: 说到软件培训机构,就必然要谈到北大青鸟,总体来说我对北大青鸟的教师 1) 北大青鸟阿博泰克公司是北大青鸟集团和印度一家培训机构Aptech合资成立的一家软件工程师培训机构,他们的核心商业模式是“特许经营”。 2) 北大青鸟在市场宣传和品牌运作方面做得非常成功,他的总经理杨明原来一直在北大方正从事技术与市场方面的管理工作,对如何在中国市场上从事营销工作有较为深刻的认识,北大青鸟曾经在2001年出现过一些业务不景气的现象,但杨明的加入,通过一系列的整合营销传播活动,将北大青鸟这一品牌进行了非常好的吵作,起到了长远的效果 3) 北大青鸟的核心客户群定位在“高中以上学历均可学习”这样一个群体上,实际上,从我们招聘软件工程师的经验来讲,这样一个群体,基本上不太可能在软件公司内找到从事软件开发的工作。 4) 我发现现实中,很多人学习软件开发有典型的盲目的从众心理,因为他们不知道事实的真相, flowerV 发表于 2004-06-04 15:43 | 阅读全文 | 评论(0) | 引用(trackback0) | 编辑 师
  • [Article] 师 ----李开复 星期天胡约我,于是就在吃饭前到他们单位坐了一下。胡现在很难受,原因在于他部门中几个新来的外地大学生。这几个人天天坐在办公室,不是聊天就是上网,领导已经几次找胡谈话,说要他加强对这些人的管理。胡的回到很有他自己的特点:我这里是幼儿园,只要他们不发烧、不感冒,不磕碰,我的任务就完成了。要教他们认字,对不去,我没有那个功夫。实际上这几个人胡还是给过他们机会的,但是他们不能把握住。而经过几次以后胡自然也就没有心思去搭理他们了。而这几个人又毛病太多,还总是提出一些不合理的要求。一个小女孩说她同学来了,要胡给她派一个车去接。胡的回答还是很有他的特征:你打车去,回来我给你报销。其他类似的事情很多,所以胡准备过了儿童节,就把他们中的两个送走,然后月底在把另外两个送走。 吃饭时候我们说起这个事情,感觉现在的大学生特别是农村来的外地大学生越来越不懂事。这并不是我们在搞歧视,而是经过几年的观察得到的结论。原因似乎也简单,那就是老师出了问题。我们高中的班主任是从外地调回来的,他的目标就是要大家考试好,所以一切都是以考试为核心。最后我的一个同学很好的总结了这个人:老师应该是传道授业的,应该交给我们怎么做人,怎么在社会上生活。可是这样老师,根本就是为了他自己。他不配叫老师,我也不把他当老师。而后来特别是最近几年发生的事情,确实证实了这个老师的自私与势力。外地很多基层的学校就是靠这样的老师支撑的,并且这样的老师还往往是最容易得到那些家长信任的。而很多农村的学生,长期不在家,对于生活中如何把握人与人的关系,如何对待工作,根本就没有概念。而当他们进入大学之后,很多人又不能结交好的朋友,跟上生活的步法。而一些用人单位还天真的以为,农村的、外地的大学生肯吃苦,稳定性好,所以愿意要他们。结果事实和他们认为的刚好相反。 至少胡他们的单位以后是绝对不再会去招外地的大学生了,所有的名额都会留给那些本地学生。胡总结这一点说:那些外地的说走就走,根本就留不住。我当初要换一个部门,父母都会左劝右劝,生怕我出问题。现在你看小雪他们几个多好,有问题从来都自己解决,我对他们放心。那几个外地的,兼职就是爷爷,谁爱贡谁去。 flowerV 发表于 2004-06-04 00:57 | 阅读全文 | 评论(0) | 引用(trackback0) | 编辑 10年编程无师自通
  • [Article] 10年编程无师自通 原文: Teach Yourself Programming in Ten Years 作者: Peter Norvig 翻译: 郭晓刚( foosleeper@163.net ) 最后修订日期: 2004-3-19 本中文译本得到了Peter Norvig的许可。 为什么每个人都急不可耐? 走进任何一家书店,你会看见《Teach Yourself Java in 7 Days》(7天Java无师自通)的旁边是一长排看不到尽头的类似书籍,它们要教会你Visual Basic、Windows、Internet等等,而只需要几天甚至几小时。我在 Amazon.com 上进行了如下 搜索 : pubdate: after 1992 and title: days and (title: learn or title: teach yourself) (出版日期:1992年后 and 书名:天 and (书名:学会 or 书名:无师自通)) 我一共得到了248个搜索结果。前面的78个是计算机书籍(第79个是《 Learn Bengali in 30 days 》,30天学会孟加拉语)。我把关键词“days”换成“hours”,得到了非常相似的结果:这次有253本书,头77本是计算机书籍,第78本是《 Teach Yourself Grammar and Style in 24 Hours 》(24小时学会文法和文体)。头200本书中,有96%是计算机书籍。 结论是,要么是人们非常急于学会计算机,要么就是不知道为什么计算机惊人地简单,比任何东西都容易学会。没有一本书是要在几天里教会人们欣赏贝多芬或者量子物理学,甚至怎样给狗打扮。 让我们来分析一下像《 Learn Pascal in Three Days 》(3天学会Pascal)这样的题目到底是什么意思: 学会: 在3天时间里,你不够时间写一些有意义的程序,并从它们的失败与成功中学习。你不够时间跟一些有经验的程序员一起工作,你不会知道在那样的环境中是什么滋味。简而言之,没有足够的时间让你学到很多东西。所以这些书谈论的只是表面上的精通,而非深入的理解。如Alexander Pope(译注:英国诗人、作家,1688-1744)所言,一知半解是危险的(a little learning is a dangerous thing)。 Pascal: 在3天时间里你可以学会Pascal的语法(如果你已经会一门类似的语言),但你无法学到多少如何运用这些语法。简而言之,如果你是,比如说一个Basic程序员,你可以学会用Pascal语法写出Basic风格的程序,但你学不到Pascal真正的优点(和缺点)。那关键在哪里? Alan Perlis (译注:ACM第一任主席,图灵奖得主,1922-1990)曾经说过:“如果一门语言不能影响你对编程的想法,那它就不值得去学”。另一种观点是,有时候你不得不学一点Pascal(更可能是Visual Basic和JavaScript之类)的皮毛,因为你需要接触现有的工具,用来完成特定的任务。但此时你不是在学习如何编程,你是在学习如何完成任务。 3天: 不幸的是,这是不够的,正如下一节所言。 10年编程无师自通 一些研究者( Hayes 、 Bloom )的研究表明,在许多领域,都需要大约10 年时间才能培养出专业技能,包括国际象棋、作曲、绘画、钢琴、游泳、网球,以及神经心理学和拓扑学的研究。似乎并不存在真正的捷径:即使是莫扎特,他4 岁就显露出音乐天才,在他写出世界级的音乐之前仍然用了超过13年时间。再看另一种音乐类型的代表??披头士,他们似乎是在1964年的Ed Sullivan节目中突然冒头的。但其实他们从1957年就开始表演了,即使他们很早就显示出了巨大的吸引力,他们第一次真正的成功之作《Sgt. Peppers》也要到1967年才发行。Samuel Johnson(译注:英国诗人)认为10 年还是不够的:“任何领域的卓越成就都只能通过一生的努力来获得;稍低一点的代价也换不来。”(Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.) 乔叟(译注:Chaucer,英国诗人,1340-1400)也抱怨说:“生命如此短暂,掌握技艺却要如此长久。”(the lyf so short, the craft so long to lerne.) 下面是我在编程这个行当里获得成功的处方: 对编程感兴趣,因为乐趣而去编程。确定始终都能保持足够的乐趣,以致你能够将10年时间投入其中。 跟其他程序员交谈;阅读其他程序。这比任何书籍或训练课程都更重要。 编程。最好的学习是 从实践中学习 。用更加技术性的语言来讲,“个体在特定领域最高水平的表现不是作为长期的经验的结果而自动获得的,但即使是非常富有经验的个体也可以通过刻意的努力而提高其表现水平。”( p. 366 ),而且“最有效的学习要求为特定个体制定适当难度的任务,有意义的反馈,以及重复及改正错误的机会。”(p. 20-21)《 Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life 》(在实践中认知:心智、数学和日常生活的文化)是关于这个观点的一本有趣的参考书。 如果你愿意,在大学里花上4年时间(或者再花几年读研究生)。这能让你获得一些工作的入门资格,还能让你对此领域有更深入的理解,但如果你不喜欢进学校,(作出一点牺牲)你在工作中也同样能获得类似的经验。在任何情况下,单从书本上学习都是不够的。“计算机科学的教育不会让任何人成为内行的程序员,正如研究画笔和颜料不会让任何人成为内行的画家”,Eric Raymond,《The New Hacker's Dictionary》(新黑客字典)的作者如是说。我曾经雇用过的最优秀的程序员之一仅有高中学历;但他创造出了许多 伟大的 软件 ,甚至有讨论他本人的 新闻组 ,而且股票期权让他达到我无法企及的富有程度(译注:指 Jamie Zawinski ,XEmacs和Netscape Navigator的作者)。 跟别的程序员一起完成项目。在一些项目中成为最好的程序员;在其他一些项目中当最差的一个。当你是最好的程序员时,你要测试自己领导项目的能力,并通过你的洞见鼓舞其他人。当你是最差的时候,你学习高手们在做些什么,以及他们不喜欢做什么(因为他们让你帮他们做那些事)。 接手别的程序员完成项目。用心理解别人编写的程序。看看在没有最初的程序员在场的时候理解和修改程序需要些什么。想一想怎样设计你的程序才能让别人接手维护你的程序时更容易一些。 学会至少半打编程语言。包括一门支持类抽象(class abstraction)的语言(如Java或C++),一门支持函数抽象(functional abstraction)的语言(如Lisp或ML),一门支持句法抽象(syntactic abstraction)的语言(如Lisp),一门支持说明性规约(declarative specification)的语言(如Prolog或C++模版),一门支持协程(coroutine)的语言(如Icon或Scheme),以及一门支持并行处理(parallelism)的语言(如Sisal)。 记住在“计算机科学”这个词组里包含“计算机”这个词。了解你的计算机执行一条指令要多长时间,从内存中取一个word要多长时间(包括缓存命中和未命中的情况),从磁盘上读取连续的数据要多长时间,定位到磁盘上的新位置又要多长时间。( 答案在这里。 ) 尝试参与到一项语言标准化工作中。可以是ANSI C++委员会,也可以是决定自己团队的编码风格到底采用2个空格的缩进还是4个。不论是哪一种,你都可以学到在这门语言中到底人们喜欢些什么,他们有多喜欢,甚至有可能稍微了解为什么他们会有这样的感觉。 拥有尽快从语言标准化工作中抽身的良好判断力。 抱着这些想法,我很怀疑从书上到底能学到多少东西。在我第一个孩子出生前,我读完了所有“怎样……”的书,却仍然感到自己是个茫无头绪的新手。30个月后,我第二个孩子出生的时候,我重新拿起那些书来复习了吗?不。相反,我依靠我自己的经验,结果比专家写的几千页东西更有用更靠得住。 Fred Brooks在他的短文《 No Silver Bullets 》(没有银弹)中确立了如何发现杰出的软件设计者的三步规划: 尽早系统地识别出最好的设计者群体。 指派一个事业上的导师负责有潜质的对象的发展,小心地帮他保持职业生涯的履历。 让成长中的设计师们有机会互相影响,互相激励。 这实际上是假定了有些人本身就具有成为杰出设计师的必要潜质;要做的只是引导他们前进。 Alan Perlis 说得更简洁:“每个人都可以被教授如何雕塑;而对米开朗基罗来说,能教给他的倒是怎样能够不去雕塑。杰出的程序员也一样”。 所以尽管去买那些Java书;你很可能会从中找到些用处。但你的生活,或者你作为程序员的真正的专业技术,并不会因此在24小时、24天甚至24个月内发生真正的变化。 参考文献 Bloom, Benjamin (ed.) Developing Talent in Young People , Ballantine, 1985. Brooks, Fred, No Silver Bullets , IEEE Computer, vol. 20, no. 4, 1987, p. 10-19. Hayes, John R., Complete Problem Solver , Lawrence Erlbaum, 1989. Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life , Cambridge University Press, 1988. 答案 各种操作的计时,2001年夏天在一台典型的1GHz PC上完成: 执行单条指令            1 纳秒 = (1/1,000,000,000) 秒 从L1缓存中取一个word        2 纳秒 从主内存中取一个word        10 纳秒 从连续的磁盘位置中取一个word    200 纳秒 从新的磁盘位置中取一个word(寻址) 8,000,000纳秒 = 8毫秒 flowerV 发表于 2004-06-04 00:51 | 阅读全文 | 评论(0) | 引用(trackback0) | 编辑 分页: [1] [2] [3] [4] [5] [6] [7] 风格设计: someok