代码改变世界

IT四书五经:最值得看和最有效率的书

2020-02-02 23:14  盛世游侠  阅读(553)  评论(0编辑  收藏  举报

       一、为何要学编程?

  每个人的动机不一样。大致有:
  1、为了找个好工作;或为了有更好的机会和更好的发展。
  2、看到别人超厉害,所以也想学。
  3、实际工作中很多场合需要。
  4、从小就立志做个程序员,做软件工程师。
  5、振兴中国的软件事业。
  ………………………………………………………………………
  ================================================

  二、如何学编程?

  1、多看好书。
  差书误人子弟,不但浪费时间和精力,而且打击人的信心,差书使人很久都不会,让会让人怀疑自已
  的学习能力。
  现在的书很多,但好书很少,特别是被大家公认很有价值的好书,更是少之又少。历经多年时间考验
  和市场风雨不残酷洗礼而仅存的巨著,更是极其稀少。中国历史上文学小说类书本多如牛毛,但仅存的巨
  著,也只不过<<红楼梦>>等四本名著而已。
  编程方面也是如此。
  2、多动手。
  这一点很重要。而且特别重要。
  “纸上得来终觉浅,绝知此事要躬行。”陆游的千古名句说的就是这个道理,并且同样适合于编程方
  面。
  ================================================

  三、用什么语言最好?

  这主要取决于应用领域,每种语言都有自已的长处和不足。
  1、汇编语言和C语言在单片机及工控领域用较多。另外C语言也是一种通用语言,是学C++/c#的起点。
  2、C++系统编程等多个方面,最常用的编译器是VC。
  3、C#/Java网络编程方面新兴的。
  4、VB通用。
  5、还有Delphi等。。。。。。
  个人建议:从未编过程的,就从学vb开始。有基础的可直接学c++/VC。
  =================================================== 

  四、有什么好书?

  几年前,台湾著名技术作家侯捷先生曾经写过一篇影响很大的书评文章,叫做《MFC四大天王》。文章的
  意思是说在MFC的浩瀚书海中,只要认真研读和学习其中四本,就可以“五岳归来不看山”。侯先生虽以
  MFC为例,但是这个道理却同样适合于MFC之外的很多具体技术领域,这不能不说是一个有趣的统计现象。
  通常在某一个具体细分的技术领域,会自然而然地出现3-5本顶级著作,它们彼此互相配合,形成一个完
  整的体系。对于学习者来说,只需要认真研读这几本书,就足以升堂入室。我乐于将这种现称为“四书五
  经现象”。对于读者来说,如果能够找到该领域中的“四书五经”,则无论在时间上还是金钱上都是最经
  济的选择。好书几本,胜过烂书几捆,这个体会想必大家都有。在此,帮助大家遴选各个技术领域里的“
  四书五经”。
  编程的书可谓汗牛充栋,其中经典也是不泛其数,但绝大多数的过来人,都一致认为,要想很快的入
  门并尽快的投入到编程实践中,只要其中的四到五本也就够了,即只看经典中的经典,圣经级的书就可以
  了。
  所谓活到老学到老,程序员是个终身学习的职业,要不断的看书,直到放弃编程的那一天。所以,
  您要读的好书也绝非以下推荐的这些书哟,呵呵。
  一句话,由于我们的时间、精力、金钱都是有限的,如何以最小的代价换得最大的收获。
  经典好书分类热销榜
  ================================================================

  1、Java

  Java编程语言(第三版)---Java四大名著----James Gosling(Java之父)
  Java编程思想(第2版)----Java四大名著----Bruce Eckel
  Java编程思想(第3版)----Java四大名著----------------Bruce Eckel
  JAVA 2核心技术 卷I:基础知识(原书第7版)---Java四大名著-----Cay Horstmann
  JAVA 2核心技术 卷II:高级特性(原书第7版)----Java四大名著-----Cay Horstmann
  Effective Java中文版------Java四大名著--------Joshua Bloch
  精通Struts:基于MVC的Java Web设计与开发---孙卫琴
  精通Hibernate:Java对象持久化技术详解---孙卫琴
  Tomcat与Java Web开发技术详解------------孙卫琴
  Java与模式------------------------------阎宏

  2、c#

  C#程序设计-------Charles Petzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑”
  C# Primer中文版--------Stanley B.Lippman---C#语言“倚天屠龙双剑”
  .NET框架程序设计(修订版)--------Jeffrey Richter“windows编程泰山北斗”---.NET平台四大天王
  c#Windows程序设计----------Charles Petzold“windows编程泰山北斗”------.NET平台四大天王
  .NET程序设计技术内幕-------------Jeff Prosise---.NET平台四大天王
  .NET本质论--第1卷:公共语言运行库(中文版)--------Chris Sells---.NET平台四大天王

  3、C++

  C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”
  C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman
  C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman
  C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis
  C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”
  深度探索C++对象模型---c++八大金刚----Stanley B.Lippman
  Essential C++中文版---c++八大金刚---Stanley B.Lippman
  Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers
  More Effective C++中文版----c++八大金刚------Scott Meyers
  C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel
  C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel
  C++程序设计--------------------------谭浩强
  C++ 程序设计教程(第2版)--------------钱能
  C++ Primer Plus(第五版)中文版---Stephen Prata
  广博如四库全书The c++ programming language、c++ Primer
  深奥如山重水复Inside the c++ object model
  程序库大全The c++ standard libray
  工程经验之积累Effective c++、More Effective c++、Exceptional c++
  c++八大金刚:
  1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者
  2、The c++ programming language----C++之父,技术权威,用词深峻,思想深远,c++百科全书代表,
  圣经。
  3、c++ Primer----lippman---纵横书市十数年,c++最佳教本,c++百科全书代表。
  4、Inside the c++ object model-----lippman----揭示c++底层,非常好,非常难。
  5、Effective c++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。
  --------------------------------------------------------------------------------
  3 C++原创,超经典:为何要学编程?如何学编程?用什么语言最好?有
  6.More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。
  7.The c++ standard libray---c++标准库的百科全书。
  8.设计模式:可复用面向对象软件的基础------good!

  4.C

  程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父”
  C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata
  C程序设计(第三版)---------------------------谭浩强
  C语言大全(第四版)---------------------------HERBERT SCHILDT
  C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON
  C语言参考手册(原书第5版)--------------------------Samuel P.Harbison
  C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel
  C陷阱与缺陷-----------------------------------Andrew Koenig

  5、VB

  Visual Basic .NET技术内幕-----VB编程三剑客-----------Francesco Balena“vb首席大师”
  Windows程序设计-Visual Basic.NET语言描述--VB编程三剑客-----Charles Petzold“windows编程泰山
  北斗”---
  .NET框架程序设计:Visual Basic.NET语言描述--VB编程三剑客--Jeffrey Richter“windows编程泰山北
  斗”---,Francesco Balena“vb首席大师”
  Visual Basic 6编程技术大全------------------------Francesco Balena“vb首席大师”
  Visual Basic.NET 从入门到精通-------------------------Petroutsos,E.
  高级VISUAL BASIC编程-----------------------------------MATTHEW CURLAND

  6、Delphi

  Inside VCL(深入核心——VCL架构剖析)----------李维
  Delphi 7高效数据库程序设计--------------李维
  面向对象开发实践之路(Delphi版)----------李维

  7、VC

  Windows 程序设计(第5版)-----Charles Petzold“windows编程泰山北斗”---
  Windows核心编程----------Jeffrey Richter“windows编程泰山北斗”---
  Windows高级编程指南---------Jeffrey Richter“windows编程泰山北斗”---
  深入浅出MFC(第二版)-----“MFC四大天王”-------侯捷
  MFC Windows程序设计(第2版)---MFC四大天王”---------Jeff Prosise
  Visual C++ 技术内幕(第4版)--MFC四大天王”--------David Kruglinski
  深入解析MFC-------------MFC四大天王”-----------George Shepherd
  Visual C++.NET 技术内幕(第6版)-MFC四大天王”------------David Kruglinski

  8、vf

  Visual Foxpro程序设计参考手册-------------------张洪举
  专家门诊——Visual FoxPro开发答疑160问-------------------张洪举
  Visual FoxPro 6.0/9.0解决方案与范例大全-------------------张洪举
  Visual FoxPro软件开发模式与应用案例-------------------张洪举

  9、黑客

  应用密码学(协议算法与C源程序-----------Bruce Schneier
  网络信息安全的真相-----------Bruce Schneier
  黑客大曝光:网络安全机密与解决方案(第5版)--------STUART MCCLURE
  软件加密技术内幕------------看雪学院
  加密与解密——软件保护技术与完全解决方案------------看雪学院
  加密与解密(第二版)--------段钢

  10、汇编

  Intel微处理器结构、编程与接口(第六版)---------Barry B. Brey
  80*86、奔腾机汇编语言程序设计---------Barry B. Brey
  Windows环境下32位汇编语言程序设计(第2版)-----------罗云彬
  IBM-PC汇编语言程序设计(第2版) 本书是国内优秀教材--------沈美明 温冬婵
  IBM PC汇编语言程序设计(第五版) 这本书籍是国外优秀教材-------PETER ABEL著,沈美明 温冬蝉译

  11、驱动开发

  --------------------------------------------------------------------------------
  4 C++原创,超经典:为何要学编程?如何学编程?用什么语言最好?有
  Windows WDM设备驱动程序开发指南------------------------------------ Chris Cant
  Windows 2000/XP WDM设备驱动程序开发(第2版)--------------------------武安河
  WINDOWS 2000/XP WDM设备驱动程序开发-------------------------------- 武安河

  12、网络

  计算机网络第四版中文版----网络编程三剑客--------------Andrew S.Tanenbaum
  TCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客
  UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客
  用TCP/IP进行网际互联-----------Douglas E. Comer
  高级TCP/IP编程-------------------Jon C. Snader
  C++网络编程-----------------------Douglas Schmidt
  UNIX环境高级编程(第2版)--------------------Richard Stevens

  13、算法

  计算机程序设计艺术-------Donald.E.Knuth----------算法“倚天屠龙”双剑
  算法导论-----------------Thomas H. Cormen--------算法“倚天屠龙”双剑
  离散数学及其应用----------Kenneth H.Rosen
  具体数学—计算机科学基础--------Donald.E.Knuth

  14、图形编程

  Windows 图形编程----------------FENG YUAN --图形编程界的Charles Petzold之书

  15、数据结构

  数据结构 C++语言描述》58.00(Data Structures C++) William Ford,William Topp 刘卫东 沈官林
  数据结构算法与应用-C++语言描述》49.00Sartej Sahni 汪诗林 孙晓东等机械工业出版社

  16、软件工程

  设计模式--可复用面向对象软件的基础
  重构—改善既有代码的设计

  17、操作系统

  深入理解计算机系统(修订版)-------RANDAL E.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驱动开发指南——基于ARM 9处理器
  Linux设备驱动程序 第三版(英文影印版)
  Linux内核设计与实现(第2版)
  Linux内核设计与实现(英文影印版)(第2版)
  linux技术手册

  20、游戏编程

  Windows游戏编程大师技巧(第二版
  游戏之旅--我的编程感悟
  OpenGL超级宝典:第三版
  OpenGL编程指南(第四版)
  Java 游戏高级编程
  J2ME手机游戏编程入门
  游戏之旅——我的编程感悟
  游戏开发中的人工智能(英文影印版)
  3D游戏:卷2 动画与高级实时渲染技术
  面向对象的游戏开发
  Java 游戏高级编程
  3D游戏编程大师技巧
  游戏编程精粹
  面向对象的游戏开发
  3D游戏 卷1:实时渲染与软件技术
  3D游戏:卷2 动画与高级实时渲染技…
  J2ME手机游戏编程入门
  Direct3D游戏编程入门教程(第二版…

  21、移动开发

  Windows Mobile手机应用开发
  SYMBIAN OS C++手机应用开发
  68-Windows Mobile手机应用开发--傅曦 齐宇 徐骏
  48-SYMBIAN OS C++手机应用开发 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣译
  68-SYMBIAN OS C++手机应用开发---------------RICHARD HARRISON著,周良忠译
  Windows CE.net内核定制及应用程序开发---------周毓林 宁杨 陆贵强 付林林
  嵌入式系统Windows CE 开发技巧与实例--傅曦
  Palm OS编程实践---绝版

  22、单片机

  单片机轻松入门----------------------------------周坚(平凡老师)
  单片机典型模块设计实例导航-----------------------求是科技
  例说8051----------------------------------------张义和 陈敌北
  KEIL CX51 V7.0单片机高级语言编程与ΜVISION2应用实践-----徐爱钧
  单片机应用程序设计技术(修订版)--------------------周航慈
  8051单片机实践与应用-------------------------------吴金戎
  MCS-51系列单片机实用接口技术---------------------李华

  23、串并口通讯

  Visual C++/Turbo C串口通信编程实践------------------龚建伟
  VISUAL BASIC与RS-232串行通信控制(最新版)----------范逸之

  24、电子

  无线电识图与电路故障分析轻松入门(第二版) -------------------胡斌
  无线电元器件检测与修理技术轻松入门(第二版) -------------------胡斌
  图表细说电子技术识图-------------------胡斌
  图表细说电子元器件-------------------胡斌
  图表细说元器件及实用电路-------------------胡斌
  怎样成为一名程序员
  通过以下4个阶段的训练, 没有任何编程基础人就可以成为一名普通的程序员。

  第一阶段:掌握一种编程语言

  学习内容:学习任意一种主流的编程语言。例如C++语言。
  学习目标:熟练掌握一种语言的语法和基本的编程技巧。
  学习时间:3个月左右
  注意事项:编程语言和编程工具是两回事情,编程语言是指C++、Basic、Object Pascal等
  程序设计语言,它们是像汉语、英语一样的抽象的语法规则,编程工具是指
  Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代码编辑器、程序编译器
  在内的集成化、可视化的软件开发工具。C++源程序可以在Visual C++ 6.0里编写,也可以在
  记事本里编写,而同一个C++源程序可以用Visual C++ 6.0编译、执行,也可以用C++ Builder 5.0
  编译、执行,所以: C++ 不等于 Visual C++ 6.0

  第二阶段:掌握一种编程工具

  学习内容:学习任意一种主流的编程工具。注意编程工具要和第一阶段学习的编程语言一致,例如你学习的
  编程语言是C++,那么编程工具要选Visual C++ 6.0或者C++ Builder 5.0。
  学习目标:熟练掌握这种编程工具基本用法,例如:菜单、组件、程序跟踪调试、编写Windows程序等。
  学习时间:3个月左右
  注意事项:这个阶段侧重编程工具的使用,同时进一步熟习编程语言,最后达到能熟练编写各种基本的
  Windows程序。

  第三阶段:掌握“算法与数据结构”这门课程

  学习内容:算法与数据结构,推荐许卓群的《数据结构》,高等教育出版社出版。
  学习目标:熟练掌握各种常用的算法与数据结构
  学习时间:4个月左右
  注意事项:这是一门不可或缺的软件开发课程,曾经有一本经典计算机专业书籍叫做《数据结构+算法=程序》,
  这说明了数据结构和算法的重要性。它能帮我们建立良好的程序分析与设计能力。
  第四阶段:实现一个模拟的小型软件项目
  学习内容:软件项目的开发过程
  学习目标:掌握软件项目的基本开发过程和方法
  学习时间:4个月左右
  注意事项:自己完成一个模拟的小型软件项目,强烈推荐做一个MIS(管理信息系统)软件,参考用书推荐
  “中小型信息管理系统开发实例系列丛书”,人民邮电出版社,它的例子详实有效,
  以它为基础再加以扩展,就可以做出实用的MIS软件来。
  此丛书包括多种开发工具,大家可以选择适合自己的:《VISUAL FOXPRO6.0 数据库系统开发实例导航》
  《JAVA数据库系统开发实例导航》 《VISUAL BASIC数据库系统开发实例导航》
  《VISUAL C++6.0数据库系统开发实例导航》 《ASP.NET数据库管理系统开发实例导航》
  DELPHI数据库系统开发实例导航》 《POWERBUILDER 8.0数据库系统开发实例导航》。
  国内比较畅销的当属机械工业出版社黑色那套了,其中精品很多。入门的《Oracle 9i初学者指南》浅显易懂,是入门的好帮手。开发方面《Oracle 9i PL/SQL程序设计》,DBA方面《Oracle 9i DBA手册》,调优方面《Oracle 9i性能调优指南》都是经典的书,根据需要选择吧。我觉得其中《Oracle 9i 参考手册》是不错的书,比较全面实用,各方面涉及就不深入了。
  其他经典书籍又不能绕过Tom了,他的《Oracle专家高级编程》(Expert one-by-on Oracle)是绝对的经典,可惜中文版被翻译糟蹋了,我正在看,其中的翻译有的术语很怪异,有的不知所云,确实有点累,但内容深入,涉及到Oracle内部结构、锁机制、导入导出的使用、性能调优等等等等很多的方面。主要基于Oracle 8.1.7,但是用他的原话来说99%的可以毫无变动的用到9i上。他还基于这本书写了另一本新书《Effective Oracle by Design》(2003),国内尚没有翻译版,要买的话只有Amazon了,目前倒是降价中。内容主要是关于开发的一整套,比如团队开发中的分工、开发的原则、性能调优等等。这两本书的内容介绍和目录大家可以到asktom.oracle.com看到,总体来说都是大师之作