程序员必读书籍有哪些呢?下面是我精心为您整理的程序员必读的14本书籍,希望您喜欢!
程序员必读的14本书籍
1、《代码大全》 史蒂夫·迈克康奈尔
“优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来, 就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky
Steve McConnell的原作《代码大全》(第1版)是公认的关于编程的最佳实践指南之一, 在过去的十多年间,本书一直在帮助开发人员编写更好的软件。
无论您的经验水平如何,也不管您在怎样的开发环境中工作,也无论项目是大是小, 本书都将激发您的思维并帮助您构建高品质的代码。
2、《计算机程序的构造和解释》
《代码大全》、《重构》和《设计模式》这些经典书会教给你高效的工作习惯和交易细节。 其他像《人件集》、《计算机编程心理学》和《人月神话》这些书会深入软件开发的心理层面。 其他书籍则处理算法。这些书都有自己所属的位置。
然而《计算机程序的构造和解释》与这些不同。 这是一本会启发你的书,它会燃起你编写出色程序的热情它还将教会你认识并欣赏美它会让你有种敬畏,让你难以抑制地渴望学习更多的东西。
其他书或许会让你成为一位更出色的程序员,但此书将一定会让你成为一名程序员。
《C程序设计语言》(第2版新版)原著即为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的 一本介绍C语言的权威经典著作。 我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。
原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。
人们熟知的“hello,world”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。
4、程序员思维修炼(修订版)
生命中没有什么是一成不变的,人们需要改变自己的习惯和方法。不论你是程序员、软件公司管理者、技术奇人还是思想家,或者你只是想让自己的大脑更聪明一点儿,所有尝试改变自己的人,请把本书当作改变的开始……
5、系统化思维导论
关注人文,掌握思维法则,揭开科学与技术的神秘面纱
“它给我的震撼是第一次我能从全局的角度去看待各个学科,科学也不再是冷冰冰的割裂了的教条,不再是难以理解的一堆符号。”
6、优秀的叛逆者:引领组织变革的力量
Lois Kelly和Carmen Medina用她们的实战经验,向我们展示了如何在工作中赢得信赖、提出想法、处理人际关系、管理冲突和保持理智。”
——亚当•格兰特,沃顿商学院教授,《纽约时报》畅销书Give and Take的作者
7、《重构:改善既有代码的设计》
《重构:改善既有代码的设计》适合软件开发人员、项目管理人员等阅读, 也可作为高等院校计算机及相关专业师生的参考读物。
8、《Site Reliability Engineering》
《SRE:Google运维解密》可以让读者学习到Google工程师在提高系统部署规模、改进可靠性和资源利用效率方面的指导思想与具体实践——这些都是可以立即直接应用的宝贵经验。任何一个想要创建、扩展大规模集成系统的人都应该阅读,该书针对如何构建一个可长期维护的系统提供了非常宝贵的实践经验。
9、《Refactoring》
那时候当我读这本《重构:改善既有代码的设计》时,由于它在关于代码异味的单独章节所花的篇幅,使得这本书非常值这个价。该书非常成功,因为它使重构和代码异味的观念成为主流。
Steve Yegge曾对这本书不吝赞誉之词:
2003年10月,我第一次阅读这本书,有一种不寒而粟的感觉。如果你意识到,当你想离职时,你已经工作5年。转天我就随意问周围:“嗯,你已经读过重构方面的书,对吧?我只是随便问问,因为我很久以前读过,当然不是现在。”在我所调查的20个人中,只有一个人
10、《Peopleware》
在大学时我读到这本《人件》,该书似乎很令人信服,甚至所有的研究结果都支持该书的观点:不设置截止日期就比设置截止日期要好办公室比隔间要好,等等。所有开发人员跟我讨论的时候,基本都赞同这些观点。
11、《编程珠玑》
尽管我不得不羞愧地承认,书中一半的东西我都没有理解,但我真的推荐《编程珠玑》,书中有些令人惊奇的东西。 – Matt Warren
12、《修改代码的艺术》by Michael Feathers
我认为没有任何一本书能向这本书一样影响了我的编程观点。它明确地告诉你如何处理其他人的代码,含蓄地教会你避免哪些(以及为什么要避免)。
同意。很多开发人员讨论用干净的石板来编写软件。但我想几乎所有开发人员的某些时候是在吃其他开发人员的狗食。– Bernard Dy
13、《编码:隐匿在计算机软硬件背后的语言》
我推荐CharlesPetzold的《编码》。在这个充满工具和IDE的年代,很多复杂度已经从程序员那“抽取”走了,这本书一本开眼之作。 –hemil
14、《程序员健康指南》
1、Java
Java编程语言(第三版)---Java四大名著----JamesGosling(Java之父)
Java编程思想(第2版)----Java四大名著----BruceEckel
Java编程思想(第3版)----Java四大名著----------------BruceEckel
JAVA2核心技术卷I:基础知识(原书第7版)---Java四大名著-----CayHorstmann
JAVA2核心技术卷II:高级特性(原书第7版)----Java四大名著-----CayHorstmann
EffectiveJava中文版------Java四大名著--------JoshuaBloch
精通Struts:基于MVC的JavaWeb设计与开发---孙卫琴
精通Hibernate:Java对象持久化技术详解---孙卫琴
Tomcat与JavaWeb开发技术详解------------孙卫琴
Java与模式------------------------------阎宏
2、C#
C#程序设计-------CharlesPetzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑”
C#Primer中文版--------StanleyB.Lippman---C#语言“倚天屠龙双剑”
.NET框架程序设计(修订版)--------JeffreyRichter“windows编程泰山北斗”---.NET平台四大天王
c#Windows程序设计----------CharlesPetzold“windows编程泰山北斗”------.NET平台四大天王
.NET程序设计技术内幕-------------JeffProsise---.NET平台四大天王
.NET本质论--第1卷:公共语言运行库(中文版)--------ChrisSells---.NET平台四大天王
3、C++
C++程序设计语言(特别版)---c++八大金刚----BjarneStroustrup“C++之父”
C++Primer(第3版)中文版----c++八大金刚---StanleyB.Lippman
C++Primer(第4版)中文版----c++八大金刚---StanleyB.Lippman
C++标准程序库—自修教程与参考手册--c++八大金刚--NicolaiM.Josuttis
C++语言的设计和演化-----c++八大金刚----BjarneStroustrup“C++之父”
深度探索C++对象模型---c++八大金刚----StanleyB.Lippman
EssentialC++中文版---c++八大金刚---StanleyB.Lippman
EffectiveC++中文版2ndEdition-----c++八大金刚------ScottMeyers
MoreEffectiveC++中文版----c++八大金刚------ScottMeyers
C++编程思想(第2版)第1卷:标准C++导引--------BruceEckel
C++编程思想(第2版)第2卷:实用编程技术--------BruceEckel
C++程序设计--------------------------谭浩强
C++程序设计教程(第2版)--------------钱能
C++PrimerPlus(第五版)中文版---StephenPrata
广博如四库全书Thec++programminglanguage、c++Primer
深奥如山重水复Insidethec++objectmodel
程序库大全Thec++standardlibray
工程经验之积累Effectivec++、MoreEffectivec++、Exceptionalc++
C++八大金刚:
1、Essentitalc++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者
2、Thec++programminglanguage----C++之父,技术权威,用词深峻,思想深远,c++百科全书代表,圣经。
3、c++Primer----lippman---纵横书市十数年,c++最佳教本,c++百科全书代表。
4、Insidethec++objectmodel-----lippman----揭示c++底层,非常好,非常难。
5、Effectivec++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。
6、MoreEffectivec++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。
7、Thec++standardlibray---c++标准库的百科全书。
8、设计模式:可复用面向对象软件的基础------good!
4、C语言
C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---BrianW.Kernighan“C语言之父”
CPrimerPlus中文版(第五版)--------C语言“倚天屠龙双剑”---StephenPrata
C程序设计(第三版)---------------------------谭浩强
C语言大全(第四版)---------------------------HERBERTSCHILDT
C语言接口与实现:创建可重用软件的技术-------------DAVIDR.HANSON
C语言参考手册(原书第5版)--------------------------SamuelP.Harbison
C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱与缺陷-----------------------------------AndrewKoenig
5、VB
VisualBasic.NET技术内幕-----VB编程三剑客-----------FrancescoBalena“vb首席大师”
Windows程序设计-VisualBasic.NET语言描述--VB编程三剑客-----CharlesPetzold“windows编程泰山北斗”---
.NET框架程序设计:VisualBasic.NET语言描述--VB编程三剑客--JeffreyRichter“windows编程泰山北斗”---,FrancescoBalena“vb首席大师”
VisualBasic6编程技术大全------------------------FrancescoBalena“vb首席大师”
VisualBasic.NET从入门到精通-------------------------Petroutsos,E.
高级VISUALBASIC编程-----------------------------------MATTHEWCURLAND
6、Delphi
InsideVCL(深入核心——VCL架构剖析)----------李维
Delphi7高效数据库程序设计--------------李维
面向对象开发实践之路(Delphi版)----------李维
7、VC
Windows程序设计(第5版)-----CharlesPetzold“windows编程泰山北斗”---
Windows核心编程----------JeffreyRichter“windows编程泰山北斗”---
Windows高级编程指南---------JeffreyRichter“windows编程泰山北斗”---
深入浅出MFC(第二版)-----“MFC四大天王”-------侯捷
MFCWindows程序设计(第2版)---MFC四大天王”---------JeffProsise
VisualC++技术内幕(第4版)--MFC四大天王”--------DavidKruglinski
深入解析MFC-------------MFC四大天王”-----------GeorgeShepherd
VisualC++.NET技术内幕(第6版)-MFC四大天王”------------DavidKruglinski
8、VF
VisualFoxpro程序设计参考手册-------------------张洪举
专家门诊——VisualFoxPro开发答疑160问-------------------张洪举
VisualFoxPro6.0/9.0解决方案与范例大全-------------------张洪举
VisualFoxPro软件开发模式与应用案例-------------------张洪举
9、黑客
应用密码学(协议算法与C源程序-----------BruceSchneier
网络信息安全的真相-----------BruceSchneier
黑客大曝光:网络安全机密与解决方案(第5版)--------STUARTMCCLURE
软件加密技术内幕------------看雪学院
加密与解密——软件保护技术与完全解决方案------------看雪学院
加密与解密(第二版)--------段钢
10、汇编
Intel微处理器结构、编程与接口(第六版)---------BarryB.Brey
80*86、奔腾机汇编语言程序设计---------BarryB.Brey
Windows环境下32位汇编语言程序设计(第2版)-----------罗云彬
IBM-PC汇编语言程序设计(第2版)本书是国内优秀教材--------沈美明温冬婵
IBMPC汇编语言程序设计(第五版)这本书籍是国外优秀教材-------PETERABEL著,沈美明温冬蝉译
11、驱动开发
WindowsWDM设备驱动程序开发指南------------------------------------ChrisCant
Windows2000/XPWDM设备驱动程序开发(第2版)--------------------------武安河
WINDOWS2000/XPWDM设备驱动程序开发--------------------------------武安河
12、网络
计算机网络第四版中文版----网络编程三剑客--------------AndrewS.Tanenbaum
TCP/IP详解3卷本--------------------RichardStevens----网络编程三剑客
UNIX网络编程2卷本--------------------RichardStevens----网络编程三剑客
用TCP/IP进行网际互联-----------DouglasE.Comer
高级TCP/IP编程-------------------JonC.Snader
C++网络编程-----------------------DouglasSchmidt
UNIX环境高级编程(第2版)--------------------RichardStevens
13、算法
计算机程序设计艺术-------Donald.E.Knuth----------算法“倚天屠龙”双剑
算法导论-----------------ThomasH.Cormen--------算法“倚天屠龙”双剑
离散数学及其应用----------KennethH.Rosen
具体数学—计算机科学基础--------Donald.E.Knuth
14、图形编程
Windows图形编程----------------FENGYUAN--图形编程界的CharlesPetzold之书
15、数据结构
数据结构C++语言描述》58.00(DataStructuresC++)WilliamFord,WilliamTopp刘卫东沈官林
数据结构算法与应用-C++语言描述》49.00SartejSahni汪诗林孙晓东等机械工业出版社
16、软件工程
设计模式--可复用面向对象软件的基础
重构—改善既有代码的设计
17、 *** 作系统
深入理解计算机系统(修订版)-------RANDALE.BRYANT
18、Unix
UNIX网络编程卷I套接字联网API(英文版第三版
UNIX编程艺术
UNIX环境高级编程(英文影印第2版-----UNIX编程“圣经
UNIX环境高级编程(英文影印版)(第2版)
99-UNIX环境高级编程(第2版)
UNIX环境高级编程(第2版)---UNIX编程“圣经
UNIX网络编程第1卷:套接口API(第3版)
UNIX网络编程卷2:进程间通信(第2版)(英文影印版)
UNIX网络编程(第二版)第2卷:进程间通信
UNIX编程环境
UNIX网络编程卷I套接字联网API(英文版第三版
UNIX系统编程
UNIX环境高级编程
UNIX环境高级编程(英文影印版
88-LINUX内核分析及编程
UNIX网络编程卷I套接字联网API(英文版第三版)
UNIX网络编程第1卷:套接口API(第3版)
UNIX网络编程(第二版)第2卷:进程间通信
UNIX网络编程卷2:进程间通信(第2版)(英文影印版)
UNIX网络编程(第2版)第1卷:套接口API和X/Open传输接口API
UNIX网络编程(卷1):连网的APLS:套接字与XTI(第二版)(英文影印版)
UNIX环境高级编程
UNIX环境高级编程(英文版)
UNIX环境高级编程(第2版)
Unix技术手册
19、Linux
Linux内核设计与实现
Linux内核完全注释
LINUX内核分析及编程
GNU/Linux编程指南(第二版)
Linux设备驱动程序(第三版)
嵌入式设计及Linux驱动开发指南——基于ARM9处理器
Linux设备驱动程序第三版(英文影印版)
Linux内核设计与实现(第2版)
Linux内核设计与实现(英文影印版)(第2版)
linux技术手册
20、游戏编程
Windows游戏编程大师技巧(第二版
游戏之旅--我的编程感悟
OpenGL超级宝典:第三版
OpenGL编程指南(第四版)
Java游戏高级编程
J2ME手机游戏编程入门
游戏之旅——我的编程感悟
游戏开发中的人工智能(英文影印版)
3D游戏:卷2动画与高级实时渲染技术
面向对象的游戏开发
Java游戏高级编程
3D游戏编程大师技巧
游戏编程精粹
面向对象的游戏开发
3D游戏卷1:实时渲染与软件技术
3D游戏:卷2动画与高级实时渲染技
J2ME手机游戏编程入门
Direct3D游戏编程入门教程(第二版
21、移动开发
WindowsMobile手机应用开发
SYMBIANOSC++手机应用开发
68-WindowsMobile手机应用开发--傅曦齐宇徐骏
48-SYMBIANOSC++手机应用开发(第2卷)------------------RICHARDHARRISON著,周良忠王伯欣译
68-SYMBIANOSC++手机应用开发---------------RICHARDHARRISON著,周良忠译
WindowsCE.net内核定制及应用程序开发---------周毓林宁杨陆贵强付林林
嵌入式系统WindowsCE开发技巧与实例--傅曦
PalmOS编程实践---绝版
22、单片机
单片机轻松入门----------------------------------周坚(平凡老师)
单片机典型模块设计实例导航-----------------------求是科技
例说8051----------------------------------------张义和陈敌北
KEILCX51V7.0单片机高级语言编程与ΜVISION2应用实践-----徐爱钧
单片机应用程序设计技术(修订版)--------------------周航慈
8051单片机实践与应用-------------------------------吴金戎
MCS-51系列单片机实用接口技术---------------------李华
23、串并口通讯
VisualC++/TurboC串口通信编程实践------------------龚建伟
VISUALBASIC与RS-232串行通信控制(最新版)----------范逸之
24、电子
无线电识图与电路故障分析轻松入门(第二版)-------------------胡斌
无线电元器件检测与修理技术轻松入门(第二版)-------------------胡斌
图表细说电子技术识图-------------------胡斌
图表细说电子元器件-------------------胡斌
图表细说元器件及实用电路-------------------胡
一:第一阶段\r\nC语言-------《C语言设计》 作者:谭浩强\r\n大多数人都推荐谭浩强这本书,谭浩强的C语言程序设计,我觉得更适合当教科书,主要是篇幅没有那么大,书本的内容不是很全,由老师带入门是最好的。\r\n\r\n《C Primer Plus》第五版 作者:Stephen Prata\r\n这本书比较厚,内容也比较基础,扩展的也比较广,自学容易上手,唯一的缺陷在于它是外国人编写,而国内的翻译往往让人难以满意,如果你有较好的英语水平,最好阅读英文版的。\r\n\r\n《C语言入门经典》第四版 作者:Ivor Horton\r\n\r\n二:第二阶段\r\n这一阶段看个人主攻的方向了,安卓一般就JAVA,PC游戏、软件C++,也有推荐C#,这些都是主流语言,其他语言要看个人爱好与发展。\r\n面向对象的语言,一般懂一门,之后要转其他语言也很容易的,其实思想都差不多,主要的不同在于语法。C#容易上手,一个月入门,一年精通,而C++却有点难,一年入门,二十年也未必敢说自己精通。如果有时间,可以了解一下汇编语言。\r\n\r\nC++ Primer, 4rd Edition\r\n\r\n(入门类:\r\nC++ Primer, 4rd Edition\r\nThinking in C++, 2nd Edition\r\nThe C++ Standard Library: A Tutorial and Reference\r\n\r\n进阶类:\r\nThe C++ Programming Language, Special Edition\r\nThe Design and Evolution of C++\r\nInside C++ Object Model\r\nC++ Templates: The Complete Guide\r\nSTL 源码剖析\r\nGeneric Programming and the STL\r\nModern C++ Design: Generic Programming and Design Patterns Applied\r\n\r\n应用技巧类:\r\nEffective C++, 2nd Editon\r\nMore Effective C++\r\nExceptional C++\r\nMore Exceptional C++\r\nEffective STL\r\nRuminations on C++)\r\n\r\n三:第三阶段\r\nAPI/SDK------------- 《windows程序设计》(Jeff Prosise)\r\n这书主要是开发Windows软件要深入研读的,毕竟是WindowsAPI。如果是主攻C++,那么这本书你可以大概略读一遍,不用过多的深入追究,QT才是C++主要深入思虑的关键。\r\n\r\n四:第四阶段\r\nMFC----《VC++技术内幕》、《深入浅出MFC》及视频教程孙鑫 VC++6.0\r\n如果是C++,QT是要重点学习的对象。\r\n\r\n五:第五阶段\r\nCOM/DCOM/ATL/COM+---------《COM技术内幕》\r\n\r\n未知阶段:\r\n《数据结构》,《算法导论》这些基本是编程的核心了,编程的很大情况都依赖于算法的实现,这个两门基本要深入研究,这是决定编程能力的核心标准。\r\n\r\n如果不弄底层的话,《 *** 作系统原理》可以简单地了解。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)