为什么常识

想搞软件开发的学生毕业前应该看什么书,怎样看书才算一个完善的成长体系?

生活词典 changshi.cidiancn.com

阅读: 123

想搞软件开发的学生毕业前应该看什么书,怎样看书才算一个完善的成长体系?确切的说,是想知道如何建立一个完善的成长体系,比如想搞C/C++,除了学好这门外,数据库和Linux要掌握到什么程度,三者之间是个什么样的关系?然后学android又是什么样的体系?除了IT方面的书,又有哪些书能让人成长成一个优秀的软件工程师呢?15 个答案

答案 1:

首先大学期间你要踏踏实实学好基础课,主要集中在数学(离散数学),语言(基础语言,至少有一种),和软件工程方面的课程,如果时间充足的话可以多看看算法类的书籍,像《算法导论》和《TAOCP》这类算法书籍很多不受重视,像英语水平也被大部分程序员忽视了,但是很大程度上决定了你之后能够做的高度,程序员的成长受算法知识和英语的限制是最严重的。另外你一定要至少有一个语言和一个平台学的很扎实,像C++或者Java,像Windows或者Linux,个人建议是Java+Linux这个搭配比较好,Java程序员非常好转型,而且即便混的再惨至少还有人要,Linux在非常锻炼一个程序员的水平。大学期间还有两件事情一定要做,一个是至少参与一个开源项目,非常锻炼代码的阅读能力和协作能力,一个是至少自己写点什么,或大或小的项目总要有,课本上的东西和实际要做的还是有明显的差距。还有就是可以尝试学一些比较先锋的知识,比如做iOS或者Android的开发,要知道现在这两个方面的工资远远超过了别的方向,而且创业的机会也非常大。还可以学一些相对还是不大众的语言,像Ruby,像Scala,像COBOL,这类偏门有的时候更容易找到工作,而且薪资也机会也不低。如果你不是想做一辈子的普通程序员的话,稍微看看《人月神话》或者《代码大全》之类能够明显提升工程水平的书,在多留心一下人事方面和管理方面的知识,做几年就混到稍高一点的层次也是需要的。说完这些我再回答你的问题:比如想搞C/C++,除了学好这门外,数据库和Linux要掌握到什么程度,三者之间是个什么样的关系?没什么明确联系,只是三者可以和到一起干活,除非你想做纯粹数据库或者Linux底层的工程师,否则这两个基本浅尝辄止就好,数据库找本-L的书看看,Linux装个系统自己慢慢钻研,有问题先google如果找不到就上论坛上问。然后学android又是什么样的体系?先学Java,然后看Google的官方文档和范例就好了。除了IT方面的书,又有哪些书能让人成长成一个优秀的软件工程师呢?尽可能读书就绝对不是坏事,无论任何一个方面的书都会帮助你在-的更好,更别提一个码农了。另外开个玩笑,看看治疗或者预防颈椎增生的书,大部分程序员的通病。最后一定要耐得住寂寞,程序员是个及其劳心的工作。

答案 2:

英语,数学,编程,三方面齐头并进。从哪入门不重要,重要的多修上层功夫,那就是思想,还有学无止境。这些足够你受用一生了!介意选择一门好用,高效和语言入门:如C#,或java掌握基本语法后,一边深入底层,一边修思维;思维就是指:数学,算法,数据结构,设计模式。另外,不要在语言上纠结太多,一门深入后,再学其它的语言就很快了,只要你想。如果时间充足,可以适当补充一些平面构成,配色的知识,再就是物理,别忘了高中物理,接触一些大学物理知识(其实跟高中差别也不大),这样你以后如果想开发个产品,无论游戏,还是网站,都会受用。PS:今天我过来多被充一下,呵呵,同学,加油!具体看什么书:微博上,论坛上请教一些大牛,技术一流的-多数人品也不错,基本上会为你推荐的。刚开始如果不想快速开发产品的话,尽量不使用什么框架。

答案 3:

设计模式 可以看看《大话设计模式》和《研磨设计模式》除了IT方面的,你还可以看看《项目百态:深入理解软件项目行为模式》《高效程序员的45个习惯》《番茄工作法》等等吧

答案 4:

《深入理解计算机系统(修订版)》, 非常练内功的

答案 5:

先选择你的方向如果你想做:互联网应用首选p-p企业-应用.net银行证劵java手机开发会是进入这些领域的快捷方式,缺口较大,如果你学到一定程度,会被优先录取如果大众点的android(一定要了解webservice)如果你功底比较好直接想IXX系列进军,学习Object C

答案 6:

另补充:计算机程序的构造和解释深入理解计算机系统

答案 7:

至少一门编程语言(C/pyt-on/java等)算法一些CS基础(深入理解计算机系统,现代操作系统,计算机程序的构造和解释这些书都很好)然后英语和数学很重要,你会发现很多资料都没有中文版,即使有中文版也翻译得让人摸不着头脑,所以,从现在开始看英文资料吧。数学是计算机的基础,虽然作为一个码农的话不需要接触多少有关数学的知识,但是人往高处走,你总不希望自己一辈子是码农吧?离散数学,线性代数,概率统计等等都是基础。

答案 8:

关于软件开发人员的知识体系,其实不用问,大学计算机专业安排的课程就是一个完善的体系。但为什么不少同学各课程都学的很认真,成绩也不错,但到毕业时还是不知道自己能做什么,不清楚所学的课程有什么用,这关键是缺乏实践,没有做过一个完整的项目,不能够把所学的知识转化为自身的技术。本来毕业设计是弥补以上不足的一个很重要的环节,但现在的毕业设计已是鸡肋。因此,现在先不用考虑自己的发展方向,不用考虑自己的知识体系是否完整,先选择P-p+mysql或.net平台开发2个网站再说。当有过2个项目的经验后,你才能理解软件开发需要什么,才有能力选择自己的方向。在z-i-u/question...中,我对计算机初学者也提了一些建议,供参考。

答案 9:

对于初学者,我并不建议过早过多的买第三方编写的程序书,可以买官方编写的程序入门书,还要先了解编程语言的分类、了解电脑历史,我建议可以到微软的MSDN网站学习,只要有live、-ot-il的账号就可以通过微软的专家所讲的课进行学习,那有非常重要的、基础的知识,可以供人们学习,另外,介绍一个微软开发的一个学习性的开发工具:-all basic,可以进行基础练习,在微软的网站上也有教程

答案 10:

编程珠玑这本书很不错

答案 11:

先....做点准备 进入某个公司 按照你喜欢的方向 然后你就会发现.. 操作系统,数据结构,数据库........这些才是根本

答案 12:

如果想进android,学java. 企业及应用,网络开发,android开发.很多领域都有应用.只要不是紧跟微软的脚步, 那么一般的应用都会部署到linux.先学会常用的命令.能够在linux上把服务跑起来,部署上,其他的可以慢慢积累.各个数据库在使用和优化上还是有很多差别的.mysql和oracle应用都很广.资料也有很多.选择一个感兴趣的方向,自己想一个需求,自己做一个产品.在搭框架和实现逻辑的过程中.多想多看资料.不要太在意网上对某种框架技术或者某个应用实现产品的评价.是什么标准啊,符合什么什么思想啊.最终的结论,需要你在实践之后自己来下. 积累是没有捷径可走的. 任何一门成熟的语言也都有广阔的空间.

答案 13:

最重要的还是安心学习学校的课程,在这个基础上尽可能学点别的,也不要仅限于计算机方面。

答案 14:

只用看一本书--------《深入理解计算机系统》,然后对于不懂的内容,去看别的更详细的书搞懂,等你把这本书都搞懂了。那么-的。。。

答案 15:

adfasdfasdf

分享常识给亲友.

下一篇:公交车的下客门设置在车体的中间位置? 下一篇 【方向键 ( → )下一篇】

上一篇:新浪微博有没有可能玩完或者像开心一样没落? 上一篇 【方向键 ( ← )上一篇】