• 45.00 KB
  • 2022-08-13 发布

大学计算机软件专业生应该学什么

  • 9页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
大学计算机软件专业生应该学什么2006-06-2909:26:41 来源:天极网 网友评论11条进入论坛收到一封mail,是一个计算机系大三学生写来的,想听听我的建议,面临将要毕业的关口,应该学点什么才能对将来有用。随后又有不少朋友通过mail,im等等方式询问我对这个问题的看法。我本来不是计算机专业出身,也并非大师之类的人物,本来不敢好为人师。不过,既然作了这个行业,也算有点心得,被问到,也就说点心得和建议,对与不对,各位看官指教。盖个体情况差距极大,本文是个人观点,也就姑且一听,有用则用,当然,这世上怕也没有所谓万全之策的。1、你是否真的喜欢计算机我是真的喜欢的。如果让我选择发了大财做什么,我仍然继续玩计算机,只不过可以更自由自在的玩喜欢的东西。如果你也喜欢,喜欢学新的东西,喜欢复杂而精巧的设计,喜欢工程之美,那就适合走技术道路。如果不是这样,这条路比较辛苦,还请三思。其实产业里相关的领域也大有可为,比如说写技术相关的趋势作者,鲜有优秀的。目前除了互联网周刊的陈琼同学,我还没看到给商业媒体写技术相关的写手有几个写的好的,甚至往往都有致命的本质错误。诸如此类的周边领域很多,都有不错的机会,不一一列举。2、假如1你回答的是喜欢,那么你需要学习很多东西。我认为不可缺少的东西包括:*基础理论*算法*C语言*C++或java,如果精通C,可以舍弃C++,学java\n*unix*正则表达式*任何一种脚本语言(目前推荐python)依次讲解为什么这么说*基础理论和算法20年来,应用层面急速发展,令人眼花撩乱,而实际上,大幕之后的东西,从1972年C和unix诞生以来就没有过本质的变化。在操作系统,数据库理论,编译原理,信息管理系统理论之类,都是*相对*静止的。虽然其中有类似于微内核还是整体内核之类的理论之争,但是几乎不影响格局,大可以放心去学。学这些东西唯一的问题是理论枯燥,最好是结合实践,做一些应用,学一些理论,张弛有度,这样总能保证好奇心旺盛。学这些东西的目的是为了真正的了解计算机。不真正了解一个东西,很难举一反三,很难作到融汇贯通。其实高校教的这些东西都极有价值,只不过是在缺乏实践的基础上填鸭,效果往往变成了应付考试。*C语言我对C语言的认识如下:(1)是对计算机的最小抽象(2)是一种操作内存的语言。基于这2个认识,C是必须要学好的。写程序,就是让计算机按照人的思想去干活的过程,C提供了计算机的抽象模型,让我们控制计算机变的简单,而程序设计中,内存的使用是最为重要的。(记得汇编里面对寄存器的应用多么重要吗?)。操作内存是程序员的基本功,虽然现在自动内存管理和垃圾回收技术已经变的日益完善,但学习到优秀的内存使用观念仍然是程序员的必修课。真正掌握了这种观念,看任何语言都不困难了。我总认为,内存就是计算机的七寸命门,懂了这个,也就一通万事通了。\n另外一个理由,就是大部分语言是用C语法做为蓝本的。熟练的C语言基本功会让你未来的学习变的轻松很多。*C++和JAVA鉴于面向对象理论如此重要,我们必须要学好一种操作对象的语言。如同C是操作内存的语言,C++和JAVA就是操作对象的语言。C++我曾经认为是很好的语言,但是过于复杂,变化多端,再加上模版的语法和传统的C风格差距颇大,已经越来越不适合成为一种入门语言。JAVA变的更加值得推荐。JAVA对于对象的控制能力,远远高于C++,学习成本低,且能达到效果,是更加值得选择的。C++变的原来越尴尬,在开发底层系统的时候,不如C来得快捷和迅速,在开发高级应用的时候,比不上JAVA的开发效率。所以说,如果精通C,甚至可以跳过C++不学。*UNIXUNIX或是linux,这是计算机历史上最宝贵的财富。宝贵说的不仅仅是其高效的系统和良好的源代码,更指其哲学。一个几十年来,几乎没有修改过技术架构的系统,确实令人惊讶,相对于windows系统,每3年就会将过去的技术完全推倒重来,unix世界看起来似乎恒定不变。UNIX哲学对于*nix的系统走向影响巨大。以最基本的“简单就是美”来说,这条原则的重要性往往被忽视,人们喜欢开发复杂的,大而全的系统,最后结果往往很悲惨。unix则是提供了一系列的功能单一的小程序,每个程序都有特定的用途,然后利用管道等等方式将这些小程序结合起来使用。每个程序都简单,而,越简单的结构越稳定,在这样的思想上建立起来的系统也会具有极佳的稳定性。\n理解了UNIX基本哲学,就能理解很多优秀的开源产品设计思路。比如说,mysql为什么提供的功能如此简陋,还得到了极其广泛的应用?Apache为何稳定,php为何速度如此之快等等。这是内力,悟到了,用什么东西都无往不利。*正则表达式这个东西看起来好像天书,但怎么强调重要都不算过分。去看看程序员们每天做什么工作,往往会惊讶的发现,其实大部分时间都是在处理字符串。无怪乎一个高手感慨,应用软件最重要的就是两件事,字符串处理和数据库。正则表达式无疑是处理字符串最强大的武器。利用这个,往往可以实现一些看起来不可能完成的任务。什么时候开始学习正则表达式合适?当你要处理字符串的时候,放弃过去那种,从第几个字符进行substr到多少个字符之类的麻烦的方法,直接尝试用正则表达式代替。等熟悉了正则表达式,你会发现unix更可爱了,无论是grep还是vi或是apache,正则表达式无处不在。*任何一种脚本语言脚本语言是最伟大的发明之一。这种简单,快捷,入门成本低的语言,虽然效率不算高,但是确实能做很多事。无论是辅助工作,做一些自动化的工作,还是完成大型任务,都有用武之地。比如,用脚本去定时抓取某个页面,解析内容,放在相应的位置,这种工作用脚本完成比用编译语言完成容易的多。以上几种,是计算机世界中必不可少的几个方面,如果都能掌握了,下面做什么大概就不需要我再多说了。能做的事情太多了。这一套东西学过来,你从一个“专业毕业但不真正理解计算机”的人变成了一个能够和计算机对话的人。这就是所谓的“道”了。从此之后,在”应用”这个层面,应该没有什么东西能难住你了,所谓天下万物皆为兵器,举手投足皆可伤人的境界,已经差不多了。\n普通开发人员与软件工程师的区别http://tech.163.com 2006-06-1509:19:36 来源:JR  网友评论2 条论坛 昨天在公司收到一封内部邮件,邮件中有个很有意思的PPT,节选一部分放出来普通开发人员与软件工程师的区别:对比1:A、普通开发人员:掌握了计算机基础知识;熟悉计算机资源,学会了编程语言,喜欢卖弄技巧,喜欢比较编程语言的优劣;以能编出某种特殊功能的程序为荣,不懂原理,不求甚解;喜欢个人开发,不重视文档编写;B、软件工程师:计算机基础知识扎实;掌握两门以上编程语言,很少停留在表面比较编程语言的优劣;以编写出用户满意的高质量软件为荣。懂得个人开发和团队开发的利弊,文档规范,齐全。对比2:A、普通开发人员:只重视功能的实现,不重进度和质量的把握。\n怕被“管”得太死,动不动就说限制了思路,没有发挥空间。不喜欢做测试工作,认为测试低人一等,从来没有做过测试工作。只根据自己的爱好学习技术;B、软件工程师:懂得在进度、质量(功能)和成本之间平衡。懂得规范的目的在于重用,重用有利于提高效率和集中精力创新。认为测试工作比编码更具挑战性,自己经常为同伴的代码做白盒测试。根据企业项目的需求和自己发展目标的共同点选择学习内容和方向;对比3:A、普通开发人员:认为别人程序很差,不喜欢看别人的代码;总认为自己比业务专家还更理解需求。项目开始时,喜欢说:“没问题,SOEASY”。项目大大延期时,喜欢说:“设计太烂,没法编程”。B、软件工程师:喜欢为同事走查代码,并以此获得学习他人优点的机会;懂得自己只是可能比业务专家更懂编程。项目开始时,喜欢问:“那是什么?这是为什么?”。\n项目大大延期时,喜欢说:“我为什么就没想到…”。一位老工程师给年轻人的“十大忠告”http://tech.163.com 2006-06-1209:20:31 来源:JR  网友评论0 条论坛 1、好好规划自己的路,不要跟着感觉走;根据个人的理想来安排自己的生活,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,痛快一些,那么就需要慎重安排自己的的轨迹,从一个行业入手逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会以后,钱根本不是问题,频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手。2、可以做技术的,切不可沉湎于技术;千万不可一门心思钻营技术,给自己造成很多压力,如果你的心思全部放在上面那么注定你将成为孔乙己一类的人物,适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老,还是个工程师。3、不要去做技术高手,只去做综合素质高手;在企业里工作,我们时常瞧不起某人,说他“什么都不懂,凭啥拿那么多钱,凭啥升官,”这是普遍的、典型的工程师的迂腐之言,你想想,老板搞经营那么多年难道见识不如你这个新兵?人家或许善于管理,善于领会老板意图,善于部门协调等等等,因此务必培养自己多方面的能力,包括,管理,亲和力,公关能力等要成为最综合素质的高手则前途无量,技术以外的技能才是更重要的本事,从古到今,一律如此。4、多交“三教九流”的朋友;\n不要只和工程师交往,认为有共同语言,其实更重要的是和其他类人物交往,如果你希望有朝一日当老板或高层管理者,那么你整日面对的就是这些人。了解他们的经历,思维习惯,爱好,学习他处理问题的模式,了解社会各个角落的现象和问题,这是以后发展的巨大本钱,没有这些以后就会笨手笨脚,跌跌撞撞,遇到重重困难,交不少学费的成功的概率大大降低。5、知识涉猎不仅要专,还一定要广;多看看其他方面的书,金融,财会,进出口,税务,法律等等为以后做一些积累的以后的用处会更大,会少交许多的学费。6、抓住时机向技术管理或市场销售方面转变;要想有前途就不能一直搞开发,适当时候要转变为管理和或销售的前途会更大,以前搞技术也没有白搞,以后还用得着,搞管理可以培养自己的领导能力,搞销售可以培养自己的市场概念和思维,同时为自己以后发展积累庞大的人脉,应该说这才是前途的真正支柱。7、逐渐克服自己的心理弱点和性格缺陷;多疑,敏感,犹豫不决,胆怯,多虑,这些工程师普遍存在的性格弱点必须改变,很难吗,只在床上想一想当然不可能改变,去帮朋友守一个月地摊,包准有效果,去实践,而不要只想,不克服这些缺点,一切不可能,甚至连项目经理都当不好,?尽管你可能技术不错。8、工作的同时要为以后做准备,建立自己的工作的环境;及早为自己配置一个工作环境,装备电脑,模拟器,编程器等,业余时间可以接点活,一方面接触市场,培养市场感觉,同时也积累资金,更重要的是准备自己的产品,咱搞技术的没有钱,只有技术,技术的代表不是学历和证书,而是产品,拿出像样的产品,就可以技术转让或与人合作搞企业,先把东西准备好,等待机会,否则,有了机会也抓不住。9、要学会善于推销自己;\n不仅要干,还要能说,能写,善于利用一切机会推销自己,树立自己的品牌形象,要创造条件让别了解自己,不然老板怎么知道你能干,外面的投资人怎么相信你,提早把自己推销出去,机会自然会来找你,搞个个人主页是个好主意,特别是培养自己在行业的名气,有了名气,高薪机会自不在话下,更重要的是有合作的机会。10、该出手时便出手。永远不可能有百分之百把握,条件差不多就要大胆去干,去闯出自己的事业,不要犹豫,不要彷徨,干了不一定成功,但至少为下一次冲击积累了经验,不干永远没出息,而且要干成必然要经历失败,不经历风雨,怎么见彩虹,没有人能随随便便成功。

相关文档