自学计算机编程应该看些什么书

自学计算机编程应该看些什么书,第1张

一:第一阶段

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技术内幕》

未知阶段:

《数据结构》,《算法导论》这些基本是编程的核心了,编程的很大情况都依赖于算法的实现,这个两门基本要深入研究,这是决定编程能力的核心标准。

如果不弄底层的话,《 *** 作系统原理》可以简单地了解。

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

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程序设计参考手册-------------------张洪举

首先是纯C的教材

第一本:H.M.Deitel和P.J.Deitel的《C HOW TO PROGRAM》(C程序设计教程)。

作者是父子,从事语言教材的编写合计超过40年,本书被美国众多高校选用为教材,既可入门也可翻阅,甚好。本FAQ作者认为如果你只打算看一本的话,那就选他好了。

第二本:Brian W.Kernighan和Dennis M.Ritchie 的《The C Programming Language 》(C程序设计语言)。

此书简称K&R,由C语言的创建者撰写,是全球销售最多的C语言教材,其品质不容置疑。不过不适合入门,适于在入门之后巩固提高。实体书有原版和译本购买,电子版英文较多。

第三本:谭浩强的《C程序设计》。

优点在于,面向中国学生,语言易于理解,而且全书篇幅小,看过的人多,容易找到人请教。但是各方面的概念不深入,浅尝辄止,实际上还有些小错误,不是很严谨。因此适合第一次入门学习,例题做完基本就可以抛弃了。有实体书和电子版下载。同时配套有习题集和习题解答,适合自学。

第四本:王大刚先生的《C语言编程宝典》。

质量不错,与老谭的书一样非常适合中国学生,而且对于TC的图形编程讲解非常透彻。本人没有发现实体书,可能只发布在网络上,在VCgood论坛有转载:

http://www.vcgood.com/bbs/forum_posts.asp?TID=1560&PN=2

http://book.chinaz.com/C/C/index.html

第五本:无名作者的《C语言初学者入门讲座》

VCgood论坛转载,作者未知,质量同上一本。http://www.vcgood.com/bbs/forum_posts.asp?TID=1294&PN=4

第六本:Kenneth A.Reek 的《C和指针》

进阶读物,把指针一章演绎为一本书可见其技术精度。指针是C的灵魂,能领会本书中的理念,才能算是真正明白了C指针的奥妙,才算懂得了C。

第七本:Andrew Koenig 的 《C陷阱与缺陷》

进阶读物,在认真读完上面的入门书之前,暂勿阅读。本书畅销14年历久不衰,足证品质。

最后一本:ISO C89规范/C99规范

一切关于C语言的疑问,只有一件东西最权威,那就是ISO的规范。但这不是正式出版物,是类似法律文本的技术说明,而且只有英文版。新手阅读,提防吐血而亡。

然后是C++的教材

C++比C复杂的多,所以教材也就纷繁芜杂。既有综合性入门性的,也有专项深入的,阅读要循序渐进,以下分阶段介绍(以下文字有部分引用自他人评介)。

首先是毫无基础的时候,先要初步掌握语法并形成编程的概念

level 0:

H.M.Deitel和P.J.Deitel的《 C++ How to Program 》(C++大学教程)。

又是这对父子。有很多号称C++入门的书,但经我的观察,如果要选择能推荐给毫无编程概念的新手用的书,这本算是佼佼者了。此父子的《C程序设计教程》我已推荐了。

仍然是K&R,Brian W.Kernighan和Dennis M.Ritchie 的《The C Programming Language》(C程序设计语言)。

尽管C++之父亲口说,最好把C++看作一门新语言来学习,但我个人认为,一开始学习C至少有两大好处。相比C++,C还是非常简单的,易于掌握,避免你过早陷入C++的语法泥潭。同时,学C能让你对计算机的底层运行有所认识,建立良好的概念。

钱能的《C++程序设计教程》

国内C++教材中较好的一本,作者是教师,总结多年教学实践的经验写成的,比较适合国内学生。

PS:老谭也有一本C++教材,在此就不太推荐了,它完全是用C的思维来看C++。

当读者有一定c/c++基础

推荐的阅读顺序:

level 1

从Stanley B.lippman著 侯捷 译的《essential c++》开始,短小精悍,可以对c++能进一步了解其特性。Stanley B.Lippman的职业是提供关于C++和面向对象的训练、咨询、设计和指导。他也是Bjarne Stroustrup领导的Bell实验室Foundation项目的成员之一,负责C++程序设计环境中的对象模型部分。简单说,他是C++的创建者之一。

以Stanley B.Lippman,Josee LaJoie,Barbara E.Moo的《c++ primer》作字典和课外读物,因为太厚不可能一口气看完,当然你也可以用它作为主力教材。Lippman说过了,Josee LaJoie是C++标准委员会原负责人,Barbara E.Moo 是独立咨询顾问,参与了第一个使用C++编写的商业产品的开发,领导了公司中第一个C++编译器项目。

C++之父Bjarne Stroustrup的《the c++ programming language》,简称BS的TCPL,全面而深入的书,缺点也是太厚。

这个阶段 也可以延用前阶段Detiel父子的教材。

level 2 这个阶段就要养成好习惯

然后从Scott Meyers的《effective c++》开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻

接着是 Herb Sutter的《exceptional c++》。此人是C++标准委员会的主席,主席说话,谁有异议。

顺下来就是Scott Meyers的《more effective c++》和Herb Sutter的《more exceptional c++》,请熟读并牢记各条款

level 3 这个阶段 把C++的类搞透

Stanley B.lippman的《insied the c++ object model》(深度探索C++对象模型)看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象。

看完上一本之后,这本Bjarne Stroustrup的《The design and evolution of c++》(C++的设计与演化)会重演一次当年C++他爹在设计整个语言过程中的历程。

Stephen C. Dewhurst的《C++ Gotchas: Avoiding Common Problems in Coding and Design》(C++程序设计陷阱)会帮你在设计层面避免错误。

level 4 这个阶段深入STL吧

Nicolai M.Josuttis的《the c++ standard library》(C++标准程序库—自修教程与参考手册) 是stl的字典,什么都可以查得到。

Scott Meyers的《effective stl》,它和圣经一样是你日常行为的规范。发现没有,Scott Meyers先生一直在搞effective系列。

Matthew H. Austern的《generic programming and the stl》(泛型编程与STL)让你从OO(面向对象)向GP(泛型编程)转变。

光用不行,我们还有必要了解stl的工作原理,那么侯捷的 《stl源码剖析》会解决你所有的困惑。

level 5 彻底掌握模版泛型编程

对于c++无非是OO和GP,想进一步提升OO,Herb Sutter的《exeptional c++ style》是一本主席这么多年的经验之谈,是很长esp的。

一位stl高手是不能不去了解template的,《c++ template》是一本百科全书,足够你看完后对于GP游刃有余。

Andrei Alexandrescu的《modern c++ design》是太过聪明的人写给明眼人看的。

level 6

这个时候,对于C++语法本身,你应该是已经到了随心所欲的境界,你所要练习的大概就是大规模的C++程序的设计以及一些通用的高效库的使用,以及为什么要这样做的理由。

所以,《C++ 输入输出流及本地化》《C++ Network Programming》《大规模C++程序设计》是你需要的。

同时,C++教材中的异类:Barbara E.Moo和Andrew Koenig的《Ruminations On C++》(C++ 沉思录)是值得你一看的,他集中反映了C++的关键思想和编程技术,说明了C++是什么样的以及能够做些什么,不仅告诉你如何编程,还告诉你为什么要这样编程。本书曾出现在众多的C++专家推荐书目中。

和C一样,同样有最后一本书

ISO+IEC+14882-1998 C++规范。这可不是宝典圣经,这就是C++的法律,一切疑问以此为准到此打住。不过,有个脚注,某些具体情况取决于编译器实现。

接下来是Windows编程

至少在国内来说,Windows环境下的编程还是很有市场的。

第一本书:Charles Petzold 的 《Programming Windows》(Windows程序设计)。

如果说,在windows编程领域只能翻阅一本书的话,那就是他了。《Windows程序设计》由微软出版社在1988年首次出版,后来被认为是这方面最好的导论性读本。在1994年5月,Petzold作为仅有的七个人之一(并且是唯一的作家)被《Windows Magezine》和Microsoft公司授予Windows Pioneer奖,以表彰他对Microsoft Windows的成功做出的贡献。这本书经典到这个程度,以至对于Windows程序员来说,“从Chares 的(Window程序设计)一书中寻找答案。”几乎成了一句至理名言。

你可以在这个地方观看到他的外观,http://www.charlespetzold.com/pw5/,国内书店有售,电子版则需要仔细搜索。

第二本:Jeffrey Richter 的《ProgrammingApplicationsforMicrosoftWindows》(Windows核心编程)和《Advanced Windows》(Windows 高级编程指南)

和上面这本书难分伯仲。这么说吧,你读了之后就会后悔,后悔为什么没有早点读他。建议先看高级,再看核心。

个人认为除非windows发生革命性的变化,否则看完这三本书,足以应付通常的Windows编程。

上面三本书介绍的是直接使用WindowsAPI实现应用,总的来说那是一种很基础但很繁琐的方式。Windows下有很多的编程库可以使用,VC和BCB都自备了优良的库。

在VC来说,存在版本的差异,如果是6.0版本,那么你基本只有MFC这一种选择,但对于2002以后的版本,包括新推出的2008,MFC、ATL、.net都不错。

对于MFC。

要学会怎么用,可以看一下这几本:

微软出版社授权的中文版系列书 由David J.Kruglinski,Scot Wingo,George Shepherd写的《Programming Visual C++ 6.0 技术内幕(第5版)》,经典的“Visual C++技术内幕”的第5版。

清华大学出版社出版 杨永国 的《Visual C++ 6.0实用教程(第2版) 》,这本不是那么经典,同类多得很,但好处是便宜,而且能够买到,有些书已经买不到了。

如果想知道MFC的原理,侯俊杰先生的《深入浅出MFC 》(Dessecting MFC)就值得你仔细阅读。

对于VC2002--2008中的.net,单独讲授的似乎目前还没有像《Windows程序设计》那样经典的书出现,毕竟.net出现的时间也不长。但把.net MFC ATL等综合在一起讲的,倒还是有一些。

由H.M.Deitel,P.J.Deitel,J.P.Liperi和C.H.Yaeger共同编写的《Visual C++.NET:How To Program 》(Visual C++.NET大学教程)品质算是上乘。还记得Deitel这对父子作者么,在chinapub上可以看到父子俩合著的教材有47套之多,而且个个畅销,我觉得他们俨然就是美国的谭浩强,只是水平高出不少。

George Shepherd,David Kruglinski 的 《Visual C++ .NET技术内幕(第6版)》,就是上面那本书的.net升级。

IVOR HORTON的《VISUAL C++ 2005入门经典》也可一看。

BCB在版本6以前用的是著名的VCL库,BCBX另起炉灶,用的是wxWidgets库。由于对BC,作者自己涉猎不多,所以这两套库的教材,请大家自行查找。

就像C++和C的规范文件一样,Windows编程中,也有一件类似万宝全书的神物,那就是Microsoft自己推出的MSDN。

MSDN是Microsoft Software Developer Network的简称。这是微软的针对开发者的开发计划。你可以在http://msdn.microsoft.com看到有关软件开发的资料。在VisualStudio中包括MSDN Library的光盘,其中包括VisualStudio的帮助文件和许多与开发相关的技术文献。MSDN Library每个季度更新一次,可以向微软订阅更新光盘,不过价格不便宜。

MSDN就是微软的技术大全,所有微软的软件系统的开发的已公开资料,都在上面。如果在那里也无法找到答案,那你只能想办法咨询微软的内部工程师求得隐藏秘籍。不要妄想能够完全阅读它,3G容量的文档(大部分是文本,不是图片和视频),实在太过巨大了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7692644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存