﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Merlin-随笔分类-感悟</title><link>http://www.cppblog.com/yunduan5158/category/269.html</link><description>Life was like a box of chocolates. You never know what you're gonna get.</description><language>zh-cn</language><lastBuildDate>Wed, 21 May 2008 13:24:00 GMT</lastBuildDate><pubDate>Wed, 21 May 2008 13:24:00 GMT</pubDate><ttl>60</ttl><item><title>大家共勉--程序员如何成长</title><link>http://www.cppblog.com/yunduan5158/archive/2006/07/19/10230.html</link><dc:creator>Merlin</dc:creator><author>Merlin</author><pubDate>Wed, 19 Jul 2006 09:02:00 GMT</pubDate><guid>http://www.cppblog.com/yunduan5158/archive/2006/07/19/10230.html</guid><wfw:comment>http://www.cppblog.com/yunduan5158/comments/10230.html</wfw:comment><comments>http://www.cppblog.com/yunduan5158/archive/2006/07/19/10230.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/yunduan5158/comments/commentRss/10230.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/yunduan5158/services/trackbacks/10230.html</trackback:ping><description><![CDATA[
		<font face="Arial" color="#000080" size="2">华裔美国科学家、前微软中国研究院院长（呵呵，应该是前了吧！）李开复是一位在语音识别、人工智能、三维图形和国际互联网多媒体等领域享有很高声誉的年轻人。他的成功经验和治学精神引起了我国许多青年尤其是大学生的广泛关注。在与我国年轻人的交往过程中，李开复归纳出了一些大家共同关心的问题，并结合自己的学习和工作经历，坦诚相见，直抒胸臆，写成了一封给我国学生的长信.相信对大学生和青年朋友在如何对待机遇、如何对待学业、如何对待工作、如何对待他人 、如何对待自己等诸多方面会有一些有益的启示。<br /><br />    我在中国的这两年来，工作中最大的享受是到国内各高校与学生们进行交流。这些访问和交流使得我有机会与成千上万的青年学生就他们所关心的事业、前途等问题进行面对面的沟通。中国学生的聪明、好学和上进给我留下了非常深刻的印象。 　　 <br /><br />　　在与这些青年学生的交流过程中，我发现有一些问题是大家都十分关心的。那些已经获得国外大学奖学金的学生，大都希望我谈一谈应该如何度过自己在美国的学习生涯；那些决定留在国内发展的学生，非常关心如何确定一个正确的方向，并以最快的速度在科研和学业方面取得成功；还有那些刚刚踏进大学校门的学生，则希望我能讲给他们一些学习、做人的经验之谈。最近，更有一些学生关心网络信息产业的发展，希望了解美国的大学生是如何创业和致富的。看到这么多双渴求知识、充满希望的眼睛，我突然产生了一种冲动，那就是给中国的学生们写一封信，将我与同学们在交流过程中产生的一些想法以及我要对中国学生的一些忠告写出来，帮助他们在未来的留学、工作或者创业的过程中能够人格更完美，生活更顺利，事业更成功。 　　 <br /><br /><b>坚守诚信、正直的原则</b><br />　　我在苹果公司工作时，曾有一位刚被我提拔的经理，由于受到下属的批评，非常沮丧地要我再找一个人来接替他。我问他：“你认为你的长处是什么？”他说：“我自信自己是一个非常正直的人。”我告诉他：“当初我提拔你做经理，就是因为你是一个公正无私的人。管理经验和沟通能力是可以在日后工作中学习的，但一颗正直的心是无价的。”我支持他继续干下去，并在管理和沟通技巧方面给予他很多指点和帮助。最终， 他不负众望，成为一个出色的管理人才。 　　 <br /><br />　　与之相反，我曾面试过一位求职者。他在技术、管理方面都相当出色。但是，在谈话之余，他表示，如果我录取他，他可以把在原来公司工作时的一项发明带过来。随后他似乎觉察到这样说有些不妥，特做声明：那些工作是他在下班之后做的，他的老板并不知道。这一番谈话之后 ，对于我而言，不论他的能力和工作水平怎样，我都肯定不会录用他。原因是他缺乏最基本的处世准则和最起码的职业道德：“诚实”和“讲信用”。如果雇用这样的人，谁能保证他不会在这里工作一段时间后，把在这里的成果也当作所谓“业余之作”而变成向其他公司讨好的“贡品”呢？这说明，一个人品不完善的人是不可能成为一个真正有所作为的人的。 <br />　　在美国，中国学生的勤奋和优秀是出了名的。曾经一度是美国各名校最欢迎的留学生群体，而最近，却有一些变化。原因很简单，某些中国学生拿着读博士的奖学金到了美国，可一旦找到工作机会，他们就会马上申请离开学校，将自己曾经承诺要完成的学位和研究抛在一边。这种言行不一的做法已经使得美国一部分教授对中国学生的诚信产生了怀疑。应该指出，有这种行为的中国学生是少数，然而就是这样的“少数”，已经让中国学生的名誉受到了极大的损害。另外，目前美国有些教授不愿理会部分中国学生的推荐信，因为他们知道这些推荐信根本就出自学生自己之手，已无参考性可言。这也是诚信受到损害以后的必然结果。 　　 <br /><br />　　我在微软研究院也曾碰到过类似的问题。一位来这里实习的学生，有一次出乎意料地报告了一个非常好的研究结果。但是，他做的研究结果别人却无法重复。后来，他的老板发现，这个学生对实验数据进行了挑选，只留下了那些合乎最佳结果的数据，而舍弃了那些“不太好”的数据。我认为，这个学生永远不可能实现真正意义的学术突破，也不可能成为一名真正合格的研究人员。 　　 <br /><br />　　最后想提的是一些喜欢贪小便宜的人。他们用学校或公司的电话打私人长途、多报销出租车票。也许有人认为，学生以成绩、事业为重，其他细节只是一些小事，随心所欲地做了，也没什么大不了的。然而，就是那些身边的所谓“小事”，往往成为一个人塑造人格和积累诚信的关键。一些贪小便宜、耍小聪明的行为只会把自己定性为一个贪图小利、没有出息的人的形象，最终因小失大。中国有“勿以恶小而为之”的古训，很值得记取。 　　 <br /><br /><b>生活在群体之中</b><br />与大多数美国学生比较而言，中国学生的表达能力、沟通能力和团队精神要相对欠缺一些。这也许是由于文化背景和教育体制的不同而造成的。今天，当我们面对一个正在走向高度全球化的社会时，生活在群体之中，做出更好的表现，得到更多的收获，是尤为重要的。 　　 <br /><br />　　表达和沟通的能力是非常重要的。不论你做出了怎样优秀的工作，不会表达，无法让更多的人去理解和分享，那就几乎等于白做。所以，在学习阶段，你不可以只生活在一个人的世界中，而应当尽量学会与各类人交往和沟通，主动表达自己对各种事物的看法和意见，甚至在公众集会时发表演讲，锻炼自己的表达能力。 　　 <br /><br />　　表达能力绝不只是你的“口才”。哈佛大学的Ambady教授最近做过一个非常有趣的实验，他让两组学生分别评估几位教授的授课质量。他把这几位教授的讲课录像带先无声地放两秒钟给一组学生看，得出一套评估结果。然后与那些已经听过这几位教授几个月讲课的学生的结果进行对比，两个小组的结论竟然惊人的相似。这表明，在表达自己思想的过程中，非语言表达方式和语言同样重要，有时作用甚至更加明显。这里所讲的非语言表达方式是指人的仪表、举止、语气、声调和表情等。因为从这些方面，人们可以更直观、更形象地判断你为人、做事的能力，看出你的自信和热情，从而获得十分重要的“第一印象”。 　　 <br /><br />　　对于一个集体、一个公司，甚至是一个国家，团队精神都是非常关键性的。微软公司在美国以特殊的团队精神著称。像Windows2000这样的产品的研发，有超过3000名开发工程师和测试人员参与，写出了5000万行代码。没有高度统一的团队精神，没有全部参与者的默契与分工合作，这项工程是根本不可能完成的。 　　 <br /><br />　　以前我在别的公司时却也曾见到过相反的现象。一项工程布置下来，大家明明知道无法完成，但都心照不宣，不告诉老板。因为反正也做不完，大家索性也不努力去做事，却花更多的时间去算计怎么把这项工程的失败怪罪到别人身上去。就是这些人和这样的工作作风，几乎把这家公司拖垮。 　　 <br /><br />　　为了培养团队精神，我建议同学们在读书之余积极参加各种社会团体的工作。在与他人分工合作、分享成果、互助互惠的过程中，你们可以体会团队精神的重要性。 <br />　　在学习过程中，你千万不要不愿意把好的思路、想法和结果与别人分享，担心别人走到你前面的想法是不健康的，也无助于你的成功。有一句谚语说，“你付出的越多，你得到的越多”。试想，如果你的行为让人觉得“你的是我的，我的还是我的”，当你需要帮忙时，你认为别人会来帮助你吗？反之，如果你时常慷慨地帮助别人，那你是不是会得到更多人的回报呢？ 　　 <br /><br />在团队之中，要勇于承认他人的贡献。如果借助了别人的智慧和成果，就应该声明。如果得到了他人的帮助，就应该表示感谢。这也是团队精神的基本体现。<br />做一个主动的人 　　 <br /><br />　　三十年前，一个工程师梦寐以求的目标就是进入科技最领先的IBM。那时IBM对人才的定义是一个有专业知识的、埋头苦干的人。斗转星移，事物发展到今天，人们对人才的看法已逐步发生了变化。现在，很多公司所渴求的人才是积极主动、充满热情、灵活自信的人。 　　 <br /><br />　　作为当代中国的大学生，你应该不再只是被动地等待别人告诉你应该做什么，而是应该主动去了解自己要做什么，并且规划它们，然后全力以赴地去完成。想想今天世界上最成功的那些人，有几个是唯唯诺诺、等人吩咐的人？对待自己的学业和研究项目，你需要以一个母亲对孩子那样的责任心和爱心，全力投入，不断努力。果真如此，便没有什么目标是不能达到的。 　　 <br /><br />　　一个积极主动的人还应该虚心听取他人的批评和意见。其实，这也是一种进取心的体现。不能虚心接受别人的批评，并从中汲取教训，就不可能有更大的进步。比尔盖茨曾经对公司所有员工说过：“客户的批评比赚钱更重要。从客户的批评中，我们可以更好地汲取失败的教训，将它转为成功的动力。” 　　 <br /><br />　　除了虚心接受别人的批评，你还应该努力寻找一位你特别尊敬的良师。这位良师应该是直接教导你的老师以外的人，这样的人更能客观地给你一些忠告。这位良师除了可以在学识上教导你之外，还可以在其他一些方面对你有所指点，包括为人处世，看问题的眼光，应对突发事件的技能等等。 <br />　　我以前在苹果公司负责一个研究部门时，就曾有幸找到这样一位良师。当时，他是负责苹果公司全球运作和生产业务的高级副总裁，他在事业发展方面给我的许多教诲令我终身受益。如果有这样的人给你帮助 ，那你成长的速度一定会比别人更快一些。 　　 <br /><br />　　中国学生大多比较含蓄、害羞，不太习惯做自我推销。但是，要想把握住转瞬即逝的机会，就必须学会说服他人，向别人推销自己或自己的观点。在说服他人之前，要先说服自己。你的激情加上才智往往折射出你的潜力，一个好的自我推销策略可以令事情的发展锦上添花。 <br /><br />　　例如，有一次我收到了一份很特殊的求职申请书。不同于已往大多数求职者，这位申请人的求职资料中包括了他的自我介绍、他对微软研究院的向往、以及他为什么认为自己是合适的人选，此外还有他已经发表的论文、老师的推荐信和他希望来微软作的课题等。尽管他毕业的学校不是中国最有名的学校，但他的自我推销奏效了。我从这些文件中看到了他的热情和认真。在我面试他时，他又递交了一份更充分的个人资料。最后，当我问他有没有问题要问我时，他反问我，：“你对我还有没有任何的保留？”当时，我的确对他能否进入新的研究领域有疑虑，于是就进一步问了他一些这方面的问题。他举出了两个很有说服力的例子。最后，我们雇用了这名应聘者。他现在做得非常出色。 　　 <br /><br /><b>挑战自我、开发自身潜力 </b>　　 <br />　　我在苹果公司工作的时候，有一天，老板突然问我什么时候可以接替他的工作？我非常吃惊，表示自己缺乏像他那样的管理经验和能力。但是他却说，这些经验是可以培养和积累的，而且他希望我在两年之后就可以做到。有了这样的提示和鼓励，我开始有意识地加强自己在这方面的学习和实践。果然，我真的在两年之后接替了他的工作。我个人认为，一个人的领导素质对于他将来的治学、经商或从政都是十分重要的。在任何时候、任何环境里，我们都应该有意识地培养自己的领导才能。同时，我建议你给自己一些机会展示这方面的能力，或许像我一样，你会惊讶自己在这一方面的潜力远远超过了自己的想象。 　　 <br />　　给自己设定目标是一件十分重要的事情。目标设定过高固然不切实际，但是目标千万不可定得太低。在二十一世纪，竞争已经没有疆界，你应该放开思维，站在一个更高的起点，给自己设定一个更具挑战性的标准，才会有准确的努力方向和广阔的前景，切不可做“井底之蛙”。另外，只在一所学校取得好成绩、好名次就认为自己已经功成名就是可笑的，要知道，山外有山，人上有人，而且，不同地方的衡量标准又不一 样。所以，在订立目标方面，千万不要有“宁为鸡首，不为牛后”的思想。 　　 <br /><br />　　一个一流的人与一个一般的人在一般问题上的表现可能一样，但是在一流问题上的表现则会有天壤之别。美国著名作家威廉&amp;#8226;福克纳说过：“不要竭尽全力去和你的同僚竞争。你更应该在乎的是：你要比现在的你更强。”你应该永远给自己设立一些很具挑战性、但并非不可及的目标。 <br /><br />在确立将来事业的目标时，不要忘了扪心自问：“这是不是我最热爱的专业？我是否愿意全力投入？”我希望你们能够对自己选择所从事的工作充满激情和想象力，对前进途中可能出现的各种艰难险阻无所畏惧。谈到对工作的热爱，我认识的一位微软的研究员曾经让我深有感触。他经常周末开车出门，说去见“女朋友”，后来，一次偶然机会我在办公室里看见他，问他：“女朋友在哪里？”他笑着指着电脑说：“就是她呀。 ” <br /><br />　　对于工作的热爱，比尔&amp;#8226;盖茨也曾有过非常精彩的阐述，他说：“每天早晨醒来，一想到所从事的工作和所开发的技术将会给人类生活带来的巨大影响和变化，我就会无比兴奋和激动。” 　　 <br /><br />　　几个月前，《北京青年报》上曾有一场探讨比尔&amp;#8226;盖茨和保尔&amp;#8226;柯察金谁更伟大的讨论。由于从小在美国长大，我并不知道保尔和他的事迹。但是，我非常赞同保尔的这段名言：“人最宝贵的东西是生命，生命属于我们只有一次。人的一生应当这样度过，当他回首往事的时候，不因虚度年华而悔恨，也不因碌碌无为而羞愧……”所以，你应当选择一个你真心热爱的事业，不断地挑战自我、完善自我，让自己的一生过得精彩和充实。 <br />　　<br /><b>客观、直截了当的沟通</b><br />　　有一次，一位中国的大学教授找到我，希望我帮他找一位国外的专家在他组织的会议上去做主题演讲，末了还特意加了一句，最好是一个洋人。我很不以为然地对他说：“这个领域最具权威的人士就是在北京的一个中国人，为什么你一定要找一位洋人呢？”他表面上同意我的说法，但是他仍然请了一个美国人来做这个演讲，结果效果很差。所以，我们不应该陷入盲目的崇洋情结。我们应该用客观的眼光来判断事物，而不是以他的肤色或他的居住地来决定。 　　 <br /><br />有一句话说，“真理往往掌握在少数人手中”。这句话的意思是，我们看问题应该有自己的眼光，有独立思考的能力，不一定大多数人认可的，或某个权威说的，就是对的。不论是做学问、搞研究还是经商，我们都不能盲从，要多想几个为什么。有了客观的意见，你就应该直截了当地表达。如果做任何事情都像“打太极拳”，会让人不知所云，也会造成很多误会。有一次，在微软研究院工作的一位研究人员就自己所选择的研究方向来征求我的意见，我作了一番分析，认为这个方向有不少问题，但如果他坚持，我愿意支持他试着去做。结果他认为我这句话的意思实际上就是不允许他去做，所以他就选择了其他的方向。后来他要出差时，负责行政事务的人告诉他，你可以选择坐火车或者坐飞机。他认为行政人员实际上是在暗示他坐火车，因为坐飞机太贵。其实，他的猜测都是错误的。因为我们的沟通方式是直截了当，而他却在“打太极拳”。这之后，我们通过一系列的公司文化讲座，让员工们了解到，心里想什么就讲什么，不要把简单的问题复杂化。现在，研究院里这类的误会少了很多。 　 <br /><br />　　拐弯抹角，言不由衷，结果浪费了大家的宝贵时间。瞻前顾后，生怕说错话，结果是变成谨小慎微的懦夫。更糟糕的是还有些人，当面不说，背后乱讲，这样对他人和自己都毫无益处，最后只能是破坏了集体的团结。这样的人和作风既不能面对社会，也不可能在科学研究中走出新路，更不可能在激烈的商战中脱颖而出。 　　 <br /><br />　　希望同学们能够做到开诚布公，敢于说“不”，这才是尊重自己思想意愿的表现。当然，在表达你的意见时，无论反对和批评都应是建设性的，有高度诚意的，而不是为批评而批评，为辩论而批评。我赞成的方式是提供建设性的正面的意见。在开始讨论问题时，任何人先不要拒人千里之外，大家把想法都摆在桌面上，充分体现个人的观点，这样才会有一个容纳大部分人意见的结论。当然，你也要学习用适当的方法和口气表达你的意见，比如说不要在很多人面前让别人难堪。这样，你的批评才会奏效。 　　 <br /><br /><br /><b>珍惜校园学习生活</b> 　　 <br />　　几天前，报纸上登出一条消息，说有中学生辍学去开网络公司。我认为这并不值得提倡。对绝大多数学生来讲，在校生活是系统地学习基础理论知识，学习思考和解决问题方式的好机会。这些知识将成为你未来发展过程中所需要的最基本的知识和技能。就像建一栋高楼，如果不打好基础，是经不起风吹雨打的。 　　 <br /><br />　　在全球范围内，美国的研究水平无疑是世界一流的。而除了美国之外，你会发现英国的研究水平也是相当突出的。究其原因，其实就是语言问题。英国人可以毫无阻碍地阅读美国乃至全球各种最新的英文研究报告和资料。这对于他们把握研究方向，跟踪最新进展，发表研究成果都有很大的帮助。因此，英语学习对于我们作研究的人来说，是相当重要的。只有加强这方面素质的培养，才能适应将来的发展。我建议，学英语先听说，再学读写，而且务必在大学阶段完全解决英语学习的问题。等到年龄大了，要付出的代价相比就会大得多。 　　 <br /><br />　　除了英语之外，数学、统计学对理工科学生也是很重要的基础课程，是不可忽视的。数学是人类几千年的智慧结晶，你们一定要用心把它学好，不能敷衍了事。我今天就很后悔自己当初没有花更多功夫把数学 学得 更好些。另外，计算机应用、算法和编程也都是每一个工科学生应该 熟悉 和掌握的，它们是将来人人必须会用的工具。 　　 <br /><br />　　科技的发展可谓日新月异。在校学习的目的，其实就是掌握最基本的学习工具和方法。将来利用这些工具和方法，再去学习新的东西。比如：上课学会了C＋＋，能否自己学会Java？上课学会了HTML，能否自己学会 XML？与其说上大学是为了学一门专业，不如说是为了学会如何学习 ，让自己能够“无师自通”。 　　 <br /><br />　　大学毕业后的前两年，同学们聚到一起，发现变化都还不算大。五年后再聚到一起，变化就大多了。一些人落伍了，因为他们不再学习，不再能够掌握新的东西，自然而然地落在了社会发展的后面。如果我们要在这个竞争激烈的社会中永不落伍，那就得永远学习。 　　 <br />　　我的老板RickRashid博士是目前微软公司主管研究的高级副总裁，他已经功成名就，却始终保持着一颗学习和进取的心。现在，他每年仍然编写大约50，000行程序。他认为：用最新的技术编程可以使他保持对计算机最前沿技术的敏感，使自己能够不断进步。今天，有些博士生带着低年级的本科生和硕士生做项目，就自满地认为自己已经没有必要再编程了。其实，这样的做法是很不明智的。 　　 <br /><br />　　每次到清华和其他学校访问，被问到最多的就是学生打工的问题。我认为，打工从总体来说对学生是一件好事，是拓宽视野的一种方式。例如，在研究机构打工，可以学到最新的科技；在产品部门打工，可以学到开发的技术和技能；在市场部门打工，可以理解商业的运作。我认为每一个学生都应该有打工的经验，但不要打一些“没用的工”。首先要明白打工只是学生生活中的一种补充，学习才是最重要的。打工的目的是开阔眼界，不是提前上班。如果你把翻译书本、录入数据库所花的时间投入学习，将来可以赚更多的钱。那些钱将远远超出目前打工的收入。 　　  <br /><br />　　此外，还有一些学生受到目前退学创业风潮的鼓励，为成为中国的比尔&amp;#8226;盖茨和迈克尔&amp;#8226;戴尔而中途辍学。以我的观点，除了十分特殊的情况外，我不建议在校学生退学创业。你所看到的那些退学创业的成功者实际上少之又少。目前，大部分学生虽有创业的想法，但缺少创业的经验，所以失败的可能性非常大。如果要成功，我建议你们先把书读好。如果是要学习创业的经验，你完全可以利用假期的时间先去一家公司边打工边学。 <br /><br />　　比尔&amp;#8226;盖茨也曾说过：“如果你正在考虑自己成立一家新公司，你应该首先明确地知道：创办公司需要巨大的精力投入，要冒巨大的风险。我觉得你们不必像我，一开始就创办一家公司。你应该考虑加盟其他公司并在这家公司中学习他们的工作、创业方法。” 　　 <br /><br /><br /><b>你想戴一顶什么样的博士帽</b> 　　 <br />　　在我进入卡内基梅隆大学攻读计算机博士学位时，系主任曾对我讲，当你拿到你的博士学位时，你应该成为你所从事的研究领域里世界第一的专家。这句话对于初出茅庐的我来说简直高不可攀，但也让我踌躇满志、跃跃欲试。就这样，在经过五年寒窗、夜以继日的努力工作后，他所期待的结果就那么自然而然地出现了。 <br /><br />　　一个打算攻读博士学位的人，就应该给自己树立一个很高的目标。如果没有雄心壮志，就千万不要自欺欺人，也许经商或从事其它工作，会有更大的成绩。在目标确立之后，我建议你为自己设计一个三年的学习和科研计划。首先，你需要彻底地了解在相关领域他人已有的工作和成绩。然后再提出自己的想法和见解，做脚踏实地的工作。另外，还要不断跟踪这个领域的最新研究进展。只有这样，才可以把握好方向，避免重复性工作，把精力集中在最有价值的研究方向上 。 　　 <br /><br />　　在学术界，人们普遍认为“名师出高徒”。可见导师在你的成长道路中作用是多么大。所以，你应该主动去寻找自己所研究的领域里最好的老师。除了你的老师之外，你还应该去求教于周围所有的专家。更不要忘了常去求教“最博学的老师”Internet！现在，几乎所有的论文、研究结果、先进想法都可以在网上找到。我还鼓励你直接发电子邮件去咨询一些世界公认的专家和教授。以我的经验，对于这样的邮件，他们中的大部分都会很快给你回复。 　　 <br /><br />　　我在攻读博士学位时，每周工作七天，每天工作16个小时，大量的统计结果和分析报告几乎让我崩溃。那时，同领域其他研究人员采用的是与我不同的传统方法。我的老师虽然支持我，但并不认可我的研究方向 。我也曾不止一次地怀疑自己的所作所为是否真的能够成功。但终于有一 天， 在半夜三点时做出的一个结果让我感受到了成功的滋味。后来，研究有了突飞猛进的进展，导师也开始采用我的研究方法。我的博士论文使我的研究成为自然语言研究方面当时最有影响力的工作之一。 <br /><br />　　读博士不是一件轻松的事，切忌浮躁的情绪，而要一步一个脚印，扎扎实实地工作。也不可 受一些稍纵即逝的名利的诱惑，而要200%的投入。也许你会疲劳，会懊悔，会迷失方向，但是要记住，你所期待的成功和突破也正孕育其中。那种一切都很顺利，谁都可以得到的工作和结果，我相信研究价值一定不高。从一定意义上讲，一个人如果打算一辈子从事研究工作，那么从他在读博士学位期间所形成的做事习惯、研究方法和思维方式基本上就可以判断出他未来工作的轮廓。所以，你一定要做一个“有心人”，充分利 用在 校的时间，为自己的将来打好基础。 　　 <br /><br />　　上述一些观点，是我在与同学们交往过程中的一些感受。我希望这些建议和想法能对正在未来之路上跋涉的你们有所启发，能对你们目前的学习有所帮助。或许因为观点不同、人各有志，或许因为忠言逆耳，这封信可能无法为每一位同学所接受。但是只要一百位阅读这封信的同学中有一位从中受益，这封信就已经比我所作的任何研究都更有价值。我真诚地希望，在新的世纪，中国学生无论是在国内，还是国外；无论是做研究，还是经商，都显得更成熟一些，成功的机率更大一些。<br /></font>
<img src ="http://www.cppblog.com/yunduan5158/aggbug/10230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/yunduan5158/" target="_blank">Merlin</a> 2006-07-19 17:02 <a href="http://www.cppblog.com/yunduan5158/archive/2006/07/19/10230.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]你该学什么程序语言？</title><link>http://www.cppblog.com/yunduan5158/archive/2006/07/13/9821.html</link><dc:creator>Merlin</dc:creator><author>Merlin</author><pubDate>Thu, 13 Jul 2006 13:50:00 GMT</pubDate><guid>http://www.cppblog.com/yunduan5158/archive/2006/07/13/9821.html</guid><wfw:comment>http://www.cppblog.com/yunduan5158/comments/9821.html</wfw:comment><comments>http://www.cppblog.com/yunduan5158/archive/2006/07/13/9821.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/yunduan5158/comments/commentRss/9821.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/yunduan5158/services/trackbacks/9821.html</trackback:ping><description><![CDATA[
		<font face="Arial">
				<font color="#000080" size="2">除非你像我一样学程序语言只是为了到处献宝，否则你在学一套程序语言前，应该先仔细评估到底要学哪一套。每个程序语言的用途都有很大的差异，走了冤枉路可能会耽误到计画实作的进程。<br />我大致上把程序语言分成五类，分述如下：<br /><br />Web Page Script Languages<br />用来做网页的语言，可以对网页做控制。如果你希望设计出很炫的网页，光靠 HTML 是不够的，你还得学一套 Web Page Script Language，比方说 javascript（ECMAScript）和微软的 JScript。不过两者都是系出同门，所以差不多。WML Script（WAP 手机的 script）也是袭自 <br />javascript。<br />许多人知道我不会 javascript 之后，都会大吃一惊地反问：「可是你不是会 Java，怎么不顺便学 javascript，两个语言不是差不多」。如果依照此推理，我看我差不多每个语言都要学了，因为除了 REBOL 和汇编语言比较特殊之外，我觉得其它语言的语法都差不多（但用途差很多）。<br />不过我最近的确是有打算开始学 javascript，因为我发现用到它的机会还不少。除了网页会用到之外，我最近所接触的 SVG（Scalable Vector Graphics）就使用 javascript 来达到动画效果。<br /><br />Interpreted Languages（直译式语言）<br />这类直译式的语言包括了 Perl、Python、REBOL、Ruby... 等，也常被称为 script 语言，通常是用来取代批次档和 shell script 以便和底下的操作系统沟通。基本上，每个人至少都应该要会一套这类的语言，当你需要做某件简单的工作，你可以透过直译式的语言来轻易地办到，这么一来，你就可以不必大张旗鼓地使用 Java 和 C++ 等工具了。<br />直译式的语言通常比较高阶，程序比较好写，往往简短地几行程序就抵得过 Java 或 C++ 的一堆程序代码。因为不用编译而且高阶，所以这类语言的程序效率通常很差，又因为原始程序代码暴露在外，所以拿它来写写工具程序自己用可以，但是拿来开发软件产品比较不恰当（除非你不在乎原始码外流）。目前这类语言最常被用来开发网页服务器端的程序，或者是设计软件的 prototype。<br />Python 有一些不错的语言特性，目前在国外算是满热门的；Ruby 是日本一位教授设计的，但是这语言太新了，目前好象只有 Addison Wesley 的一本英文书和 O'Reilly 的一本日文书可供参考；REBOL 则是我近期最喜欢的程序语言，非常特别，REBOL 语言的思维和别的语言差异非常大，许多时候很接近英文句子。至于 Perl，我就没有研究了，台湾欧莱礼公司已经有 Perl 的专家了，如果我现在去学 Perl 的话，短期内是不可能超越他的，所以我看算了 :(<br /><br />Hybrid Languages（混合式语言）<br />Java，C# 都是混合式语言，介于直译式语言和编译式语言之间（不管是在执行效能上或程序简单性上）。<br />C# 的语言有许多奇怪的特色，但也有一些不错的特色。C# 的学习使用上的难度介于 Java 和 C/C++ 之间。C# 是 Microsoft .NET 平台上最重要的语言，值得我们持续观察其后续发展。至于 Java 我就不用多说了，相信 Sleepless in Java 的读者们应该都知道 Java 是怎么一回事。<br />至于 Visual Basic，在 .NET 平台主推 C# 语言，而 VisualBasic .NET 的语言又比以前复杂许多的情况下， Visual Basic 的前途似乎很不看好。<br /><br />Compiling Languages（编译式语言）<br />C/C++，Delphi（Object Pascal）都是编译式语言。这几年来，C++ 已经变得越来越庞大了，大多数的 C++ 程序员只用到（也只懂）C++ 功能的一小部份。想成为 C++ 语言真正的高手，没有耗上三五年是不可能的。虽然 C++ 很复杂，但是真正想成为程序高手的人应该都要懂 C/C++，重要的 API 都会有 C/C++ 的版本，由此可见 C/C++ 的重要性。至于 Delphi，在 Microsoft .NET 推出之后会对 Delphi 造成一些打击（Microsoft .NET 的语言名单中连 Scheme、Eiffel 和 Mercury 这种少用的语言都出现了，独缺 Delphi），但是 Delphi 能透过 Kylix 来跨越 Windows 和 Linux，又是一个很大的吸引力，如果你想要跨 Linux 和 Windows 平台的 RAD 工具（语言），目前 Delphi 似乎是最好的选择。<br /><br />Assembly Languages（汇编语言）<br />使用汇编语言，你将尝试到一砖一瓦堆砌出程序的乐趣（或痛苦）。汇编语言可以说是最接近硬件的语言，学会汇编语言，就可以对计算机的运作有相当程度的了解。不过，目前连开发驱动程序都不太需要用到汇编语言了。恐怕只有做 DSP 和 OS 等极少部份的人需要用到汇编语言。我也好久没写汇编程序了，以前 DOS 时代，我还用汇编语言写过一个 PE 2。<br /><br />程序语言学习顺序的建议<br />通常 Web Script 最简单，直译式语言其次，接着是混合式语言，和编译式语言，最麻烦的是汇编语言。如果你完全没有程序经验，想开始学程序设计的话，你可以从 javascript 着手，等到程序基础观念建立得差不多了，再往下学习直译式语言，然后再学习混合式语言 ...，以此类推。<br />希望这篇文章能解决读者们选择程序语言的困扰<br /><br /><font color="#ff3366">看完这篇文章，我觉得自己的学习经历真的很搞笑，上大学最先学的是C++,接着学了一年的C#，后来接触了Javascript,现在又在学Java。弄了半天我是越学越简单了，哈哈~~~~~~~</font></font>
		</font>
<img src ="http://www.cppblog.com/yunduan5158/aggbug/9821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/yunduan5158/" target="_blank">Merlin</a> 2006-07-13 21:50 <a href="http://www.cppblog.com/yunduan5158/archive/2006/07/13/9821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件就业方向选择 </title><link>http://www.cppblog.com/yunduan5158/archive/2005/11/25/1301.html</link><dc:creator>Merlin</dc:creator><author>Merlin</author><pubDate>Fri, 25 Nov 2005 04:00:00 GMT</pubDate><guid>http://www.cppblog.com/yunduan5158/archive/2005/11/25/1301.html</guid><wfw:comment>http://www.cppblog.com/yunduan5158/comments/1301.html</wfw:comment><comments>http://www.cppblog.com/yunduan5158/archive/2005/11/25/1301.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/yunduan5158/comments/commentRss/1301.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/yunduan5158/services/trackbacks/1301.html</trackback:ping><description><![CDATA[<TABLE class="fixedTable blogpost" cellSpacing=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=ellipse><SPAN class=bvTitle id=subjcns!1pdCS7KnZMjy1AVJpXmrYMtg!505><STRONG>软件就业方向选择</STRONG></SPAN></TD></TR>
<TR>
<TD class=bvh8><STRONG></STRONG></TD></TR>
<TR>
<TD id=msgcns!1pdCS7KnZMjy1AVJpXmrYMtg!505>同济大学软件学院万院长谈择业- - 
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<P>一、关于企业计算方向<BR><BR>企业计算(Enterprise Computing)是稍时髦较好听的名词，主要是指企业信息系统,如ERP软件（企业资源规划）、CRM软件（客户关系管理）、SCM软件（供应链管理，即物流软件）,银行证券软件,财务软件,电子商务/政务（包括各种网站），数据仓库，数据挖掘，商务智能等企业信息管理系统.<BR><BR>企业计算领域对人才的需求显然永远是数量最大的,因为这是计算机应用最多的领域. 搞这方面的好处是:<BR>(1)人才需求量极大,从事企业计算的公司在IT企业中占了大多数。除非在专业上一无特长,一般在这一领域总能找到工作。<BR>(2)这方面的入门门槛相对较低（如果你的软件功底不是很深,可考虑这一领域）<BR>(3)这方面的大公司较多,大公司要赚大钱,所以多将精力花在企业计算业务上.如与我院同学目前实习的CitiCorp、HP、IBM、SAP、NEC等公司都属这一领域的公司。如果将来想到大公司找一份相对稳定的工作，从事这方面机会要大很多。<BR><BR>但从事这一领域的缺点也是明显的：<BR><BR>由于这方面的入门门槛相对较低，虽然这方面的人才需求量是最大的，但将来竞争对手会较多。您会发现，即使他原不是学IT专业的人，也许他突击几个月后，做得照样像模像样。特别是当您年纪渐大后，您可能会发现，后面的年轻人可能很容易追上你的水平。如果您将来到国外去工作，你可能会发现从事这领域的人更多且高手如云。当然，若您在这一领域经过多年企业经验，达到较高境界（如能设计软件架构），则身价永远是高的。国内在这方面人才领域的主要问题是，有经验的高手太少，皮毛了解的人太多。<BR><BR>从事企业计算领域，最重要的技能型技术课程是（1）J2EE架构与程序设计（2）大型数据库系统(如Oracle)（3）基于UML的系统分析与设计。如果说还有什么重要的技能，还可将XML与Web Service技术包含进来，若您在这几个领域掌握较好，则不愁找不到工作。其中尤其以J2EE最为重要，目前J2EE已成为企业计算软件开发的最主要平台，也是我院的最重要课程之一。尽管该课程只能作为选修课，我们希望我院同学无论将来想从事何种方向，都应学一下J2EE课程，至少可为将来找工作备一手关键功夫。包括想从事嵌入式或其它领域的同学，也是很有必要学一下J2EE的，毕竟J2EE是目前最重要的平台之一，即使您将来不想从事企业计算领域，了解一下J2EE也是必要的，就像一门常识课程一样。其它与企业计算关系较密切的技能还包括：Dot Net架构与程序设计、软件测试技术、软件配置管理，该领域较高层次的技能包括数据仓库技术、构件与中间件技术、设计模式等。像通信协议分析与网络程序设计，Unix系统管理等也属有些关系的课程。02级本学期开设的企业计算课程不多，主要是J2EE、Oracle/MSSQL、UML等企业计算领域的最关键技能型技术课程都已学完了（但不知有多少同学学得较深入，将来找工作时会用到这些技能）。下学期我们将在该领域中拟再开设XML与Web Service技术、软件配置管理等课程。本学期开设的企业计算领域课程的确不多，但您应在空余时间将J2EE，DB、UML等技术再深入地钻研下去，一定要在某个领域有深入的掌握。只是跟着听课，即使学了再多课程也是没用处的，自己钻研下去才是最重要的。只一个J2EE便是博大精深的，足够你啃下去的，钻研下去，您会发现你还要学的相关知识还有很多（包括EJB、XML、Web Service、Design Pattern等）。<BR><BR>虽然从事企业计算的人才很多，但以下企业计算领域无论国内外都属稀缺人才：<BR><BR>（1）掌握大型ERP系统，主要是SAP系统，包括SAP Basis(系统管理）或SAP ABAP（编程）或SAP功能模块实施（特别是财务模块FI的实施）。SAP顾问身价是最高的，而且非常难找。其它大型ERP系统，掌握PeopleSoft、Oracle Finacial、J.D.Edward、Siebel等大型ERP软件系统的人也很值钱。这方面的人之所以身价奇高，主要是因为这些软件很专业，特别大，很难有D版可学习，只有特大企业（如世界500强，90%以上使用SAP）才用得起，而且必须有实际工作经验才能掌握。如果是一个个人人都很容易有机会接触的软件，那么这方面的人通常就不会稀缺。如果大家将来有机会接触学习这些大型ERP软件系统的机会，建议毫不犹豫地抓住，那将捧上一辈的金饭碗。在国外，会SAP的人特别值钱。物以稀为贵，这永远是颠扑不破的真理。SAP的价值不仅是因为他是一个ERP软件， 而是其中体现的现代企业管理理念（如根据订货需求自动安排原料采购和生产计划等）。一般500强公司绝不会像国内很多企业那样，用J2EE从头设计企业的ERP系统（即将是怎样的人力投入，而且设计出来的系统怎么可能是完善的？），一定都会使用SAP这样成熟的ERP软件。用不起SAP的公司可能会用J2EE设计ERP系统。<BR><BR>（2）掌握IBM大型机技术的人，如S/390主机，MVS操作系统，JCL作业控制语言，COBOL程序设计语言，DB2关系数据库或IMS层次数据库，CISC中间件交易控制系统等IBM大型机专用技术。国内五大银行，以及国外绝大多数银行的后台系统使用的都是以上平台。IBM大型机号称永不宕机而且平台相对封闭（这样最安全），所以这些要求在24*7环境中连续运行的关键应用（术语叫mission critical applications)都采用IBM大型机。这方面的人才之所以稀缺，是因为会大型机的人都是老人（90年代以前搞IT的人），全世界新毕业的IT毕业生不可能再去学IBM大型机（这是一种相对"古老"的技术）,没有新人补上,而银行的系统必须维持下去而且银行还要不断开发新业务(如新的存款品种),虽然对IBM大型机人才的绝对需求量不很大,但相对恒定,银行到哪里找这方面的新人,很难找到. 若好找,花旗软件也不会花那么大的代价去培训我们的实习同学了(去年培训20多个人,听说公司就花了数十万元培训费). 如果您将来到国外找工作,会IBM大型机可能是最好找工作的领域之一了,而且保证找的都是大银行等好工作,我以前教过的计算机专业90-94级的一些同学,凡是毕业后从事大型机开发的,现多在国外一些很好的公司工作(有几位同学在各国各公司跳来跳去,简直如履平地). 其实我觉得我们最幸福的同学就是在花旗软件做IBM大型机银行软件的同学,这样的机会太难得了.我院00级2+2班一位同学,当初放弃保研,看准在花旗软件做大型机并且非常努力,还未毕业,公司便派她到国外参加一个项目的开发,成了项目骨干,我觉得她当初选择是完全正确的(01级一位女同学刚刚也自愿放弃了保研机会去花旗做大型机，我们祝愿她将来也能有好的前景。其实像花旗软件主动安排并鼓励员工读在职研究生，这样开明的公司目前并不多的，在职读研也是一种不错的选择，又不会失去自己喜欢的实习工作机会，能兼顾),读书的最终目地还是为了工作. 如果您将来在国外找工作,根本没人管您是什么文凭,国外企业绝不会花冤枉钱,只会招有领域工作经验能立即上手的人,用最少的钱在限定的时间完成项目. 而在国内,因为人力成本较低,公司招聘一很多高学历的人才,尽管可能根本用不到这么高的学历,但国内的人力太便宜了,为什么不高消费一下人才呢?这样公司的门面还要好看些。<BR><BR>.(3)其它如掌握数据仓库技术的人在国内也很少. 目前最主流的数据仓库平台应是ORACLE的数据仓库工具. 在国外,会一些特殊数据仓库的人,如NCR/TEREDATA的人非常难找.<BR><BR>我们的同学现在年纪都很轻,年轻人充满热情,喜欢追逐一些热门技术,这当然正确的,毕竟学习SAP和大型机的机会毕竟不多,毕业时先能找到一份工作是重要的. 但我相信随着年纪的增长,大家将来慢慢都会思考的,掌握一项竞争对手较少的绝技的重要性,将来如果自己到国外工作什么技术最好找工作(对搞软件的人到国外工作或移民是最容易的,也许您现在不想,但我相信工作多年以后,很大一部分同学可能想到国外闯荡一下),你要考虑你今后一生的出路,什么样的绝技是最稳定最轻松最高收入的. 搞软件的人,当年纪大些时,您可能更向住像搞医学人的那样能更多靠经验吃饭,而不须整天像年轻人那样不得不去追逐不断出现的软件新技术,这个时候也许您也许会发现,如果您在SAP或大型机等方面有些绝技,您会有很大优势,因为这些较偏的领域其技术变化是相对很缓慢的.<BR><BR>我还记得在2000年时我曾在业余时间与一位德国人合作面试一些IT人才到德国去,那时德方各公司发来的需求有很多是SAP和IBM大型机的,我们在众多应聘者中最后也未找到一个在这方面有经验,甚至是有一点经验的. 相反,掌握流行技术的人因太多而不很值钱. <BR>我们的同学将来找工作时,不仅要盯着国内市场,还要有一种放眼全球的眼光，对搞软件的人您将来完全可能到其它国家去工作. 尤其是在欧美、日本、新加坡等国家，对SAP（包括IBM大型机）人才的需求是很大的。毕竟比同学见得多些,提醒同学将来多留意有学习这些绝技的机会,一旦有机会建议当仁不让. 国内的人才市场可访问www.51job.com，国外的IT人才需求可访问www.hotjobs.com、www.workopolis.com、www.monster.com等著名网站。应经常访问这些网站，以了解市场对人才的具体需求，早做准备。<BR><BR>以上对企业计算领域的观点,供大家参考.虽然观点未必正确,但确是直言不讳. 总之,每个人的脑袋都长在自己脖子上,每个人都应有自己的判断.<BR><BR>还要注意,我以上纯粹是从将来就业的角度谈问题. 如果您将来准备到国外读书,则应重视基础课,像C,Assembly,OOP,Discrete Math,Data Structure,Opeating System,Database Principle,Network,Software Engineering,Compiler,Digital Circuit,Computer Graphics,Computer Component and Architecture等基础课,在国外大学IT专业中一般都能找到相同课程,若国内学过,到国外读书时一般可申请免修一部分. 但我也想提醒同学,如果您将来毕业时万一申请国外大学不成,不得不去找工作时，若只将精力花在这些IT专业学生都会的基础课上(传统IT教育模式), 未掌握一些像J2EE等技能型技术,是不容易找到一份工作的,我们已有同学有这样的教训。从找工作的角度讲，企业关心的不是您学过什么课程，而是关心您能做什么，有什么技能，能做什么项目。<BR>二、关于嵌入式系统方向<BR><BR>嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上，通常这些设备的硬件资源（如处理器、存储器等）非常有限，并且对成本很敏感，有时对实时响应要求很高等。特别是随着消费家电的智能化，嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机（DC）、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。<BR><BR>嵌入式系统是软硬结合的东西，搞嵌入式开发的人有两类。<BR><BR>一类是学电子工程、通信工程等偏硬件专业出身的人，他们主要是搞硬件设计，有时要开发一些与硬件关系最密切的最底层软件，如BootLoader、Board Support Package(像PC的BIOS一样，往下驱动硬件，往上支持操作系统），最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚，不足是他们更擅长定义各种硬件接口，但对复杂软件系统往往力不从心（例如嵌入式操作系统原理和复杂应用软件等）。<BR><BR>另一类是学软件、计算机专业出身的人，主要从事嵌入式操作系统和应用软件的开发。如果我们学软件的人对硬件原理和接口有较好的掌握，我们完全也可写BSP和硬件驱动程序。嵌入式硬件设计完后，各种功能就全靠软件来实现了，嵌入式设备的增值很大程度上取决于嵌入式软件，这占了嵌入式系统的最主要工作（目前有很多公司将硬件设计包给了专门的硬件公司，稍复杂的硬件都交给台湾或国外公司设计，国内的硬件设计力量很弱，很多嵌入式公司自己只负责开发软件，因为公司都知道，嵌入式产品的差异很大程度在软件上，在软件方面是最有"花头"可做的），所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地，越是智能设备越是复杂系统，软件越起关键作用，而且这是目前的趋势。<BR><BR>从事嵌入式软件开发的好处是：<BR>（1） 目前国内外这方面的人都很稀缺。一方面，是因为这一领域入门门槛较高，不仅要懂较底层软件（例如操作系统级、驱动程序级软件），对软件专业水平要求较高（嵌入式系统对软件设计的时间和空间效率要求较高），而且必须懂得硬件的工作原理，所以非专业IT人员很难切入这一领域；另一方面，是因为这一领域较新，目前发展太快，很多软硬件技术出现时间不长或正在出现（如ARM处理器、嵌入式操作系统、MPEG技术、无线通信协议等），掌握这些新技术的人当然很找。嵌入式人才稀缺，身价自然就高，越有经验价格就越高。其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。<BR>（2） 与企业计算等应用软件不同，嵌入式领域人才的工作强度通常低一些（但收入不低）。搞企业应用软件的IT企业，这个用户的系统搞完了，又得去搞下一个用户的，而且每个用户的需求和完成时间都得按客户要求改变，往往疲于奔命，重复劳动。相比而言，搞嵌入式系统的公司，都有自己的产品计划，按自己的节奏行事。所开发的产品通常是通用的，不会因客户的不同而修改。一个产品型号开发完了，往往有较长一段空闲时间（或只是对软件进行一些小修补），有时间进行充电和休整。另外，从事嵌入式软件的每个人工作范围相对狭窄，所涉及的专业技术范围就是那些（ARM、RTOS、MPEG、802.11等），时间长了这些东西会越搞越有经验，卖卖老本，几句指导也够让那些初入道者琢磨半年的。若搞应用软件，可能下一个客户要换成一个完全不同的软件开发平台，那就苦了。<BR>（3） 哪天若想创业，搞自已的产品，那么嵌入式是一个不错的主意，这可不像应用软件那样容易被盗版。土木学院有一个叫启明星的公司开发出一个好象叫“工程e”的掌上PDA（南校区门口有广告），施工技术人员用该PDA可当场进行土木概预算和其它土木计算，据说销路特好。我认识的某大学老师，他开发的饭馆用的点菜PDA（WinCE平台，可无线连网和上网），据他说销路不错，饭馆点点PDA让客户点菜，多显派头档次。我记得00级2+2班当年有一组同学在学Windows程序设计课程时用VC++设计了一个功能很强的点菜系统做为课程项目，当时真想建议他们将这个软件做成PDA，估计会有些销路（上海火车站南广场的Macdonald便使用很漂亮的PDA给用户点食品，像摸像样的）。这些PDA的硬件设计一般都是请其它公司给订做（这叫“贴牌”：OEM），都是通用的硬件，我们只管设计软件就变成自己的产品了。<BR><BR>从事嵌入式软件开发的缺点是：<BR>（1） 入门起点较高，所用到的技术往往都有一定难度，若软硬件基础不好，特别是操作系统级软件功底不深，则可能不适于此行。<BR>（2） 这方面的企业数量要远少于企业计算类企业。特别是从事嵌入式的小企业数量较多（小企业要搞自己的产品创业），知名大公司较少（搞嵌入式的大公司主要有Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半导体、Microtek、研华、华为、中兴通信、上广电等制造类企业）。这些企业的习惯思维方式是到电子、通信等偏硬专业找人。由于我院以前毕业生以企业计算为主，所以我院与这些企业联系相对较少。我院正积极努力，目前已与其中部分公司建立了联系，争取今后能有我院同学到这些企业中实习或就业。<BR>（3）有少数公司经常要硕士以上的人搞嵌入式，主要是基于嵌入式的难度。但大多数公司也并无此要求，只要有经验即可。<BR><BR>我院同学若学习嵌入式，显然应偏重于嵌入式软件，特别是嵌入式操作系统方面，应是我们的强项。对于搞嵌入式软件的人，最重要的技术显然是（实际上很多公司的招聘广告上就是这样写的）：<BR>（1） 掌握主流嵌入式微处理器的结构与原理<BR>（2） 必须掌握一个嵌入式操作系统 <BR>（3） 必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。<BR><BR>我院在嵌入式软件方面最重要的课程包括：<BR>（1） 嵌入式微处理器结构与应用：这是一门嵌入式硬件基础课程，我院用这门课取代了传统的“微机原理与接口”课程（目前国内已有少部分高校IT专业这样做了，因为讲x86微机原理与接口很难找到实际用处，只为教学而已）。我们说过，嵌入式是软硬件结合的技术，搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解，包括ARM的汇编指令系统。若不了解处理器原理，怎么能控制硬件工作，怎么能写出节省内存又运行高速的最优代码（嵌入式软件设计特别讲究时空效率），怎么能写出驱动程序（驱动程序都是与硬件打交道的）？很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器，将来若同学到公司中从事嵌入式软件开发，公司都会给你一本该设备的硬件规格说明书 (xxx Specification)，您必须能看懂其中的内存分布和端口使用等最基本的说明（就像x86汇编一样），否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥，这主要是硬件课程都较抽象的原因，等我们的嵌入式实验室10月份建好后，您做了一些实验后就会觉得看得见摸得着。还有同学对ARM汇编不感兴趣，以为嵌入式开发用C语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言，学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人，怎么能在该处理器写出最优的C语言代码。在嵌入式开发的一些关键部分，有时还必须写汇编，如Bootloader等（可能还包括BSP）。特别是在对速度有极高要求的场合（如DSP处理器的高速图像采集和图像解压缩），目前主要还要靠汇编写程序（我看到过很多公司是这样做的）。当您在一个嵌入式公司工作时，在查看描述原理的手册时，可能很多都是用汇编描述的（我就遇到过），这是因为很多硬件设计人员只会写或者喜欢用汇编描述，此时您就必须看懂汇编程序，否则软硬件人员可能就无法交流。很多嵌入式职位招聘时都要求熟悉汇编。<BR><BR>[小知识] 目前嵌入式处理器常见的有ARM、PowerPC、MIPS、Motorola 68K、ColdFire(冷火)等，但ARM占据了绝对主流（资料说手机中几乎100%都是ARM处理器）。ARM是一个只卖知识产权的公司，目前获得购买了ARM CPU核授权许可的大公司很多，包括Intel、Samsung、Amstel、Motorola、Philip等，他们都在ARM CPU核的基础上进行了一些外围扩展，形成自己的处理器（如Samsung S3C2410，Motorola i.MXL9328等处理器都是采用ARM 9内核，指令一级是相同的）。而众多中小公司又购买了这些处理器，设计了各种各样的开发板，如华恒等国内很多著名嵌入式公司都生产基于Samsung S3C2410的开发板，供最终用户使用或供教学实验。在ARM这个食物链上，ARM公司是大鱼，Intel、Samsung等公司是小鱼，而华恒等则是虾米，最终用户（想我们要采购嵌入式开发板的实验室）则是喂虾米的。Intel早期生产的是低端ARM(Strong ARM，相当于ARM 7),现在转向主要生产高端ARM(即Intel Xscale处理器,相当于ARM 10，主要用在高端PDA上,如HP和DELL生产的PDA都采用Intel Xscale，价格较高)。目前应用最多的是ARM 7和ARM 9两类处理器。 ARM 7较便宜，可跑uclinux（是一个不支持高级内存管理功能的嵌入式Linux系统）、Vxworks、uc/os II等实时操作系统，但因处理器不带内存管理单元MMU（无内存分页和地址映射机制，所以不能使用虚拟内存），所以不能跑Windows CE，另外通用Linux中的某些内存管理功能也不能用在ARM 7上。ARM 9是一个带MMU功能的高端处理器，可跑WinCE或通用Linux的大多数功能。以上是我的一点了解，可能有不对的地方。我们学院正在建设的嵌入式实验室（10月底到货）包括30套ARM 7系统（拟采用Samsung S3C44b0x开发板，主要用于嵌入式处理器结构、嵌入式linux课程实验），10套ARM 9系统（拟采用Samsung S3C2410x开发板，主要用于Windows CE课程建设），每套实验板都配了高速仿真器，价格都很贵（比我们招标的DELL PC还贵），很容易损坏，同学应爱护使用。<BR><BR>(2) 嵌入式操作系统类课程<BR>除了WinCE的实时性稍差外，大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统Real Time Operating System.从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中是最为关键的了。目前最重要的RTOS主要包括：<BR><BR>第一类、传统的经典RTOS：最主要的便是Vxworks操作系统，以及其Tornado开发平台。Vxworks因出现稍早，实时性很强（据说可在1ms内响应外部事件请求），并且内核可极微（据说最小可8K），可靠性较高等，所以在北美，Vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中，几乎非Vxworks莫属。Vxworks的很多概念和技术都和Linux很类似，主要是C语言开发。像Bell-alcatel、Lucent、华为等通信企业在开发产品时，Vxworks用得很多。但Vxworks因价格很高，所以一些小公司或小产品中往往用不起。目前很多公司都在往嵌入式Linux转（听说华为目前正在这样转）。但无论如何，Vxworks在一段长时间内仍是不可动摇的。与Vxworks类似的稍有名的实时操作系统还有pSOS、QNX、Nucleus等RTOS。<BR><BR>第二类、嵌入式Linux操作系统：Linux的前途除作为服务器操作系统外，最成功的便是在嵌入式领域的应用，原因当然是免费、开源、支持软件多、呼拥者众，这样嵌入式产品成本会低。Linux本身不是一个为嵌入式设计的操作系统，不是微内核的，并且实时性不强。目前应用在嵌入式领域的Linux系统主要有两类：一类是专为嵌入式设计的已被裁减过的Linux系统，最常用的是uClinux（不带MMU功能），目前占较大应用份额，可在ARM7上跑；另一类是跑在ARM 9上的，一般是将Linux 2.4.18内核移植在其上，可使用更多的Linux功能（当然uClinux更可跑在ARM 9上）。很多人预测，嵌入式Linux预计将占嵌入式操作系统的50%以上份额，非常重要。缺点是熟悉Linux的人太少，开发难度稍大。另外，目前我们能发现很多教材和很多大学都以ucOS/II为教学用实时操作系统，这主要是由于ucOS/II较简单，且开源，非常适合入门者学习实时操作系统原理，但由于ucOS/II功能有限，实用用得较少，所以我院不将其作为教学重点，要学习就应学直接实用的，比如 uClinux就很实用。况且熟悉了Linux开发，不仅在嵌入式领域有用，对开发Linux应用软件，对加深操作系统的认识也有帮助，可谓一举多得。据我所知，目前Intel、Philip都在大搞ARM+LINUX的嵌入式开发，Fujitum则是在自己的处理器上大搞Linux开发。目前在嵌入式Linux领域，以下几个方面的人特别难找，一是能将Linux移植到某个新型号的开发版上；二是能写Linux驱动程序的人；三是熟悉Linux内核裁减和优化的人。我院在该嵌入式Linux方面的课程系列是：本科生操作系统必修课，然后是Linux程序设计选修课，最后是嵌入式Linux系统选修课。我院在Linux方面目前已有较强力量，魏老师和张老师熟悉Linux开发，金老师和唐老师熟悉Linux系统管理。<BR><BR>第三类、 Windows CE嵌入式操作系统：Microsoft也看准了嵌入式的巨大市场，MS永远是最厉害的，WinCE出来只有几年时间，但目前已占据了很大市场份额，特别是在PDA、手机、显示仪表等界面要求较高或者要求快速开发的场合，WinCE目前已很流行（据说有一家卖工控机的公司板子卖得太好，以至来不及为客户裁减WinCE）。WinCE目前主要为4.2版（.NET)，开发平台主要为WinCE Platform Builder，有时也用EVC环境开发一些较上层的应用，由于WinCE开发都是大家熟悉的VC++环境，所以我院学过Windows程序设计课程的同学都不会有多大难度，这也是WinCE容易被人们接受的原因，开发环境方便快速，微软的强大技术支持，WinCE开发难度远低于嵌入式Linux。对于急于完成，不想拿嵌入式Linux冒险的开发场合，WinCE是最合适了（找嵌入式Linux的人可没那么好找的），毕竟公司不能像学生学习那样试试看，保证开发成功更重要。根据不同的侧重点 ，WinCE还有两个特殊版本，一个是MS PocketPC操作系统专用于PDA上（掌上电脑），另一个是MS SmartPhone操作系统用于智能手机上（带PDA功能的手机），两者也都属于WinCE平台。在PDA和手机市场上，除WinCE外，著名的PDA嵌入式操作系统还有Palm OS（因出现很早，很有名）、Symbian等，但在WinCE的强劲冲击下，Palm和Symbian来日还能有多长？我院可能是全国高校中唯一一家开设专门的"Windows CE嵌入式操作系统"课程的学校，这主要是基于以下原因：我院本身前面便有Windows程序设计课程，同学学过VC++后再学WinCE,非常方便自然，通过学习WinCE同样也可了解嵌入式软件的一般开发过程，对Linux有惧怕心理的同学也很合适。很显然，嵌入式Linux永远不可能替代WinCE，而且将来谁占份额大还很难讲，毕竟很多人更愿意接受MS的平台，就像各国政府都在大力推LINUX已好长时间，但您能看到几个在PC机上真正使用LINUX的用户？据我观察,目前在嵌入式平台上,LINUX是叫得最响,但还是WinCE实际用得更多.嵌入式LINUX可能更多地是一些有长远产品计划的公司,为降低成本而进行长远考虑; 二是微软亚洲研究院对我院WinCE课程的支持计划，我们也很希望将来我院能有同学通过微软的面试去实习。WinCE和多媒体(如MPEG技术)是微软亚洲工程院目前做得较多的项目领域之一,他们很需要精通WinCE的人。<BR><BR>总结关于嵌入式操作系统类课程，若您觉得自己功底较深且能钻研下去，则可去学嵌入式Linux；若您觉得自己VC++功底较好且想短平快地学嵌入式开发，则我院的WinCE课程是最好的选择。<BR><BR>(3) 嵌入式开发的其它相关软件课程<BR><BR>搞嵌入式若能熟悉嵌入式应用的一些主要领域，这样的人更受企业欢迎。主要的相关领域包括：<BR>A、数字图像压缩技术：这是嵌入式最重要最热门的应用领域之一，主要是应掌握MPEG编解码算法和技术，如DVD、MP3、PDA、高精电视、机顶盒等都涉及MPEG高速解码问题。为此，我院已预订了一位能开设数字图像处理课程的博士。<BR>B、通信协议及编程技术：这包括传统的TCP/IP协议和热门的无线通信协议。首先，大多数嵌入式设备都要连入局域网或Internet，所以首先应掌握TCP/IP协议及其编程，这是需首要掌握的基本技术；其次，无线通信是目前的大趋势，所以掌握无线通信协议及编程也是是很重要的。无结通信协议包括无线局域网通信协议802.11系列，Bluetooth，以及移动通信（如GPRS、GSM、CDMA等）。<BR>C、网络与信息安全技术：如加密技术，数字证书CA等。我院有这方面的选修课。<BR>D、DSP技术：DSP是Digital Signal Process数字信号处理的意思，DSP处理器通过硬件实现数字信号处理算法，如高速数据采集、压缩、解压缩、通信等。数字信号处理是电子、通信等硬件专业的课程，对于搞软件的人若能了解一下最好。目前DSP人才较缺。如果有信号与系统、数字信号处理等课程基础，对于学习MPEG编解码原理会有很大帮助。<BR><BR>（4）嵌入式开发的相关硬件基础<BR><BR>对于软件工程专业的学生，从事嵌入式软件开发，像数字电路、计算机组成原理、嵌入式微处理器结构等硬件课程是较重要的。另外，汇编语言、C/C++、数据结构和算法、特别是操作系统等软件基础课也是十分重要的。我们的主要目地是能看懂硬件工作原理，但重点应是在嵌入式软件，特别操作系统级软件，那将是我们的优势。<BR>我们的研究生里有些是学电子、通信类专业过来的，有较好的模拟电路和单片机基础，学嵌入式非常合适。嵌入式本身就是从单片机发展过来的，只是单片机不带OS，而现在很多嵌入式应用越来越复杂，以至不得不引入嵌入式操作系统。另外，为追求更高速的信号处理速度，现在在一些速度要求较高的场合，有不少公司是将一些DSP算法，如MPEG压缩解压缩算法等用硬件来实现，这就涉及到HDL数字电路设计技术及其FPGA/IP核实现技术，这方面的人目前市场上也很缺。<BR><BR>(5) 题外话<BR>另外，能写驱动程序的人目前是非常紧缺的（驱动程序也可归于嵌入式范畴），包括桌面Windows中的DDK开发环境和WDM驱动程序。公司每时每刻都要推出新产品，每一个新产品出来了，要能被操作系统所使用，是必须写驱动程序的。写驱动程序就必须掌握操作系统(如Windows或Linux)的内部工作原理，还涉及到少量硬件知识，难度较大，所以这方面的人很难找。想成为高手的同学，也可从驱动程序方面获得突破。我可说一下自己的经历，三年前我曾短暂地在一家公司写过WinCE驱动程序（正是因为知道这方面的人紧缺，所以才要做这方面的事），尽管那以前从未做过驱动程序，应聘那个职位时正是看准了公司是很难招聘到这方面的人，既然都找不到人，驱动还得有人做，这正是可能有机会切入这一领域的大好机会。面试时大讲自己写过多少万行汇编程序，对计算机工作原理如何清楚，简历中又写着我曾阅读完两本关于Windows Driver Model的两本英文原版书，写过几个小型的驱动程序练习程序（其实根本没写过，我们的同学将来千万不要像我这样，早练就些过硬功夫，就不至于沦落到我这等地步，就不用像我那样去“欺骗”公司了，我这是一个典型的反面教材），居然一切都PASS（当然最重要的是笔试和面试问题还说得过去），这只能说明这一领域找人的困难程度。公司本就未指望找到搞过驱动的人，找个有相关基础的人就算不错了。做了以后，发现也并不是怎样难的。其实搞驱动程序的工作是很舒服的，搞完一个版本就会空一段时间，只有等公司新的芯片推出或新的OS出现后，才需要再去开发新一版驱动，那时有将近一个月时间空闲着在等WinCE .NET Beta版推出，准备将驱动程序升级到CE .NET上，现在在软件学院工作整日忙，无限怀念那段悠闲时光。<BR><BR>很巧合，最近本人无意中再次体会到了嵌入式的迷人之处。上周我那用了3年的手机终于不能WORK了。此次更新，除要求有手机常见功能外，最好有MP3功能（现在很多英语听力都有MP3文件），最好有英汉词典，最好还能读WORD文档。最后选了个满足以上条件的最便宜的手机DOPOD 515（斩了我2.2K，但想想这也算自己对嵌入式事业的支持，这样便也想开了），算得上最低档的智能手机了。回来一查，手机的about显示，本手机Processor是ARM，其OS是MS Smartphone（即WinCE .NET 4.2），这么巧合，简直可做为学习嵌入式课程的产品案例了（等我们的WinCE课程开得有声有色后，希望能从微软研究院搞些Smartphone来开发开发）。有OS的手机果然了得，金山词霸、WORD、EXCEL、REGEDIT等居然都有smartphone版的，PC上的MP3、DOC等居然在download时都可被自动转换成smartphone格式，真是爽。完全可用Windows CE自己开发一些需要的程序download到自己的手机上。现在市面销售PDA智能手机火爆，MS总是财源滚滚。但我已发现国产的ARM+LINUX手机出现在市面上，价格只1.2K。<BR><BR>在GOOGLE网上能搜索太多的关于嵌入式系统的讨论了，我刚发现一个<A href="http://www.embyte.com/" target=_blank><FONT color=#002c99>http://www.embyte.com</FONT></A>非常不错，有很多有经验者谈自己的体会,投入到其中的论坛中，你会切身感到嵌入式学习的热潮。<BR><BR>要么走ARM+WinCE，要么走ARM+LINUX，要么走ARM+VXWORKS。每个搞嵌入式的人都可选一条路，条条大路通罗马。<BR><BR>声明：以上对嵌入式的解释估计有错，任课教师最有权威性，一切以任课教师所讲为准。<BR>三、关于游戏软件方向　&nbsp;<FONT class=smalltext><FONT color=#ff0000> </FONT></FONT>
<P><FONT size=4>将游戏软件人才称为数字媒体软件人才可能更好听些，包括游戏软件策划（最缺游戏策划的人）、游戏软件美术设计、游戏软件程序设计等多方面的人才，对软件学院，游戏软件程序设计当然是最合适的了。<BR><BR>游戏软件人才的确目前很缺，听说很多游戏软件公司苦于没新人才补充，特别是没有高手补充，不得不相互挖人才，以至将游戏软件人才身价越抬越高。网上说日本教育部刚刚批准成立了日本第一家专门培养四年制游戏软件人才的本科大学。其实国内很多大学，特别是软件学院都有搞游戏软件人才的设想，但目前很少有做成的，主要原因是找不到能上游戏软件课的教师，听说有个学校只能花很大的价钱从Korea找老师来上课，果真缺到此等地步？<BR><BR>已有很多青少年沉湎于网游而颓废的实例，好在还不至于上升到制造精神鸦片的高度，所以开发游戏软件的人也不必每日惭悔（但开发儿童益智类游戏软件的人是不需惭悔的），如果想想这是为发展民族软件产业做贡献，那反倒是一件有意义的事情了。不过听一家游戏软件公司的老板讲，搞游戏软件开发是非常辛苦的。<BR><BR>若想自己创业，搞搞游戏软件是不错的主意。现在网上网站或公司都在收购游戏软件（特别是手机游戏软件，因为手机游戏用户可选从网站上download到手机上，不像网游那么复杂），按download次数分成或一次性收购的都有。我们的同学在校期间是否也可发点小财？搞得好，说不定可卖到国外网站，直接挣$$$呢。<BR><BR>大致游戏分成以下几类：<BR><BR>（1） PC类游戏，包括单机和网游。这类游戏开发平台基本上都是基于VC++和DitrectX（如DirectShow，DirectDraw，D3D等，DirectX资料可直接到MS网站上查）。DirectX和OpenGL是两个主要的图形标准，OpenGL跨平台（Unix/Windows上都可跑），尽管很多搞研究的人对OpenGL赞不绝口，将DirectX骂得一文不值，但事实是，在Windows平台上，DirectX是最快最方便的，所以在Windows平台上的游戏还是DirectX当家。<BR><BR>（2） 手机游戏：目前手机游戏主要开发平台有两类：<BR>第一类手机游戏是J2ME平台(Java 2 Micro Edition)，J2ME本是为嵌入式平台设计的Java，但由于Java生来就需要Java虚拟机(JVM)来解释，所以在嵌入式产品很少用J2ME（太慢太耗内存）。但在手机游戏中J2ME倒有用武之地，我想这可能主要是Java可跨OS平台的原因，因为手机的OS是千奇百怪的。我对J2ME完全外行，但上次听Square Enix公司的人说，J2ME与我们同学学过的J2EE还是有较大差别的。据我所知，目前手机中用的较多的是KJava语言，KJava是运行在一种叫K Java Virtual Machine的解释器上(K JVM是SUN早期为演示J2ME在嵌入式系统应用而开发的一个虚拟机)，所以将在K JVM上运行的J2ME叫KJava。尽管SUN说今后不保证支持K JVM，将开发新的更高性能的J2ME虚拟机取而代之，但由于KJava出现较早，很多早期的手机游戏软件都将K JVM假想成J2ME虚拟机的标准了，所以目前有大量的KJava手机游戏软件存在，而且还在用KJava继续开发。特别是日本的手机游戏软件由于开发较早（像叫什么docomi的日本最大的电信运营商手机游戏搞得很火），多是基于KJava的。所以目前市场上在招聘手机游戏软件人才时，很多要求掌握KJava。有关J2ME请到Sun的网站上找资料。<BR>另一类手机游戏是BREW平台，BREW是美国高通公司(Qualcomm，CDMA核心技术都是该公司开发的，有无数移动通信技术专利)发明的，据说可编译成二进制代码，那当然快了。主要的开发语言是C/C++。但迫于被指责为较封闭的压力，目前Qualcomm已推出BREW平台上的J2ME虚拟机（但可想像那将是怎样慢的速度）。Qualcomm搞定了很多手机制造商签定BREW授权许可协议，最狠的是Qualcomm与中国联通绑在一起大堆基于BREW的手机游戏，所以有些公司招聘时要求掌握BREW也就不奇怪了。<BR><BR>去年00级2+2班毕业答辩时，有一位同学讲的是在公司做的KJava游戏（那是一家日本游戏软件公司），还一位同学讲的是另一家公司做的BREW游戏，看来不同的公司有不同的选择。将来谁会更火，我估计随着手机硬件资源的不断提高，不会在乎一个JVM的开销，J2ME应更有前途，毕竟它是更开放的。<BR><BR>（3） 专用游戏机：如电视游戏，XBOX等，我不太了解，不过这些游戏也太偏了。<BR>同学可看服务器\\10.60.36.148\public files\Intern Documents (学生实习资料)\大宇资讯股份有限公司，该文件夹中有著名游戏公司发来的对网游和手机游戏的人才需求，很有代表性。从中我们可看出，游戏公司对人才的需求主要是以下技术：<BR>（1） 计算机图形学，特别是3D编程与算法，包括DirectX或OpenGL。开发平台是VC++/DIRECTX或KJAVA。<BR>（2） 公司说，手机游戏因手机资源有限，必须对图像进行压缩，所以若有一些图像压缩算法知识比较好。像若能有MPEG压缩算法较好，手机上采用的是比MPEG压缩得更狠的一些特殊算法，但触类旁通。<BR>（3） TCP/IP Socket编程是搞网游开发的人必须掌握的。<BR>（4） 人工智能知识：复杂游戏可能需要一些AI算法。<BR>（5） 网络与信息安全知识：网游要防外挂。<BR><BR>该公司的网游服务器是基于Linux平台的，所以还提出了对游戏服务器端软件工程师的技术需求（精通MSSQL、ORACLE、MYSQL等数据库，精通Linux Programming，特别是Socket编程）。还有对维护游戏网站人才需求（ASP .NET和数据库）。详细请同学自己看服务器。注意一条，最好有自己的游戏软件作品，若您应聘时能带一个DirectX作品，那将有多强的竞争力，所以最重要的是现在就要行动，实践，实践，再实践。<BR><BR>关于游戏方向，虽然我院一直想做，但可惜暂时还找不到这方面的师资，不过，我们计划与这方面的有名公司合作，让公司的技术人员来上课（最好能在我院搞个开发基地），有可能谈成的。对游戏软件开发有兴趣的同学，在目前情况下，可自已钻研一下相关知识（比方，可考虑将DirectX作为Windows程序设计课的课程项目），将来可拿出自己的作品来，同样可找到这方面的好工作，我们00，01级同学都有这样的例子。目前，会VC++的人本来就不多（现在很多年轻人都去追时髦的Dot Net来了，VC++因难学，所以人就少），会DirectX的人就更少了，这正是我们的机会。<BR></FONT></P></TD></TR></TBODY></TABLE><img src ="http://www.cppblog.com/yunduan5158/aggbug/1301.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/yunduan5158/" target="_blank">Merlin</a> 2005-11-25 12:00 <a href="http://www.cppblog.com/yunduan5158/archive/2005/11/25/1301.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于软件设计师考试</title><link>http://www.cppblog.com/yunduan5158/archive/2005/11/06/958.html</link><dc:creator>Merlin</dc:creator><author>Merlin</author><pubDate>Sun, 06 Nov 2005 10:53:00 GMT</pubDate><guid>http://www.cppblog.com/yunduan5158/archive/2005/11/06/958.html</guid><wfw:comment>http://www.cppblog.com/yunduan5158/comments/958.html</wfw:comment><comments>http://www.cppblog.com/yunduan5158/archive/2005/11/06/958.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cppblog.com/yunduan5158/comments/commentRss/958.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/yunduan5158/services/trackbacks/958.html</trackback:ping><description><![CDATA[<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 复习了一个月，终于昨天考试了，有些心得，说一下：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 先说说上午的考试吧，上午考的是客观题，全是选择题，感觉和历年的题没什么区别，主要是考一些概念，我觉得没什么意思，只要是好好看看书，做做历年的考试题就没有问题的能过，要的就是记忆力好，不管你是不是学计算机的，都能过，还不如把它取消了。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我觉得有意义的是下午的考试，那可不是谁都能过的，<FONT color=#ff1493>我觉得你要是没有把计算机的课学完，我建议你还是不要考，因为过的机会真的很小。</FONT>它不是你能复习到的，很多题真的让你摸不到头脑。就像前几道题，有的根本就不知道什么意思，郁闷阿，不过让我感觉还可以的就是后两道程序题，我才发现读别人的程序是那么的难，以前我看程序重来没有细究过，重来没有一句一句的读，直到昨天，我把考试的那个程序一句一句的读，看这条语句执行后会有什么结果，发现程序真的是要一句句的读的！<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;前些天听我们的一位老师说：程序和人们说话一样，同样是表达思想的，我们怎么说话，就怎么写程序。当时我真的是没有什么感觉，不过现在我有些明白了，你读别人的程序，就像在和一个人交流一样，你要听明白别人的逻辑，这样你才能明白别人的程序，读一个好程序，就像读一篇好文章一样啊，<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以后我要多读一些好的程序，要经常写程序，我现在有些更加喜欢程序了！呵呵！</P><img src ="http://www.cppblog.com/yunduan5158/aggbug/958.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/yunduan5158/" target="_blank">Merlin</a> 2005-11-06 18:53 <a href="http://www.cppblog.com/yunduan5158/archive/2005/11/06/958.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>