任何想成为一名程序员的人都需要思考一个问题,要打好扎实的编程基础,最好方法是什么?最好的学习方式是什么?我应该去阅读那些 “24小时教你学会X语言” 的畅销书吗?还是说,应该老老实实从基础开始学起?
ossblog年初给编程初学者介绍了一系列的编程书籍。
这些书籍都是采用开源许可证免费编程书籍,允许自由复制,分发和使用。
注:最后一本书不是为新手而提供的。但是,一旦你消化了前7本书,这本也可以看看。
1. Introduction to Computing: Explorations in Language, Logic, and Machines
By David Evans (266 pages)
Introduction to Computing Explorations in Language, Logic, and Machines.pdf (4.1 MB)
本书介绍了Scheme和Python编程语言最重要的基本思想。 这本书可能是任何新手程序员的最佳起点。
2. 《计算机程序的构造和解释》Structure and Interpretation of Computer Programs
By Harold Abelson and Gerald Jay Sussman with Julie Sussman (688 pages)
英文在线: https://mitpress.mit.edu/sicp/full-text/book/book.html
经典计算机编程原理的教科书——成型于美国麻省理工学院(MIT)多年使用的一本教材。
3. Building Skills in Object-Oriented Design
By Steven F. Lott (285 pages)
BuildingSkillsinObject-OrientedDesign.pdf (1.2 MB)
BuildingSkillsinObject-OrientedDesign.mobi (2.4 MB)
英文在线: http://buildingskills.itmaybeahack.com/book/oodesign-3.1/html/index.html
本书通过一系列设计练习教导从面向对象编程到面向对象设计的方法。代码示例着重于Python编程语言。
4. 《程序设计基础》(Foundations of Programming)
By Karl Seguin (79 pages)
English pdf:FoundationsOfProgramming.pdf (1.3 MB)
Chapters cover:
Domain driven design Persistence Dependency injection Unit Testing Object Relational Mappers Back to Basics: Memory Back to Basics: Exceptions Back to Basics: Proxy This and Proxy That
5. 《制造开源软件·第二版》·如何成功运营自由软件项目(Producing Open Source Software: 2nd Edition)
By Karl Fogel (232 pages)
中文epub:Producing_Open_Source_Software_2nd_Edition(中文).epub (344.0 KB)
中文在线: http://producingoss.com/zh/
English pdf:Producing_Open_Source_Software_2nd_Edition.pdf (1.1 MB)
英文在线: http://producingoss.com/en/index.html
这本书是为那些着手开始一个开源软件项目,或已经开始但想知道现在该做什么的软件开发人员和经理们准备的。对那些打算加入一个开源软件项目,但是又没有经验的人,此书也是有所裨益的。读者不必是程序员,但应该知道软件工程的一些基本概念,比如源代码、编译器和补丁。
6. 《开源应用程序架构》(The Architecture of Open Source Applications)
Edited by Amy Brown, Greg Wilson (432 pages)
只提供在线阅读,PDF和epub不是免费的。
在线阅读地址: http://www.aosabook.org/en/index.html
7. 《开源应用程序架构·第二卷》(The Architecture of Open Source Applications, Volume II)
Edited by Amy Brown, Greg Wilson (390 pages)
只提供在线阅读,PDF和epub不是免费的。
在线阅读地址: http://www.aosabook.org/en/index.html
8. 《高级Linux编程》(Advanced Linux Programming)
By Mark Mitchell, Jeffrey Oldham, and Alex Samuel, of CodeSourcery LLC (269 pages)
Advanced-linux-programming.pdf (3.7 MB)
本书中的代码列表gzip压缩tar文件:
ALP-listings.tar.gz (46.6 KB)
代码列表在线版: http://advancedlinuxprogramming.com/listings/
本书不适用于初学者,读者应具备C编程能力。
via ossblog