我要学编程,看什么书好?--^_^,这里推荐一些个人觉得很不错的书

来源:互联网 发布:http 数据库 编辑:程序博客网 时间:2024/04/29 19:37

如果你觉得这个文章对你有帮助,留下个脚印吧。

不同的方向,就要看不同的书,有的时候没办法说看了一本就能解决所有问题了,从小白到高手都要看各种书,在不同的环境下编程就要用到不同的书。

比如:我最近需要写一个网络程序,那看《unix环境高级编程》就不够,里面讲的太少了。如果要写驱动,那就要看驱动和内核方面的书。

因此根据我个人的了解,想了一些自己认为在某个方面需要看的书。

以下书难度有高有低,有的不适合小白看,有的高手看了没用,有空了我整理下要看哪个书之前需要看哪些东西作为前期准备。


如果想学网络协议

推荐:
《计算机通信网》《TCP/IP协议族》《局域网与城域网》 《TCP/IP详解 卷一 协议》《接入网技术》

心得:

本人网络专业出身,这部分比较有心得。

《计算机通信网》 : 这本书讲了很多基础,重点是给我们建立一个OSI模型和TCP模型的概念,看的时候,可以认真揣摩下每个协议层做了哪些功能,为什么要实现这些功能,具体协议细节不要看了,讲的不够。

《TCP/IP协议族》 : 一本经典教材,讲的其实是一个OSI和TCP的混合模型,,但是都是集中在网络层之,数据链路层和之下的一笔带过了,如果要理解下面两个层做了什么,推荐《局域网与城域网》,这本书具体介绍了每个协议的内容,认真看一下 “变长子网划分” “IP” “ICMP” “ARP” “TCP” "UDP" "RIP" “OSPF” “BGP” 这几个协议,从原理到报文,慢慢啃,有很多东西值得回味。其他的比如“NAT” “TELNET” “HTTP” 稍微熟悉下就好了。 另外这些东西的标准文档都是 RFC

《局域网与城域网》 : 这本书很经典的介绍了物理层和数据链路层,里面的内容非常的杂,比TCP/IP的要复杂很多,这两层的标准是IEEE规定的,如果要深入理解就去看IEEE的标准文档。这本书内容都很重要,很多都值得揣摩,很多信息都在字里行间。

 《TCP/IP详解 卷一 协议》 : 个人感觉和《TCP/IP协议族》差不多,两本书可以对照着看,如果懂一本了,另外一本看起来就简单很多了。

《接入网技术》: 这个讲的是接入网方面的内容,主要涉及的就是3A(接入、认证、授权三个方面),这个和实际应用很有关系,如果去网络运营商,这本书肯定是要啃的了。接入网的标准主要是ITUT定制的,可以查看相关文档。书中提到了很多我们常见的接入网,比如ADSL,  无线局域网,无线城域网, 无线广域网等等(内容有些记不清了)


如果想知道网络协议底层如何实现:

推荐:
《深入了解网络技术内幕》

心得:

老子还没看,怎么知道


如果想了解系统底层实现

推荐:
《linux内核设计与实现》 《深入理解linux内核》 《linux设备驱动程序》《深入分析linux内核源码》

心得:

非计算机出身,这些学的不深,正在啃。。。。

《linux内核设计与实现》:最近在啃的一本书,看名字都知道内容,每个章节都很重要,有空了写心得

 《深入理解linux内核》: 是上面的书的进阶版,啃都没啃,哈哈哈

 《linux设备驱动程序》 : 很多时候做产品就是要写驱动,所以要整驱动这本书是少不了了,还没啃

《深入分析linux内核源码》 : 侯捷有一句话”源码面前 了无秘密“,理解了机制,但是不懂怎么实现,看看源码就能帮我们更好的理解其中的原理,有空了啃

如果想做网络仿真

推荐:

这个没什么书籍推荐,常用网络仿真软件有 omnet++ opnet NS2

心得:

网络仿真的书真的很少,这里指的是怎么使用这些软件,多看看国外论坛是一个很好的选择,去年做omnet++仿真,整的死去活来,至今还有阴影。。。。推荐弄明白网络后再来做这个,不然比我死的更惨。。。

如果想学习算法

推荐:
《算法导论》 《计算机程序设计艺术 卷一 基本算法》 《计算机程序设计艺术 卷二 半数值算法》 《计算机程序设计艺术 卷三 排序和查找》

心得:

看了不写等于白看。不看就写没那能耐。所以心得就是一句话“在实践中检验真理”,写3遍自然什么都明白了。《算法导论》 还好,只要口味够重,可以去看后面三本书。

建议看这些书之前,先会写C。不用会C++,这个对算法没什么用处

如果想学习嵌入式开发

推荐:
买一个开发板回来,然后看里面的视频比较好,貌似没有什么经典的书

心得:最近在学这玩意,所以正在整理中。。。

如果想学大型网络服务器编程

推荐:
《UNIX网络编程 卷1》《UNIX环境高级编程》《UNIX网络编程 卷二 :进程间通信》

心得:

这三本书真的很经典哇,作者那个…… 咦!我怎么给忘记了? 算了,看就是了,说说怎么看这些书吧。还是那句话“在实践中检验真理”,三本书都是工具书,需要做到

2点,知道它有什么,知道它能做什么,用的时候才能知道怎么查,怎么用。然后是大致介绍

《UNIX网络编程 卷1》 : 要写一个网络程序,就要看这本书,这里说的网络程序不是那种应用程序,如QQ这样的,这里的网络程序说的更多的是大型的服务器程序,书里面层层递进,讲了实现网络程序的?种方法(几种方式来着,又给忘记了,有空了查一下),然后比较了各种方法的优缺点,啃明白了,就明白自己要做什么样的程序用什么样的模型去实现了。

《UNIX环境高级编程》: 主要介绍了unix环境高级编程的很多可以用到的工具,很基础,但是也很强大

《UNIX网络编程 卷二 :进程间通信》 : 如果看过上面两本了,那这本看起来就没那么累了,里面介绍了很多中进程之间通信的方法,非常有实用意义,值得啃一啃。

如果对C一点都不了解:

推荐:
《C与C指针》《C编程一站式学习》 《你必须知道的495个c语言知识》 《c高质量编程》 《C专家编程》 《C陷阱与缺陷》

心得:

这几本书都是初学C的人可以看的,从不同方面讲了怎么学C,怎么用C,从基础知识,到编程习惯,到注意内容都有涉及,我大概介绍下吧

《C与C指针》、《C编程一站式学习》 初学C就可以看这两本,边看边做,

 《你必须知道的495个c语言知识》:涉及一些用C的时候遇到的问题,很多都可以在这里面得到解答,感觉还算可以

 《c高质量编程》 : 编写程序,一个良好的习惯非常重要,这本书就给我们介绍了编程时需要注意的一些习惯,提高代码质量,里面细到包括什么时候输入空格都有说明。如果写过几百行代码的人就可以过来看看这本书了。

《C专家编程》 、《C陷阱与缺陷》:这两本书算C的进阶版吧,看看就好,对编程有帮助

如果对C++一点都不了解

推荐:
《C++ primer》《C标准函数库》 《STL源码剖析》 《Effective C++》

心得:

《C++ primer》 : 学C++的人都会知道这本书了,要学C++,最好还是有些C的功底后再学,这样会好学很多,C是面向过程的,C++是面向对象的。所以在用的环境就会有很多不同,当然也会有很多时候会混合两种编程的风格,比如可以使用C++中的容器,但是写的又是一个C风格的程序。学C++肯定逃不开“类”, 然后所有的东西都是围绕类开始说明的,比如STL中题通的各种容器就是一个类封装,还有怎么使用类继承,怎么编写模板类等等。

《C标准函数库》:这个书是侯捷推荐的,我没看过,有些厚,暂时没打算啃,毕竟自己不是学计算机的。

 《STL源码剖析》 :看了一下这本书,写的很好,言简意该,第一步看的时候可以先看看每种容器实现的思路方式,这对你以后选择什么容器很有帮助,然后可以看一下一些容器的实现方法,这对以后自己封装类也很有帮助。

《Effective C++》 :没看,但是知道是好书,我说了我不是学计算机的。。。。

如果想学图形编程

推荐:

《深入了解MFC》《JAVA编程》 《QT GUI》 《QT高级编程》


心得:
《深入了解MFC》: 没看,这玩意很老了吧,现在还有用么? 

《JAVA编程》 :我知道java现在用的很多,不过我学的是Qt,所以这个也没看,懂一个就够了。

《C++  GUI Qt4编程》 :学Qt的入门书籍,另外我还在youku上传了我找到的一个很好的Qt教学视频,里面对很多类做了介绍,一步步的教我们怎么用,送上网址http://www.youku.com/playlist_show/id_17270061.html

《QT高级编程》:和上面的那本差不多,用的要高级很多,进阶的时候看

如果想要学习linux系统怎么使用

推荐:
《linux鸟哥的私房菜》 《linux命令、编辑器和shell编程》

心得:

《linux鸟哥的私房菜》 : linux用起来麻烦,我当时是冲着这个系统可以装B,以及那华丽的桌面特效去的,后来发觉linux下编程真的不是一般的爽,所以慢慢也开始用linux了。这个东西入门很难?感觉有些,因为大部分东西都需要你输入命令去完成,不像window下那样,所以这两本书都可以看看,而且可以当作工具书来看

《linux命令、编辑器和shell编程》



下面的书介绍只是前几年看的书,和程序员没关系,我提及就好了,具体不做解释了,但是有空了看看还是很好玩的,尤其是想创业的可以看看(貌似我自己连毕业都没,说这个会不会太装了?)

如果想了解金融方面的知识

推荐:
《金融学》 《金融市场与金融机构》

如果想了解营销方面

推荐:
《营销管理》

如果想了解经济方面的知识

推荐:
《经济学》 《微观经济学》