IT人的技术哲学书单:谁说写代码、做产品就不需要参禅悟道?

刚刚进入大学校门时老师曾经说过:“无论学习什么专业,只要研究到最后就是哲学。”我们笑着问道:“那么,写代码写到最后也是哲学?”老师回答:“是的,那就是技术哲学。”现在回想起来,的确如此,我们发现技术中无处存在着哲学。那编写代码来说,对于同样一个功能进行实现,有的同学就会使用了很多的设计思想和设计模式,这样的代码无论是在自己看来还是拿给其他人看都会是赏心悦目的,而且也非常便于后期的重构。 无论是科学家还是工程师,成长不能只局限于技术层面,也要学会如何和这个世界,与他人相处,生活中处处有哲学,而技术中也是一样。本文就为大家整理了IT人的哲学书中的技术书,技术书中的哲学书,希望你能喜欢。



《编程珠玑》—— Jon Bentley

《编程珠玑》是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者JonBentley以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书针对程序设计人员探讨了一系列的实际问题,这些问题是对现实中常见问题的归纳总结。作者虽然没有给出解决这些问题的具体代码,但始终非常富有洞察力和创造力地围绕着这些折磨程序员的实际问题展开讨论,从而引导读者理解问题并学会解决问题的技能,这些都是程序员实际编程生涯中的基本技能。为此,本书给出了一些精心设计的有趣而且颇具指导意义的程序,这些程序能够为那些复杂的编程问题提供清晰而且完备的解决思路,书中还充满了对实用程序设计技巧及基本设计原则的清晰而睿智的描述。《编程珠玑》对各个层次的程序员都具有很高的阅读价值。



《Java编程思想》 —— 埃史尔

《Java编程思想》这本书可以说是学习Java的经典之作,Java已经成为了编程语言的骄子。我们可以看到,越来越多的大学在教授数据结构、程序设计和算法分析等课程时,选择以Java语言为载体。这说明Java语言已经是人们构建软件系统时主要使用的一种编程语言。但是,掌握好Java语言并不是一件可以轻松完成的任务,如何真正掌握Java语言,从而编写出健壮的、高效的以及灵活的程序是Java程序员们面临的重大挑战。

本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Iava’UO系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。从《Java编程思想》一书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对c、c++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。



《代码整洁之道》 —— Robert C. Martin

Robert C. Martin,是软件工程领域的大师级人物。软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。《代码整洁之道》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,这些实践在《代码整洁之道》中体现为一条条规则,并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。阅读《代码整洁之道》需要你做些什么呢?你将阅读代码——大量代码。《代码整洁之道》促使你思考代码中何谓正确,何谓错误。更重要的是,《代码整洁之道》将促使你重新评估自己的专业价值观,以及对自己技艺的承诺。从《代码整洁之道》中可以学到:好代码和糟糕的代码之间的区别:如何编写好代码,如何将糟糕的代码转化为好代码:如何创建好名称、好函数、好对象和好类;如何格式化代码以实现其可读性的最大化:如何在不妨碍代码逻辑的前提下充分实现错误处理;如何进行单元测试和测试驱动开发。



《程序员修炼之道:从小工到专家》 —— Andrew Hunt, David Thomas

《程序员修炼之道》(The Pragmatic Programmer)由一系列独立的部分组成,涵盖的主题从个人责任、职业发展,到用于使代码保持灵活并且易于改编和复用的各种架构技术,利用许多富有娱乐性的奇闻轶事、具有思想性的例子及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。 本书是The Pragmatic Programmer一书的评注版,力邀国内资深专家执笔,在英文原著的基础上增加了中文点评和注释,旨在融合二者之长,既保留经典的原创文字与味道,又以先行者的学研心得与实践感悟,对读者的阅读和学习加以点拨,指明捷径。



《人月神话》 —— Frederick P.Brooks

《人月神话》内容源于作者Brooks在IBM公司任System计算机系列以及其庞大的软件系统OS项目经理时的实践经验。《人月神话》探索了达成一致性的困难和解决的方法,并探讨了软件工程管理的其他方面。在《人月神话》中,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见大型编程项目深受由于人力划分产生的管理问题的困扰,保持产品本身的概念完整性是一个至关重要的需求。《人月神话》探索了达成一致性的困难和解决的方法,并探讨了软件工程管理的其他方面。在软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了具有洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数百万册。确立了其在行业内的经典地位。《人月神话》适合任何软件开发行业的从业人员阅读,对软件开发人员、软件项目经理、系统分析师更是必读之作。



《重构 改善既有代码的设计》 —— Martin Fowler

《重构 改善既有代码的设计》清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70 多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。Martin Fowler和本书另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。本书解释重构的原理和最佳实践方式,并指出何时何地你应该开始挖掘你的代码以求改善。本书的核心是一份完整的重构名录,其中每一项都介绍一种经过实证的代码变换手法的动机和技术。某些项目如Extract Method和Move Field看起来可能很浅显,但不要掉以轻心,因为理解这类技术正是有条不紊地进行重构的关键。本书所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口。



《设计模式 可复用面向对象软件的基础》 ——  Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

《设计模式:可复用面向对象软件的基础》的作者就是传说中的GOF,这本书可以说是“设计模式”的经典之作以及开山之作,这本书创作的时候,UML这样的建模语言还没有完全统一,面向对象编程也才兴起不久,GOF就写出了这本书,可以说非常难得。《设计模式:可复用面向对象软件的基础》是引导读者走出软件设计迷宫的指路明灯,凝聚了软件开发界几十年设计经验的结晶。四位顶尖的面向对象领域专家精心选取了最具价值的设计实践,加以分类整理和命名,并用简洁而易于重用的形式表达出来。本书已经成为面向对象技术人员的圣经和词典,书中定义的23个模式逐渐成为开发界技术交流所必备的基础知识和语汇。直到今天,这二十三中设计模式都是需要技术人员不断研究学习以及借鉴的宝典。



《人件》 ——  Tom DeMarco,Timothy Lister

在软件管理领域,很少有著作能够与《人件》媲美。作为经久不衰的畅销书,书中深刻地洞察到软件开发的问题不在于技术,而在于人。人的因素并不容易解决,一旦解决了,你将更有可能获得成功。《人件》是软件管理领域的传奇经典,被誉为“对美国软件业影响大的一本书”。全书从管理人力资源、创建健康的办公环境、雇用并留用正确的人、高效团队形成、改造企业文化和快乐工作等多个角度阐释了如何思考和管理软件开发的大问题——人(而不是技术),以得到高效的项目和团队。作者在第3版中添加了6章内容,并对先前的内容做了调整,使其更能应对当今软件的开发环境和挑战。例如,第3版讨论了一些领导力上的病理症状,这些是先前版本中没有作为病理来归纳的;书中还讲述了会议文化的演进,以及如何管理新旧成员水火不容的混合团队,讨论了为何一些日常使用的工具会成为团队前进的阻力而非动力。任何需要管理软件项目或软件组织的人员都能从书中寻找到有价值的建议。



《你的灯亮着吗?:发现问题的真正所在》 —— Donald C. Gause,Gerald M. Weinberg

作者杰拉尔德·温伯格是软件领域最著名的专家之一,美国计算机名人堂代表人物,他是Weinberg & Weinberg顾问公司的负责人。温伯格精力旺盛、思想活跃,从20世纪70年代开始,他总共撰写了30多本书籍和数以百计的论文。在西方国家乃至全球,温伯格拥有大量忠实的读者群,这些“追星族”阅读了温伯格的每本重要著作,他们甚至建设有专门的组织和网站,讨论和交流大师的重要思想。可以说,温伯格近年来的每本新书都是在万众瞩目中推出的。

《你的灯亮着吗?:发现问题的真正所在》以别具一格的视角和幽默风趣的语言讨论了解决问题时有可能遇到的多种困难,并就如何训练思维能力指点迷津。《你的灯亮着吗?:发现问题的真正所在》分六个主题,每个主题都由若干生动有趣和发人深省的小故事组成,巧妙地引导读者先确认真正的问题,然后明确问题该由谁解决,再确定问题的根源,最后决定到底想不想解决这个问题。《你的灯亮着吗?:发现问题的真正所在》适合所有业界人士以及想要探索问题解决之道的虚心读者细细品味。



《禅与摩托车维修艺术》 —— Robert M.Pirsig

《禅与摩托车维修艺术》主要讲述了在一个炎热的夏天,父子两人和约翰夫妇骑摩托车从明尼苏达到加州,跨越美国大陆,旅行的过程与一个青年斐德洛研修科学技术与西方经典,寻求自我的解脱,以及探寻生命的意义的过程相互穿插。一路上父亲以一场哲学肖陶扩的形式,将见到的自然景色,野外露营的经历,夜晚旅店的谈话,机车修护技术等等日常生活与西方从苏格拉底以来的理性哲 学的深入浅出的阐述与评论相结合,进行了对形而上学传统的主客体二元论的反思,以及对科学与艺术,知识与价值,古典主义与浪漫主义,精神与物质,机械论与神秘主义,西方与东方等西方二分法划分下的事物间的关系的思考。并潜入自己的过去,探寻在现代文明下自己精神的分裂的起源,完成了一次自我心灵与人类文明 的探索。相信作为IT人的你,也会对于这本书具有强烈的好奇心。

时间: 2024-08-02 23:34:43

IT人的技术哲学书单:谁说写代码、做产品就不需要参禅悟道?的相关文章

33岁还在写代码,感觉人生就这样了。。。.。。。。。。。。。。。。

问题描述 工作10年了.什么cc++linuxc#jsjqueryiosandroid都搞过大公司呆过小公司呆过项目经理组长什么的都做过实在不想上班了,但是为了还房贷和小孩子,又不得不拖着没有灵魂的身体去上班.创业吧..没钱..不上班吧,每月的房贷谁还...把房子卖掉吧,lp又不答应...说要待在大城市...为孩子争取个好环境哎....累... 解决方案 解决方案二:比你大的我还在写代码,更苦逼的是房子都没有--解决方案三:比你小的我,还是在敲代码,更苦逼的是房子,票子,老婆都没有,甚至对象还得

阿里巴巴直播防控中的实人认证技术

阿里巴巴直播防控中的实人认证技术         直播作为近来新兴的互动形态,已经成为近几年最风生水起的行业之一.在2016年仿佛进入了"千团大战"的繁华.欢聚时代10亿砸向虎牙和ME直播,斥资1亿签下主播MISS:腾讯4亿投资斗鱼,后者估值10亿美元:新成立的映客获得昆仑万维.复赛等机构的8000万人民币投资:易直播获得6000万人民币A轮融资:360推出花椒.秒拍推出一直播....网络直播正享受其最好的时光,直播"风口"成投资方必争之地. 然而网络直播也因为走的

Coding 孙宇聪:《人,技术与流程》

我先做一下自我介绍,我是 07 年加入的 Google,在 Moutain View 总部任Google SRE,今年年初回国加入 Coding. 在 Google 我参与了两个 Project, 第一个就是 Youtube, 其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存储量,存储,转码后,我们还做 Golbal CDN ,最大的时候峰值达到 10 TB,我们在全球 10 万个节点,每台机器都是 24 核跑满状态.然

人,技术与流程(转)

我先做一下自我介绍,我是 2007 年加入的 Google,在 Moutain View 总部任 Google SRE,今年年初回国加入 Coding. 在 Google 我参与了两个 Project,第一个就是 Youtube,其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存储量,存储,转码后,我们还做 Gobal CDN ,最大的时候峰值达到 10 TB,我们在全球 10 万个节点,每台机器都是 24 核跑满状态.然

asp.net现在最流行高效的单用户登录是怎么做的?还是application吗

问题描述 asp.net现在最流行高效的单用户登录是怎么做的?还是application吗 现在要做单用户登录,即一个账户在A登录后,然后B登录该账户,A显示被挤掉并返回登录页 解决方案 不建议用application,本质上application起到了我说的数据库的作用.但是考虑到asp.net进程回收,以及横向扩展的需要,放数据库比较好. 解决方案二: 这个最简单的就是每次登录产生一个随机数放在session中,同时放在用户表中.判断登录的时候判断两者是否一致. 因为后面的人一登录,肯定数据

[转]技术领导要不要写代码?

[转]技术领导要不要写代码? 前言 嗨!大家好啊!那么今天开始呢,笔者会为大家带来一些比较优秀的文章进行转载整理,在这里也感谢所有的文章提供者辛勤的付出! 如原文作者不希望转载,请联系! 附上: 喵了个咪的博客:http://w-blog.cn 原文地址(乱象,印迹):http://www.luanxiang.org/blog/archives/2228.html 技术领导要不要写代码?这是一个问题 我刚工作的时候就听说,程序员(那时候还没有"码农"的说法)是吃青春饭的,到30岁就熬不

做技术要把自己变的单纯,做管理要把自己变圆滑

做技术要把自己变的单纯,做管理要把自己变圆滑 曾几何时,自己也曾游刃于众多复杂的社会关系中,而现在却不会推销自己.做技术让人的想法越来越单纯,有时候感觉自己很傻,已经不会为人做事.也许在关注技术的同时,更应该去学习管理. 有人问我三年内的目标是什么? 技术专家 有人问我你的优缺点是什么? - 做了三年技术了,还没有好好想想自己的优缺点是什么,确实是做人的一项失败.仔细想想,我就是我.如果每个人把自己的优缺点看的那么透彻,那么这个人也就没有缺点.如果说大气点,自己优点就是 细心:万丈高楼平地起,细

技术领导要不要写代码?

技术领导要不要写代码?这是一个问题. 我刚工作的时候就听说,程序员(那时候还没有"码农"的说法)是 吃青春饭的,到30岁就熬不了夜写不动代码了,所以要尽早转管理岗.相应的,如果你走上管理路线成了技术领导,自然就不必干写代码这种低级重复的体力劳动 了.所以当时自己代码写得很多,技术能力增长很快,但总感觉有点别扭.那感觉就像,你能把车开得又快又熟练,最终只是为了能按时到达机场赶上飞机.然后, 你就再也不用开车了. 不过无论如何,赶上飞机看来是更高级的选择,为了它,放弃苦心修炼的车技也可以接

哪些人适合做产品经理

 各位啊,我想你们见过运气好的,但是就没见过像阿泡运气这样好的吧?我还没入职,就被提升走了产品部副经理,这不,我刚被别人招聘呢,现在,周扬就立刻要求我去招聘别人了. 当然,如果按照公司的招聘流程,"一面"应该是由HR来完成的,但是呢,因为我实在是不放心HR的水平(要是郭姐姐看到了,千万不要来怪我啊,我只是就事论事,绝不针对任何人),生怕漏掉了那些潜力不错的应聘者. 所以,在我一再地摆事实,讲道理的争取后,周扬总算是和HR达成一致,让我来配合他们的"一面"过程. 不过