1. 计算机有哪些必读的经典书籍
计算机专业学习的过程中,大家学习了程序语言C/C++、数据结构、数据库、计算机组成原理、操作系统和计算机网络等基础课,但是还有许多经典书籍值得我们一读,阅读这些书籍不但对我们个人能力提升而且对个人应聘找工作都有很大的帮助。下面罗列出一些经典书籍供大家参考。
1. 程序语言方面
C语言作为最经典的语言,也是计算机专业最先学习的一门语言。首先推荐几本C语言经典书籍:
《C和指针》
《C缺陷与陷阱》
《C专家编程》
《C语言深度剖析》
Expert C Programming
其中《C专家编程》从C的历史、语言特性、声明、数组指针、链接、运行时内存等问题进行了细致的讲解和深入的分析,全书展示出很多优秀的编码技巧,特别适合有一点C语言基础的人观看。《C语言深度剖析》是国内写的一本书,重点讲解了C语言里的一些晦涩难度的问题。
C++语言经典书籍:
《C++ Primer 5th》
《Effective C++》
《深度探索C++对象模型》
《STL源码解析》
C++ Primer
以上几本是学好C++必读的书籍,《C++ Primer 5th》由浅入深全面的讲解了C++的语法与程序设计,是C++程序员必读的一本书,《深度探索C++对象模型》对C++运行原理作了一个很好的剖析,详细的讲解了对象内存模型以及调用运行的本质,对深入理解C++内部机制来说是一本非常好的书籍。计算机底层书籍:
《编码》
《编译原理》
《汇编语言》
《C++反汇编与逆向分析》
Code
《编码》深度形象的讲解了计算机的原理,看完此书后你会对计算机的工作原理有较深刻的理解,强烈推荐大家看一看。
2. 算法、数据结构相关
《算法导论》
《编程珠玑》
《编程之美》
《算法艺术与信息学竞赛》
《算法导论》是算法领域的圣经,这本书很厚并且理论知识较强,很难从头到尾认真的看一遍,大家可以选择性地看,当然能完整的看完就更好了。《编程珠玑》和《编程之美》这两本书也非常经典,里面注重的是解决问题的思路,看的时候要认真思考里面的问题。最后一本是关于ACM方面的书,如果自己能力足够强的话,看看这本书也还是挺不错的
LeetCode 中国
当然,这里不得不向大家推荐的就是 LeetCode 在线技术平台了,专注于做算法、学习、求职和计算机科学相关的内容,被誉为计算机界的刷题神器。目前,LeetCode 也已经进入中国,有自己的中文网站( leetcode-cn ),不仅提供了 LeetCode 的全部服务,还有中英文题目对照和中文社区,总算可以愉快的刷题了。
3. 操作系统相关
《深入理解操作系统》
《linux内核完全注释》
《自己动手写操作系统》
《Windows内核原理与实现》
Linux内核完全注释
《Linux内核完全注释》一书选取了代码量不超过2万行的linux 0.11内核,对内核代码的每一个细节都作出了详细的讲解,麻雀虽小,五脏俱全,看完这本书对linux操作原理会有一个很深的理解,是国内一本非常优秀的书。
4. 软件开发、设计相关
《Head First 设计模式》
《设计模式-可复用面向对象软件的基础》
《重构与模式》
《代码大全》
《设计模式》(GOF)
Head First - 设计模式
设计模式在工作中重要性尤其突出,良好的软件设计对于后期的维护、扩展有着重要的作用,对于大型软件,首先要做的就是设计好整个软件架构,这也是整个软件开发过程中最难的一个环节。
5. 数据库
《数据库系统概念》
《数据库系统实现》
《MySQL技术内幕:sql编程》
《MySQL技术内幕: InnoDB存储引擎》
2. 程序员打基础必看书籍!
1、《深入理解计算机系统》
从c语言到汇编语言到硬件再到操作系统,写得非常好。是一本能帮助深入理解计算机系统的书。基本上把这本书吃透面试操作系统的大部分问题都不是问题。
2、《算法导论(第三版)》
被很多acmer coder奉为学算法的经典之作,但不太适合初学者,因为它这本书很多内容只提供了伪代码,而没有具体实现。但可以从这本书学数据结构和算法好,因为日后的编程语言对实现而言实际上并没有特别大的障碍,只是适合与不适合的选择罢了,而把想法转换成编程语言才是对算法知识的考验。如果不想太过深入的话可以忽略掉第四部分(高级设计和分析技术)第五部分(高级数据结构)和第七部分(算法问题选编),你会发现书其实比你想象中薄很多噢!
3、《计算机网络:自顶向下方法》
软件学院的计算机网络教材,非常适合初学者,里面将计算机网络从顶层到底层逐章分析了一遍,如果能够结合一些实验来辅助理解会更好,因为里面的讲解比较抽象。
4、《STL源码剖析》
如果你是经常用c++刷算法题的同学,那么一定经常用STL的各种集合, vector, set, stack, queue等等。它们的实现原理,在源码面前,完全没有秘密。
5、《图解HTTP》
日本人着的介绍HTTP协议的书,对理解HTTP协议的一些细节有非常大的帮助,插画也很多,感觉就像看漫画一样,很容易理解的。
6、《TCP/IP详解卷一》
这本书能把枯燥的知识讲得很细致,强烈推荐这本,看完相应章节后大概能够明白为什么TCP/IP要这么设计了。面试的时候经常问到三次握手和四次挥手,还有各种状态的转移, TIME_WAIT的时间为什么是2*MSL······
7、《UNIX网络编程卷一:套接字联网API(第三版)》
中文版快800页,不过我只看了一些章节,这本书也是把TCP/IP的细节讲得很深很深,此外还有非常重要的基本套接字编程,就是写网络程序的时候那些bind, accept, listen, send, receive函数之类的,内容非常多,但是这些是理解多路复用模型所需要掌握的······select/poll/epoll这些系统调用解决了什么问题?事件机制能不能理解?就看这本书的前六章了。
8、《数据库管理系统(原理与设计)》
这个也是web开发中离不开的东西,必须划重点学会的是ER图/SQL语句/存储数据(磁盘|文件|RAID|缓冲池等)/三大范式/索引以及相应的数据结构/事务相关的所有概念,尤其重点学习SQL 。之后学会使用mysql workbench来进行数据库建模/逆向工程生成建表语句/根据SQL生成java实体类等就不赘述了,开发过程中网络谷歌一下就知道啦,然后如果习惯在windows下开发的同学推荐利用navicat这个好东西。
3. 有哪些程序员看的书推荐一下的吗
程序员都输的话,你可以直接在淘宝上面买一下比较火的急吧,一般的话国外的书比较好一点。
4. Java程序员必读的书籍
建议你看看《java程序员,上班那点事》,很多泥都会明白了!
5. 做程序员,你看过哪些比较好的书
好的书很多啊,但是需要花时间慢慢品味,一般买书回来都是摆设的,比较好的有第一行代码,java思想,深入理解java虚拟机等等
6. 一个合格的程序员应该读过哪些书
1、《代码大全》 史蒂夫·迈克康奈尔
推荐数:1684
“优秀的编程实践的网络全书,《代码大全》注重个人技术,其中所有东西加起来, 就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky
对于新手来说,这本书中的观念有点高阶了。到你准备阅读此书时,你应该已经知道并实践过书中99%的观念。– esac
Steve McConnell的原作《代码大全》(第1版)是公认的关于编程的最佳实践指南之一, 在过去的十多年间,本书一直在帮助开发人员编写更好的软件。
现在,作者将这本经典着作全新演绎,融入了最前沿的实践技术,加入了上百个崭新的代码示例, 充分展示了软件构建的艺术性和科学性。 McConnell汇集了来自研究机构、学术界以及业界日常实践的主要知识, 把最高效的技术和最重要的原理交织融会为这本既清晰又实用的指南。
无论您的经验水平如何,也不管您在怎样的开发环境中工作,也无论项目是大是小, 本书都将激发您的思维并帮助您构建高品质的代码。
《代码大全(第2版))》做了全面的更新,增加了很多与时俱进的内容,包括对新语言、新的开发过程与方法论的讨论等等。
2、《程序员修炼之道》
推荐数:1504
对于那些已经学习过编程机制的程序员来说,这是一本卓越的书。 或许他们还是在校生,但对要自己做什么,还感觉不是很安全。
就像草图和架构之间的差别。虽然你在学校课堂上学到的是画图,你也可以画的很漂亮, 但如果你觉得你不太知道从哪儿下手,如果某人要你独自画一个P2P的音乐交换网络图,那这本书就适合你了。—— Joel
《程序员修炼之道:从小工到专家》内容简介:《程序员修炼之道》由一系列独立的部分组成, 涵盖的主题从个人责任、职业发展,知道用于使代码保持灵活、并且易于改编和复用的各种架构技术, 利用许多富有娱乐性的奇闻轶事、有思想性的例子及有趣的类比, 全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。
无论你是初学者,是有经验的程序员,还是软件项目经理,《程序员修炼之道:从小工到专家》都适合你阅读。
3、《计算机程序的构造和解释》
推荐数:916
就个人而言,这本书目前为止对我影响醉倒的一本编程书。
《代码大全》、《重构》和《设计模式》这些经典书会教给你高效的工作习惯和交易细节。 其他像《人件集》、《计算机编程心理学》和《人月神话》这些书会深入软件开发的心理层面。 其他书籍则处理算法。这些书都有自己所属的位置。
然而《计算机程序的构造和解释》与这些不同。 这是一本会启发你的书,它会燃起你编写出色程序的热情; 它还将教会你认识并欣赏美; 它会让你有种敬畏,让你难以抑制地渴望学习更多的东西。
其他书或许会让你成为一位更出色的程序员,但此书将一定会让你成为一名程序员。
同时,你将会学到其他东西,函数式编程(第三章)、惰性计算、元编程、虚拟机、解释器和编译器。
一些人认为此书不适合新手。 个人认为,虽然我并不完全认同要有一些编程经验才能读此书,但我还是一定推荐给初学者。 毕竟这本书是写给着名的6.001,是麻省理工学院的入门编程课程。 此书或许需要多做努力(尤其你在做练习的时候,你也应当如此),但这个价是对得起这本书的。
4、《C程序设计语言》
推荐数:774
这本书简洁易读,会教给你三件事:C 编程语言;如何像程序员一样思考;底层计算模型。 (这对理解“底层”非常重要)—— Nathan
《C程序设计语言》(第2版新版)讲述深入浅出,配合典型例证,通俗易懂,实用性强, 适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。
《C程序设计语言》(第2版新版)原着即为C语言的设计者之一Dennis M.Ritchie和着名的计算机科学家Brian W.Kernighan合着的 一本介绍C语言的权威经典着作。 我们现在见到的大量论述C语言程序设计的教材和专着均以此书为蓝本。 原着第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。
人们熟知的“hello,world”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。
5、《算法导论》
推荐数:671
《代码大全》教你如何正确编程; 《人月神话》教你如何正确管理; 《设计模式》教你如何正确设计……
在我看来,代码只是一个工具,并非精髓。 开发软件的主要部分是创建新算法或重新实现现有算法。 其他部分则像重新组装乐高砖块或创建“管理”层。
我依然梦想这样的工作,我的大部分时间(>50%)是在写算法,其他“管理”细节则留给其他人…… —— Ran Biron
经典的算法书,被亚马逊网,《程序员》等评选为2006年最受读者喜爱的十大IT图书之一。
算法领域的标准教材,全球多所知名大学选用
MIT名师联手铸就,被誉为“计算机算法的圣经”
编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。
6、《重构:改善既有代码的设计》
推荐数:617
《重构:改善既有代码的设计》清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式, 并给出了何时以及何地应该开始挖掘代码以求改善。 书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。
《重构:改善既有代码的设计》提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。
《重构:改善既有代码的设计》适合软件开发人员、项目管理人员等阅读, 也可作为高等院校计算机及相关专业师生的参考读物。
我想我不得不推荐《重构》:改进现有代码的设计。—— Martin
我必须承认,我最喜欢的编程语录是出自这本书:任何一个傻瓜都能写出计算机能理解的程序, 而优秀的程序员却能写出别人能读得懂的程序。—— Martin Fowler
7、《设计模式》
推荐数:617
自1995年出版以来,本书一直名列Amazon和各大书店销售榜前列。 近10年后,本书仍是Addison-Wesley公司2003年最畅销的图书之一。 中文版销售逾4万册。
就我而言,我认为四人帮编着的《设计模式》是一本极为有用的书。 虽然此书并不像其他建议一样有关“元”编程,但它强调封装诸如模式一类的优秀编程技术, 因而鼓励其他人提出新模式和反模式(antipatterns),并运用于编程对话中。—— Chris Jester-Young
8、《人月神话》
推荐数:588
在软件领域,很少能有像《人月神话》一样具有深远影响力并且畅销不衰的着作。
Brooks博士为人们管理复杂项目提供了最具洞察力的见解。 既有很多发人深省的观点,又有大量软件工程的实践。 本书内容来自Brooks博士在IBM公司System/360家族和OS/360中的项目管理经验。
该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄中等多种语言,全球销量数百万册。 确立了其在行业内的经典地位。
9、《计算机程序设计艺术》
推荐数:542
《计算机程序设计艺术》系列着作对计算机领域产生了深远的影响。 这一系列堪称一项浩大的工程,自1962年开始编写,计划出版7卷,目前已经出版了4卷。
《美国科学家》杂志曾将这套书与爱因斯坦的《相对论》等书并列称为20世纪最重要的12本物理学着作。 目前Knuth正将毕生精力投入到这部史诗性着作的撰写中。
这是高德纳倾注心血写的一本书。—— Peter Coulton
10、《编译原理》(龙书)
推荐数:462
我很奇怪,居然没人提到龙书。(或许已有推荐,我没有看到)。 我从没忘过此书的第一版封面。 此书让我知道了编译器是多么地神奇绝妙。- DB
7. 编程学习必看的书
一、《Web前端开发最佳实践》
这本书是前端开发领域的经典之作,是一本扎实前端基本功,规范我们前端代码的实践性书籍。本书主要讲解了HTML、CSS、Javascript以及移动端开发的最佳实践方案,能够对缺乏良好指导的开发者产生很大的帮助。通过阅读本书我们可以掌握如何编写高可读性、高维护性、高性能的HTML、CSS以及Javascript。
二、《CSS那些事儿》
内容介绍:《CSS那些事儿》是2009年电子工业出版社出版的图书,作者是林小志。该书通过对CSS技巧实例进行讲解,浅入深地分析了CSS相关知识。
通过页面中的文字、图片、表格、表单等常见元素的处理及各种页面布局方式的使用,使读者能深入了解到如何在页面中更好地运用CSS布局。尤其是在页面布局的部分中,全面分析了多种布局方式,着重分解了两列等高和三列等高的几种方式,并相应说明了等高布局的优缺点。
三、《CSS权威指南》
内容介绍:《CSS权威指南》通过诸多实例,详细讲解了如何做到仅在一处建立样式表就能创建或修改整个网站的外观,以及如何得到html力不能及的更丰富的表现效果。同时展示了如何遵循css最新规范(css2和css2.1)将层叠样式表的方方面面应用于实践。
七、HTTP权威指南
内容介绍:《HTTP权威指南》由古尔利所着,《HTTP权威指南》详细解释了如何用HTTP来开发基于Web的应用程序,核心的[因特网协议,如何与架构构建块交互,如何正确实现因特网客户和服务器等。
《HTTP权威指南》的中心内容是HTTP,本质是理解Web的工作原理,以及如何将这些知识应用到Web编程和管理之中,主要涵盖HTTP的技术运作方式、产生动机、性能和目标以及一些相关技术问题。 《HTTP权威指南》适合所有想了解HTTP和Web底层结构的人阅读。
八、高性能网站建设指南
内容介绍:《高性能网站建设指南》结合Web2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、技术技巧和最佳实践。重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。
8. 程序员的软技能书籍有哪些值得推荐
1. 《深入理解计算机系统》:(美)布赖恩特 (Bryant,R.E.) 等着。 以程序员的角度和全局的视角来审视计算机系统,涵盖从数据表示到程序运行、系统交互的各个方面,非常值得深读!
2. 《Writing solid code》: (美) Steve Maguire 着。 想写出 bug-free 程序的上佳读物之一。相应读物的还有《高质量程序设计艺术》(code quality: from a open source perspective) , 《代码整洁之道》(Writing clean code),《编写可读代码的艺术》(The Art of Readable Code)
3. 《Thinking in Java》:(美)Bruce Eckel 着。 Java 语言编程的推荐教材。 《Effective Java》(Joshua Bloch着) 作为进阶书籍。
4. 《设计模式——可复用面向对象软件的基础》:(美)“四人帮”着。 设计模式的必读书籍(亦可用于参考)。
5. 《实现模式》: Kent Beck 着。 非常有益的面向对象编程经验谈。
6. 《重构: 改善既有代码的设计》: Martin Fowler 着。 作为面向对象编程的收藏书籍,随时可参阅。
7. 《Test Driven Development: By Example》: Kent Beck 着。 测试驱动开发的优秀入门书籍
8. 《MYSQL必知必会》: (英)Ben Forta 着。 人民邮电出版社。薄薄的一百页左右, 快速上手和使用 mysql 数据库。
9. 《正则表达式必知必会》: (英)Ben Forta 着, 杨涛 / 王建桥 / 杨晓 译。人民邮电出版社。 薄薄的一百页左右, 清晰的阐述, 适合正则表达式的快速了解和上手。
10. 《Java TCP/IP socket 编程》: (美)Kenneth L.Calvert, M.J. Donaboo着, 周恒民译。 非常好的 Java tcp/ip socket 入门读物, 详细地讲解了相关的知识点,有相应的实例为佐, 并且对底层、性能等方面也作了一定的阐述。
11. 《Ubuntu Linux 指南:基础篇》: Mark G.Sobell 着。 学习和使用 Linux 系统的优秀入门读物, 建议未接触过 Linux 系统的童鞋从 Ubuntu 起步。
12. 《Perl 语言入门》(第五版) : Randal L.schwartz 等着, 盛春等译。 Perl 入门的推荐教程。通俗易懂、详尽得当。
9. JAVA程序猿必须看的书本有哪些
java程序入门到精通
10. java初级程序员应该看什么书
学Java,有哪些推荐书籍可以看?很多人都会有这样的疑问。如果你初出茅庐,对Java感兴趣,在这行深钻研,那么这些书绝对不能少;如果你已经是个Java工程师,那么这些书可以帮助你在Java的路上更加精进。一起来看看吧!
四大名着之《Java核心技术(第10版)》
提起Java入门必读,四大名着是少不了的。《Java 核心技术》就是其中之一,分卷一、卷二两册,卷一讲基础,卷二为进阶。全书对于Java语言的核心概念、语法、重要特性和开发方法讲解地非常细致,可以说是一部有关Java的网络全书。
四大名着之《EffectiveJava中文版(第 2 版)》
“神书”、“整本书都是精华”、“内容永不过时”、“Java 程序员必读”……这些标签都是属于《Effective Java中文版》的。
这本书不是讲理论基础的,而是讲实战的。书中介绍了78条极具实用价值的经验规则,涵盖了大多数开发人员每天所面临的问题的解决方案,并且通过代码例子进一步进行佐证,让你知其然,也知其所以然。
哪怕不是Java程序员,也能买来看看,书中绝妙的编程观是跨语言、跨平台的。
四大名着之《Java 编程思想(第 4 版)》
这同样是一本Java领域的经典书籍,从Java编程的基础知识点开始讲起,慢慢深入,一直到Java的高级特性。作者用了大量通俗易懂的代码对理论进行佐证,让读者在实际操作中可以深入理解操作符、枚举类型、接口等相关知识。
这是一本被广大读者评价为“不管什么时候阅读都会有收获”的书,不论你是否刚接触 Java,都可以在阅读中获得启迪。
《深入理解Java虚拟机:JVM 高级特性与最佳实践(第 2 版)》
用Java却不懂JVM是说不过去的,但市面上有关JVM 的书很少,这本书更是少有的国内讲解此方面备受好评的书,甚至可以说是JVM书籍最好的读物之一。
本书整体内容更偏向实战,难易适中。从内存管理、执行子系统、程序编译与优化、高效并发等核心主题讲解JVM。第2版根据JDK1.7进行了内容升级,整体上不光适合入门,而且对于已经接触JVM的人来说,也会常读常新。
《Java语言程序设计(基础篇)(原书第 10 版)》
这应该是很多程序员,尤其是Java程序员倍感亲切的书,因为这本书可以说是他们当中很多人的入门初心。
本书从最基本的程序理论知识出发,哪怕你完全没有Java基础,也可以通过这本书了解Java基本的程序设计、语言结构、面对对象程序设计等知识。书中还配了大量的代码和课后习题,让读者在了解有关Java的基础知识的时候,也能进行实践深入理解。
非常适合零基础、Java 和编程爱好者来读。
《Java 高并发编程详解:多线程与架构设计》
全书主要分为四个部分:第一部分主要阐述Thread的基础知识;第二部分引入了 ClassLoader; 第三部分详细、深入地介绍volatile关键字的语义;第四部分也是最重要的一部分,站在程序架构设计的角度深入讲解了如何设计高效灵活的多线程应用程序。
上述就是几本学Java要看的书籍。目前Java软件工程师的就业机会和人才需求量是非常大的。再加上Java程序员不仅IT专业企业需要,广大的非IT企业也需要,前景是非常乐观的。