自学计算机编程应该看些什么书
极客晨星,专注6-16岁少儿编程教育.
《动手玩转Scratch Jr编程》,这本教材里面的讲解十分生动,很受孩子们的欢迎。
还有《父与子的编程之旅——与小卡特一起学 Python》这本教材用很多形象的卡通来解释抽象的概念,非常深入浅出,不过本这教材后面稍微有些深奥,比较适合大一点的孩子。
C语言-------《C语言设计》 作者:谭浩强
大多数人都推荐谭浩强这本书,谭浩强的C语言程序设计,我觉得更适合当教科书,主要是篇幅没有那么大,书本的内容不是很全,由老师带入门是最好的。
《C Primer Plus》第五版 作者:Stephen Prata
这本书比较厚,内容也比较基础,扩展的也比较广,自学容易上手,唯一的缺陷在于它是外国人编写,而国内的翻译往往让人难以满意,如果你有较好的英语水平,最好阅读英文版的。
《C语言入门经典》第四版 作者:Ivor Horton
二:第二阶段
这一阶段看个人主攻的方向了,安卓一般就JAVA,PC游戏、软件C++,也有推荐C#,这些都是主流语言,其他语言要看个人爱好与发展。
面向对象的语言,一般懂一门,之后要转其他语言也很容易的,其实思想都差不多,主要的不同在于语法。C#容易上手,一个月入门,一年精通,而C++却有点难,一年入门,二十年也未必敢说自己精通。如果有时间,可以了解一下汇编语言。
C++ Primer, 4rd Edition
(入门类:
C++ Primer, 4rd Edition
Thinking in C++, 2nd Edition
The C++ Standard Library: A Tutorial and Reference
进阶类:
The C++ Programming Language, Special Edition
The Design and Evolution of C++
Inside C++ Object Model
C++ Templates: The Complete Guide
STL 源码剖析
Generic Programming and the STL
Modern C++ Design: Generic Programming and Design Patterns Applied
应用技巧类:
Effective C++, 2nd Editon
More Effective C++
Exceptional C++
More Exceptional C++
Effective STL
Ruminations on C++)
三:第三阶段
API/SDK------------- 《windows程序设计》(Jeff Prosise)
这书主要是开发Windows软件要深入研读的,毕竟是WindowsAPI。如果是主攻C++,那么这本书你可以大概略读一遍,不用过多的深入追究,QT才是C++主要深入思虑的关键。
四:第四阶段
MFC----《VC++技术内幕》、《深入浅出MFC》及视频教程孙鑫 VC++6.0
如果是C++,QT是要重点学习的对象。
五:第五阶段
COM/DCOM/ATL/COM+---------《COM技术内幕》
未知阶段:
《数据结构》,《算法导论》这些基本是编程的核心了,编程的很大情况都依赖于算法的实现,这个两门基本要深入研究,这是决定编程能力的核心标准。
如果不弄底层的话,《操作系统原理》可以简单地了解。
计算机的学习也就那几门基础课,语言(如C,C++,Java等),数据结构与算法,数据库,计算机网络,计算机组成,操作系统,编译原理等。
下面列出书单共大家参考,这些书都是各个方面的经典书籍,非常值得一读。这些书也是我看过的书或者正在准备看的。
1.语言方面
C语言推荐著名的K&RC程序设计语言和C陷阱与缺陷
当初我学C语言时是刚刚接触编程,对指针啊,各种声明等很困惑,感觉编程很难,但当我看完C陷阱与缺陷后感觉豁然开朗,它告诉你为什么这样,怎样理解各种复杂的声明。
倒不是说这本书有多么好,而是它确实是我的编程启蒙书,它让我对编程感兴趣。当然,现在再看这本书很简单,有基础的一上午就看完了。因为这本书对我意义非凡,所以
在这啰嗦两句。
C++推荐C++ Primer 5th,这本书我感觉非常好,讲解清晰,知识点覆盖全面,关键是翻译的非常好,几乎找不到错误。如果想深入学习C++,则推荐深度探索C++对象模型,
如果用C++写项目,在写之前推荐看一下Effective C++和Effective STL。如果以后想主用C++,则推荐更近一步学习模板,
推荐Modern C++ Design.
Java推荐Java 核心技术 9th上下两卷或者Java编程思想 4th,我感觉后者较难,前者较容易,有C++基础的还是看后者吧。
如果以后想主用Java还推荐看深入理解Java虚拟机(第2版,国人写的为数不多的好书之一。
2.数据结构与算法
强烈推荐算法 4th,非常好的一本书,通俗易懂,Coursera上还有作者的公开课哦。当然也少不了经典的算法导论,不过如果前者仔细看了,
后者作为补充,粗略看看就行了(如果你不做算法工程师的话)。另外,听说数据结构与算法分析 C++语言描述也不错哦。
3.数据库
数据库理论方面推荐看数据库系统概念,俗称帆船书,比较厚,比较难,重点章节读一下就行了,没必要全读完。如果要问选择哪种数据库,当然是MySQL了,
看高性能MySQL 3rd,MySQL领域经典之作。
4.计算机网络
如果说到计算机网络, W.Richard Stevens的大名几乎是无人不知,无人不晓的。他的TCP/IP详解 卷1虽然出版时间早,但仍值得看。
还有一本计算机网络(第6版)也是非常好,我现在正在读。
5.计算机组成
计算机组成也叫计算机体系结构,是一门非常重要的基础课。计算机体系结构 量化研究方法称为计算机体系结构的圣经,必读。
还有一本严格来说并不在计算机体系结构范围内,但也有涉及,就是大名鼎鼎的深入理解计算机系统,非常好的一本书。
6.操作系统
只推荐一本现代操作系统(第3版),俗称马戏团书,作者是大名鼎鼎的Andrew S. Tanenbaum。
7.编译原理
由于还没学,了解不多,只推荐一本以免误人子弟编译器设计 2nd。
C语言-------《C语言设计》 作者:谭浩强
大多数人都推荐谭浩强这本书,谭浩强的C语言程序设计,我觉得更适合当教科书,主要是篇幅没有那么大,书本的内容不是很全,由老师带入门是最好的。
《C Primer Plus》第五版 作者:Stephen Prata
这本书比较厚,内容也比较基础,扩展的也比较广,自学容易上手,唯一的缺陷在于它是外国人编写,而国内的翻译往往让人难以满意,如果你有较好的英语水平,最好阅读英文版的。
《C语言入门经典》第四版 作者:Ivor Horton
二:第二阶段
这一阶段看个人主攻的方向了,安卓一般就JAVA,PC游戏、软件C++,也有推荐C#,这些都是主流语言,其他语言要看个人爱好与发展。
面向对象的语言,一般懂一门,之后要转其他语言也很容易的,其实思想都差不多,主要的不同在于语法。C#容易上手,一个月入门,一年精通,而C++却有点难,一年入门,二十年也未必敢说自己精通。如果有时间,可以了解一下汇编语言。
C++ Primer, 4rd Edition
(入门类:
C++ Primer, 4rd Edition
Thinking in C++, 2nd Edition
The C++ Standard Library: A Tutorial and Reference
进阶类:
The C++ Programming Language, Special Edition
The Design and Evolution of C++
Inside C++ Object Model
C++ Templates: The Complete Guide
STL 源码剖析
Generic Programming and the STL
Modern C++ Design: Generic Programming and Design Patterns Applied
应用技巧类:
Effective C++, 2nd Editon
More Effective C++
Exceptional C++
More Exceptional C++
Effective STL
Ruminations on C++)
三:第三阶段
API/SDK------------- 《windows程序设计》(Jeff Prosise)
这书主要是开发Windows软件要深入研读的,毕竟是WindowsAPI。如果是主攻C++,那么这本书你可以大概略读一遍,不用过多的深入追究,QT才是C++主要深入思虑的关键。
四:第四阶段
MFC----《VC++技术内幕》、《深入浅出MFC》及视频教程孙鑫 VC++6.0
如果是C++,QT是要重点学习的对象。
五:第五阶段
COM/DCOM/ATL/COM+---------《COM技术内幕》
未知阶段:
《数据结构》,《算法导论》这些基本是编程的核心了,编程的很大情况都依赖于算法的实现,这个两门基本要深入研究,这是决定编程能力的核心标准。
如果不弄底层的话,《操作系统原理》可以简单地了解。
2018-10-08 · 百度知道合伙人官方认证企业
建议先看C语言,刚开始可能困难,别着急,慢慢来,不会的上网查查,书就是 清华大学出版社的
谭浩强的 C程序设计(第四版),这是很经典的书。
看过后你会有些程序的冲动,呵呵……这很好,试着实现书里面的程序,工具可以选择VC++,可自己下载,可以跟我要,我就是软件专业的在校大学生。
之后要了解数据库,因为要处理的数据多啦,得用数据库存储起来,数据库也很多MYSQL,ORACLe等,大同小异,数据库我也可以给你。还需要一本书来学习,选择数据库按照数据库选书就可以。
其他的等你了解以上基础就应该知道怎么选择了。
流行的语言还有JAVA,你可以学习,学过C语言,这就不困难了,现在网站什么的都基本是JAVA语言编写的。