阅读更多

35顶
25踩

编程语言

原创新闻 技术牛人书架中排名前9½的书籍

2008-04-07 09:23 by 正式记者 cjnajr 评论(44) 有35131人浏览

技术牛人书架中排名前9½的书籍

      每一个技术牛人都应该有一个坚固结实的图书馆以提供点子和参考。这份单子包含很广,从顶级大学计算机系的教材到深入工业实际的书籍,可以说是技术牛人的经典书单。

Buy The Mythical Man Month

The Mythical Man Month: Essays on Software Engineering - Anniversary Edition

by Fredrick P. Brooks
      这是一本探讨关于软件工程中人的因素的经典,最早出版于1975年。从那以后,计算机技术发生了很多变化,但是软件工程中人力因素仍然没有改变。这是很值得思考,并被经常引用,而且为整个工业界所熟知的问题。“人月神话”还描述了很多在大中型软件开发中通常会遇到,并使得工程失败的问题。这里有两项重要的原则:
      人月神话:往延期的软件工程中增派人手,往往会使得工程更加滞后。
      没有银弹:不存在一种单一的策略,技术或者花招可以显著的提高程序员的生产力。 
      我不只是推荐程序员阅读这本书,任何管理一项软件工程的人都适合阅读。项目经理和程序员都会欣赏这本书的观念的。

 

Buy The C Programming Language

The C Programming Language (2nd Edition)

by Brian W. Kernighan and Dennis M. Ritchie

这是一本C语言的参考书,既不过于简洁也不臃肿,完全适合初学者阅读。作者告诉你的不多也不少,正是你所需要的。你会发现这本只有274页的书是你所能找到的最精炼的参考书。我敢打赌,一个java书籍的作者是不可能写得这么简洁的。

这本书适合任何想学习C语言的人阅读。对任何打算写编程书籍或者技术文章的人来说,这本书都是必读的。
      假如你从来没有编写过程序,阅读这本书也许不是最佳的开端,但仍然是值得尝试一读的。初学者也许可以考虑获得一本该书的答案册,其中给出了该书练习的详细解答。

 

Buy Structure and Interpretation of Computer Programs

 

Structure and Interpretation of Computer Programs (2nd Edition)

by Harold Abelson and Gerald Jay Sussman

在很多顶尖大学,包括加州大学-伯克利分校和麻省理工学院,数据结构和计算机编程实现都是计算机科学的入门级课程。这门课介绍了很多有用的概念,包括递归,符号计算,抽象和解释性语言。
      当我在计算机入门课中第一次读这本书的时候,我发现它有些难,几年后当我重新读它的时候,仍然发现有一些需要学习思考的地方。
      如果你没有机会在课堂上使用这本书,我还是推荐你摘要性地读一读,看看有什么你忽略的地方,特别是假如你没有使用过lisp的方言的话就更应该一读了。

 

Buy Code Complete

Code Complete 2: A Practical Handbook of Software Construction

by Steve McConnell

 

   《代码大全》 这本书要推荐给那些希望写出高质量的可靠代码的人。阅读这本书,初学者会学到好的编程技巧而大大节省他们的时间,那些编程多年的人会发现正是他们多年积累的习惯阻止了他们的前进。

 

 

 

 

Introduction to Algorithms

 

Introduction to Algorithms

by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein

 

 

   《算法导论》推荐给那些希望提高他们算法能力的程序员。如果你对NP问题,随机算法或者快速傅立叶变换感兴趣的话,也推荐你一读。当然,好的数学功底是阅读这本书必不可少的基础。

 

 

Buy Design Patterns: Elements of Reusable Object-Oriented Software

 

Design Patterns: Elements of Reusable Object-Oriented Software

by Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides

 

    这本书是中高级开发者了解面向对象的代码所必读的。

 

 

 

 

 

 

Programming Pearls

 

Programming Pearls (2nd Edition)

by Jon Bentley

    我向任何喜欢编程,把编程当作脑力游戏的人推荐这本书。

 

 

 

 

 

 

 

Buy Compilers: Principles, Techniques, and Tools

 

Compilers: Principles, Techniques, and Tools

by Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman

 

    我特别喜欢这本书的数学和理论部分 ,这也是本书的一个很大的主题。假如你觉得正则表达式和状态机很迷人,你会非常喜欢这本书的。但另一方面,由于出版年代的原因(1986年),在介绍文本的编译器实现细节方面显得有些欠缺。

 

 

 

 

Unix Power Tools, Third Edition

by Shelley Powers, Jerry Peek, Tim O’Reilly, and Mike Loukides

    这是一本少有的对初学者和专家都有价值的图书。从Unix新手到经验丰富的系统管理员都可以从这本书中获取很多知识。

 

 

 

 

 

 

The Ultimate Hitchhiker's Guide

 

The Ultimate Hitchhiker’s Guide: Five Complete Novels and One Story

by Douglas Adams

这本书简直都可以认为是黑客的圣经,当然比圣经更可信!

35
25
评论 共 44 条 请登录后发表评论
44 楼 iceman1952 2011-12-08 23:28
我确实觉得“正则表达式”和“状态机”挺迷人的
43 楼 只想做麻雀 2010-09-30 18:08
  
喔了个擦?~
竟然还有《银河漫游指南》?
42 楼 guji528 2009-04-14 11:12
一本都没看过,有些遗憾。
41 楼 duloveping 2009-03-13 18:40
我只有两本这样的书籍啊.呵呵 .这些人实在太牛了.这些书籍很好看啊.
40 楼 czanyou 2009-02-05 12:48
没有看过一本....
39 楼 black.angel 2009-02-05 12:26
没有一本看过........  
38 楼 damocreazy 2009-01-05 12:35
没看过
有机会看看
37 楼 lyl_qq 2009-01-04 14:19
啊 电脑卡机  发了好多不好意思
36 楼 lyl_qq 2009-01-04 14:18
初学者 一本都没看过
35 楼 shejf 2009-01-04 12:56

    The Ultimate Hitchhiker’s Guide: Five Complete Novels and One Story
34 楼 鹤惊昆仑 2008-12-29 19:30
Unix Power Tools这书不错,不过放这不合适
33 楼 zongxing 2008-12-18 18:56
买了一堆书,没几本看完的。
32 楼 gurudk 2008-11-18 13:01
没有knuth系列?
31 楼 zqrain 2008-09-02 12:53
这个单子是如何“臆造”出来的?

不明白楼主的意思是看了这些书就很牛? or 不看这些书就不牛?
30 楼 冬雪风铃 2008-05-14 10:10
代码大全不错,第二版出来我就买了一本,只是一直没什么时间看完。
29 楼 beyondbin 2008-05-10 18:17
人月神话、代码大全
28 楼 antti 2008-05-10 00:19
感谢推荐,一定找机会去看看
27 楼 warren 2008-05-08 15:39
一本都没有,原版的书籍买不起
26 楼 deer 2008-05-07 13:41
应该读一些好书,谢谢推荐!
25 楼 zl584521 2008-04-10 10:20
没一本看过,惭愧!+

呵呵,就看了点 代码大全 觉得像 模式

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 笨方法使用Kubernetes实现持续交付

    本文将探讨如何构建一种用于持续集成的架构,我们采用了由简至繁的方法。在每一次将架构复杂化时,我们会给出原先的简单方法的局限性,并验证添加架构的复杂性和/或重构架构是合理的。本文所给出的终极方法,是Weaveworks探索出的最适合自身的方法。持续交付是以频繁且少量的方式而非一次性大批量的发布去生成软件的方法。为什么持续交付很重要?将版本持续部署到应用会消除“发布日”的思维模式。理论上讲,版本的完成越是频繁,那么版本的风险也就越低。开发人员还可在代码就绪时更改应用(无论是实现新代码,或是回滚到旧版本)。这意味着可以更快地更改业务,进而使企业更具竞争力。由于微服务间使用API互相通信,需要保证版本

  • 以生产为导向的开发(又称交付为驱动的开发)是取得优异成绩的必经之路

    在我看来,定义生产/交付驱动的开发的动机是缺乏对所有其他DD中软件开发的最重要部分的关注。 最重要的是为最终客户提供价值,这是通过使用我们的软件达到量产而实现的。 大多数DD将此作为附带目标,而它始终必须是任何软件开发的主要目标。 生产/交付驱动开发中有4条规则 规则0 –尽快交付生产 规则1 –从用户角度看质量至关重要 规则2 –尽可能重复 规则3 –量身定制的方法 ...

  • linux usb运行,详细介绍Linux USB驱动工作流程

    1. USB主机在Linux驱动中,USB驱动处于最底层的是USB主机控制器硬件,在其之上运行的是USB主机控制器驱动,主机控制器之上为USB核心层,再上层为USB设备驱动层(插入主机上的U盘、鼠标、USB转串口等设备驱动)。因此,在主机侧的层次结构中,要实现的USB驱动包括两类:USB主机控制器驱动和USB设备驱动,前者控制插入其中的USB设备,后者控制USB设备如何与主机通信。Linux内核U...

  • 领域驱动设计统一过程交付物

    梳理问题空间的业务需求,获得用泳道图表现的业务流程:根据业务服务的定义分析业务流程,识别出业务服务,并以业务服务图(参考用例图)形式表示:说明:如果采用敏捷方式管理需求,可以将业务服务作为用户故事的子任务,它不包括前端的交互设计和开发内容。如果需要进一步细化业务服务,则需要按照如下格式编写业务服务规约:编写业务服务规约时,需要遵循统一语言。以上内容,可以构成目标系统的需求规格说明书。系统上下文用于呈现目标系统的系统边界,明确目标系统与角色、伴生系统之间的关系。可以通过改进的系统上下文图来表示:改进的系统上下

  • PMP新考纲 敏捷题目 (四)

    91、作为估算活动持续时间过程的一部分,项目经理促成了与产品负责人和Scrum团队的冲刺计划会议。项目经理将用户故事分解为较小的任务项,以小时为单位估算所需时间,并根据团队的能力确定冲刺待办事项列表。尽管计划周密,冲刺还是失败了。项目经理当初可采取什么样的不同做法? As part of the Estimate Activity Durations process, the project manager facilitates a sprint planning meeting with the pro

  • "约束驱动的软件分析&设计新技术"开篇

      基于“约束驱动的进化理论”的“约束驱动的软件分析&设计新技术”消除了软件分析、设计、开发中的任意性、神秘性、不确定性和经验性,而重新赋予软件分析、设计、开发过程必然性、内在逻辑推演性、确定性、可控性。   软件开发过程的每一步都是约束驱动的,输入+约束=输出。  对于软件系统而言,输入是用户需求,输出是可执行代码。不同层次的开发人员因为有不同的约束,导致最后开发出来的软件系统的质量不同。但是最

  • 【敏捷3.1】价值与价值驱动交付

    价值与价值驱动交付上一大篇的敏捷框架怎么样,有没有意犹未尽的感觉?敏捷框架只是敏捷的一部分,而且是偏实践的部分。所有的教材都喜欢把这些敏捷框架写在前面也是因为这部分非常吸引人。但是,真正的...

  • 快速交付 敏捷开发的特点_从敏捷开发到持续交付-DevOps成熟度模型解析

    作者:人月神话,新浪博客同名简介:多年SOA规划建设,私有云PaaS平台架构设计经验,长期从事一线项目实践今天准备谈下DevOps能力成熟度模型,重点是敏捷开发和持续交付两个域。研发运营能力一体化能力成熟度模型是国内外第一个DevOps系列标准,由中国信息通信研究院云计算开源产业联盟(OSCAR)联合多个单位行业顶级技术专家100多名共同编写制定,为了让更多的企业能复用DevOps领域领先企业积累...

  • Java面试不通过?这篇文章你看了吗?

    如果客户端禁止 cookie 能实现 session 还能用吗? 70.spring mvc 和 struts 的区别是什么? 71.如何避免 sql 注入? 72.什么是 XSS 攻击,如何避免? 73.什么是 CSRF 攻击,如何避免? 七、异常 74.throw 和 throws...

  • could not initialize proxy - no Session

    在我们使用hibrenate框架时经常会遇到这种问题,字面意义就是不能被初始化,因为session已经关闭了。简单理解就是因为,你使用了lazy=true,这样hibernate在从数据库中调数据的时候是不会把关联的对象查出来的,而是...

  • Hibernate中实体对象的生命周期

    实体对象的生命周期在Hibernate应用中是一个很关键的概念,正确的理解实体对象的生命周期将对我们应用Hibernate做持久层设计起到很大的作用.而所谓的实体对象的生命周期就是指实体对象由产生到被GC回收的一段过程.在...

  • hibernate中实体domain对象的生命周期

    hibernate的生命周期   (2011-09-09 12:54:05) 转载▼     实体对象的生命周期在Hibernate应用中是一个很关键的概念,正确的理解实体对象的生命周期将对我们应用Hibernate做持久层设计起到很大...

  • 【iOS沉思录】如何招聘一个靠谱的 iOS程序员+面试题详解

    [※※※※※]_objc_msgForward函数是做什么的,直接调用它将会发生什么? [※※※※※]runtime如何实现weak变量的自动置nil? [※※※※※]能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例...

  • ACP知识域二---价值驱动交付

    项目章程与商业论证 敏捷项目章程与传统项目章程比较: 相同点:都是对项目大体工作的说明。都一般含有项目的5W1H,一般都含有愿景 敏捷项目章程重点:还有愿景(电梯眼睛),使命,和成功标准,一般情况下公开在白板上。 商业论证: 是项目章程的一个部分,重点包含预期收益、预期成本、SWOT、重要干系人、不进行项目的风险等 5W1H Why---为什么要做,是原因; What---做什么,做成什么,是目标; Where---在哪儿做,是地点; When---什么时候做,是时间; Who---谁

  • 现代卓越PMI-ACP精讲课笔记(二)——价值驱动交付

    源文件下载地址 链接:https://pan.baidu.com/s/1RSaILtMEwcaPbtvLmVrKpA 提取码:fm73

  • 《规范敏捷交付:企业级敏捷软件交付的方法与实践》——1.10 风险与价值驱动...

    1.10 风险与价值驱动 DAD过程框架采用的是所谓风险—价值驱动的生命周期,实际上是统一过程(UP)所倡导的策略的轻量级版本。DAD团队努力解决常见的项目风险,这些风险包括诸如利益相关者如何就愿景达成共识,在生命周期中如何提早验证架构的正确性等。DAD还明确地包括检查项目的持续生存能力(viability),团队是否已经生产出了充分的功能,团队是否已经...

  • 获得CSM(Certified Scrum Master)-价值驱动交付。

    2019年越来越多的企业开始实行敏捷转型,紧随时代潮流,学习最先进的科学管理方法,找到正确的人(团队),为企业交付高价值的产品服务。 导师Ethan ,培训的课程让人收益匪浅,活到老学到老,丰富的知识储备+广阔的视野(实战经验),为成为敏捷项目管理专家努力奋斗。 Scrum 框架(Scrum Framework )最核心的内容如下: 3 个角色(m Scrum Roles) ):...

  • 项目成功交付的管理技巧

    成功的交付是基于我们在课堂上或工作中学到的项目管理基础知识。在这篇文章中,我们将研究成功项目交付的7个基本经验教训。 01 制定范围声明 范围声明是一种正式的文档,它确定了项目中包含和不包含的可交付成果。 它是一个关键文档,你可以用它来协商目标、可交付成果和澄清假设。 如果准备了范围声明,并与项目干系人进一步审查,那么在项目执行过程中就不会有那么多的意外了。 范围声明是一个很好的文档,有助于确定项目边界。 一个好的范围声明应该包括以下部分: ●项目目标 ●交付 ●里...

  • hibernate知识点

     Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合  ,既可以在Java的...

  • hibernate之实体对象生命周期

    在Hibernate的应用中,实体对象的生命周期,是一个关键的概念,这里的实体对象指的是Hibernate O/R映射关系中的域对象(即O/R中的“O”); 实体对象的三种状态: 自由状态(Transient) 所谓的Transient,即...

Global site tag (gtag.js) - Google Analytics