文档章节

软件工程师读了这7本计算机书,分分钟变大师!

 上嵌信息科技
发布于 2016/05/19 17:29
字数 1246
阅读 3
收藏 0
点赞 2
评论 0

正如编程的趋势和各种语言,编程书也在不断跟新换代。不过以下的7本经典书籍经受了时间的考验。有些书比其他的书面世的晚,但是这些书为新人还是有经验的程序员都提供了深入的见解。

软件工程师应该读的7本计算机书

ENTER TITLE

1.《人月神话:软件工程论文集》(周年第二版)作者:Frederick Brooks,Jr.

这是一本比较古老的书(它的第一版诞生于1975年!),本书在我的书架上还保存着一本,因为它所传达的理念到现在仍然适用。

复杂的项目管理仍然是一项很大的挑战,本书不仅适用于软件工程,在其他技术领域也同样适用,比如微机处理器设计。事实上本书在很多编程畅销书排行榜上稳居前列,同时很多大学也在用它作为教材使用。

2.《计算机程序设计艺术》作者:Donald Knuth

理解为什么现代计算机程序代码都是以这样一种形式存在是每一个计算机科学家都应该学习的东西。这一整套书详细的阐述了这方面的原因,它的信息量太大,以至于无法在一卷中覆盖所有信息。因为Knuth在计算机程序设计方面具有至关重要的作用,所以在许多计算机课程中会涉及到他的理论。更重要的是,Kunth的理论影响了几乎所有的现代技术领域,因为他帮助开发的许多算法能用于其他领域的研究,包括数据科学领域。

3.《算法导论》第三版作者:Thomas Cormen,Charles Leiserson,Ronald Rivest,Clifford Stein

许多以团队所编写的书会缺乏专注点而且会包含相互矛盾的观点,但本书却没有这个问题。相反,本书详细和全面的阐述了将算法应用于计算机科学和其他以数学为基础的技术中的观点。它对于算法的严谨性能够让你很好的理解为何一种算法适用于某种特定的方式。

4.《编码:隐匿在计算机软硬件背后的语言》作者:Charles Petzold

许多现代的程序员并不完全理解他们编写的代码与底层硬件之间的联系。这是因为编译器、类库和其他工具将弱化了这层联系使它变得不可见。但是那些设计语言、编译器、类库和其他工具的人通常对于代码和底层硬件的关系有很好的理解,因为他们已经代劳了理解代码的工作。这本书的目的就是用于阐述这层联系。

5.《修改代码的艺术》作者:Michael Feathers

在现实世界中,许多开发者在更新其他人所写代码花的时间远远超过编写新代码所花的时间。不幸的是,大多数学校和书籍的切入点都是从开发者编写新代码开始的。这本书可以帮助开发人员在旧代码中产生更好的应用程序。本书还更进一步的帮助开发者在修改代码时得到更深层的见解,通过这种方式能够让开发者再编写新代码时写出很酷的程序。

6.《人件集:人性化的软件开发》(第三版)作者:Tom DeMarco,Timothy

我尽量在我的书中解释应用程序在于人,而不在于软件或者是硬件。当一个开发团队过于沉浸于技术时,这个应用程序基本宣告失败了。这本书主要讨论人——关于如何管理团队并充分利用成员的技能来创建能取悦用户的应用程序。

7.《程序员修炼之道》作者:Andrew Hunt,David Thomas

软件工程师应该读的7本计算机书是什么决定了一个程序员成为一名能使代码变成魔法的艺术家,还是平庸的码农?本书阐述了其中的差别。更重要的是,本书提供了大量实用的编程技巧,来帮你从一个码农转变为软件大师。新鲜和有趣的写作手法,让本书非常易于阅读。

【转角ITman】不迷茫,程序员,在路上。喜马拉雅FM(上嵌电台)为IT准职业人,IT职场新鲜人打造的职场访谈类节目,分享职场经验,倾听职场声音,关注成长话题。分析IT职业生涯,开启精彩职业生活。欢迎识别二维码,关注上嵌电台一起成长~~~#上嵌# http:// http://www.shangqian.com.cn/

                                                                 

 

 

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 12
码字总数 10836
作品 0
徐汇
程序员考试的等级如何划分,和程序员考试的级别

程序员考试,全称是计算机技术与软件专业技术资格考试,分为程序员 、软件设计师、系统分析师, 也就相对于初级程序员、中级程序员和高级程序员考试。 考试不设学历与资历条件,也不论年龄和...

我的程序人生 ⋅ 2017/12/29 ⋅ 0

写给《网规》

本人于2013年下半年以陕西第一全国前50名(51、48、50)通过“网络规划设计师”的考试,在此感谢我的两位同事Mr.Zhang和Mr.Li。感谢Mr.Zhang给我提供的《网络规划设计师教程》、《网络规划设...

starshomes ⋅ 2014/01/20 ⋅ 0

美国留学,软件工程专业有哪些好学校?

软件工程专业一直是一个高薪专业,想要申请软件工程专业的同学可以看看美国在该专业都有哪些好学校。 软件工程专业选校分析 建议申请者选校时考虑以下因素,再做决定: (1)该校有没有完整齐全...

米国小米 ⋅ 2017/12/15 ⋅ 0

我的后端开发书架2015

我的后端开发书架2015 自从技术书的书架设定为”床底下“之后,又多了很多买书的空间。中国什么都贵,就是书便宜。 不定期更新,在碎片化的阅读下难免错评。 书架主要针对Java后端开发,书单...

天天顺利 ⋅ 2015/05/05 ⋅ 4

计算机软考证书英文名称全翻译

一、软考的英文名称 经中国外文局审定官方版本,软考英文名称 计算机技术与软件专业技术资格(水平)考试的英文名称为: Qualification Certificate of Computer and Software Technology Pr...

阿尔法胖哥 ⋅ 2013/10/12 ⋅ 0

软件测试必读的七本书

《软件测试的艺术》   软件测试是一个带有创造意味的破坏性施虐过程,也是一个趋向完美与完善的强逻辑过程。其实我的性格是很适合做软件测试的,但其现实固有瓶颈所在,也是我并不会完全选...

程序员客栈 ⋅ 2016/06/18 ⋅ 0

软件测试指南:从入门到精通

所谓:师父领进门,修行靠个人。再好的资源,自身不努力那也是白费。软件测试行业更迭如此迅速,更是如此。分享一篇软件测试的心得,怎么快速入门到精通的思路,非长篇大论,比较精简,各位看...

白一客 ⋅ 2017/04/13 ⋅ 1

读书节最该买的书,我都帮你们挑出来了

点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 过完漫长的冬天,送走了倒春寒,转眼4月也即将过半,我们有那么多的节日要过,对爱读书的真爱粉儿而言,读书节这个大...

异步社区 ⋅ 04/19 ⋅ 0

快来看啊-2008全国软考上海地区资讯!

上海市职业能力考试院文件 沪人考〔2007〕103号 关于印发《上海市2008年度全国计算机技术与软件 专业技术资格(水平)考试考务工作安排》的通知 各有关单位: 根据《2008年度计算机技术与软件...

gaoge ⋅ 2008/08/26 ⋅ 0

这本读者期待的芯片书《手把手教你设计CPU——RISC-V处理器》终于出版!

点击关注异步图书,置顶公众号 每天与你分享IT好书 技术干货 职场知识 点击图片购书 参与文末话题讨论,每日赠送异步图书 ——异步小编 在摩尔定律减缓的今天,一味比拼硬件性能的技术竞赛变...

异步社区 ⋅ 05/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux kernel脉络和主干总结

写在前面 前人常说,对Linux操作系统/内核的理解,是计算机行业从业者的内功,决定了你在技术领域想走多远。但内核的庞大以及学习曲线之陡峭,总让我在学习途中觉得犹如“管中窥豹”。 随着工...

Markz0928 ⋅ 30分钟前 ⋅ 0

在gcc中使用intel风格的内联汇编

很简单,内联汇编使用asm(“.intel_syntax noprefix/n”)声明一下,以后的内联汇编就可以用intel风格了,构建可执行文件时给gcc加上-masm=intel参数。 先写一个小程序测试一下: [cpp] view...

simpower ⋅ 40分钟前 ⋅ 0

NIO 之 ByteBuffer实现原理

相关文章 BIO、NIO、AIO 内部原理分析 NIO 之 Selector实现原理 NIO 之 Channel实现原理 前言 Java NIO 主要由下面3部分组成: Buffer Channel Selector 在传统IO中,流是基于字节的方式进行...

轨迹_ ⋅ 50分钟前 ⋅ 0

Jenkins docker权限问题

环境Ubuntu Server 工具 jenkins-war:2.89.2 报错信息 Cannot connect to the Docker daemon. Is the docker daemon running on this host?Build step 'Execute shell' marked build as fai......

Pulsar-V ⋅ 50分钟前 ⋅ 0

180621-一个简单的时间窗口设计与实现

如何设计一个计数的时间窗口 时间窗口,通常对于一些实时信息展示中用得比较多,比如维持一个五分钟的交易明细时间窗口,就需要记录当前时间,到五分钟之前的所有交易明细,而五分钟之前的数...

小灰灰Blog ⋅ 今天 ⋅ 0

Android之Dalvik、ART、JIT、AOT

Android之Dalvik、ART、JIT、AOT 本文内容:Dalvik、ART、JIT、AOT之间关系 本文定位:知识记录 学习过程记录,加深理解,提升文字组合表达能力。也希望能给学习的同学一些灵感 本文整理于[...

lichuangnk ⋅ 今天 ⋅ 0

Thrift RPC实战(五) thrift连接池

Thrift本身没有提供连接池,我们可以用Apache Commons Pool2来实现一个 一、定义对象工厂 BasePooledObjectFactory<T> extends BaseObject implements PooledObjectFactory<T> public class......

lemonLove ⋅ 今天 ⋅ 0

git 命令简写

简写 命令 g git gst git status gd git diff gdc git diff --cached gdv git diff -w "$@" | view - gl git pull gup git pull --rebase gp git push gc git commit -v gc! git commit -v ......

charley158 ⋅ 今天 ⋅ 0

Java中的锁使用与实现

1.Lock接口 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 在Lock出现之前,java程序是靠synchronized关键字实现锁功能的,而Java SE5之后,...

ZH-JSON ⋅ 今天 ⋅ 0

Intellij IDEA神器常用技巧四-类和方法注释模板设置

IDEA自带的注释模板不是太好用,我本人到网上搜集了很多资料系统的整理了一下制作了一份比较完整的模板来分享给大家,我不是专业玩博客的,写这篇文章只是为了让大家省事。 这里设置的注释模...

Mkeeper ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部