写点什么

阅读者(九):编程人生

2011 年 4 月 06 日

读这本书,你不能指望从大师那学到什么可以立马上手的技能,也不能奢望读完了你就站在了大师的肩膀从此可以一览无遗。相反,这是一本介绍15 位世界级编程大师的“发迹”史的。开放的国度和文化造就了先进的IT 业,还有他们,这些中国读者熟悉不熟悉的名字。

所以,换个角度看,阅读这样的书是一种奢侈。每位大师都被迫回答相似甚至相同的问题,迎接每位IT 粉丝的八卦心理。

“你最早什么时候开始编程的?”,“你还记得你写的第一个有趣的程序是什么吗?”OK,他们对于这样问题的答案,无疑会让粉丝们在被头衔唬住之后,又让粉丝顶礼膜拜一番:那些事情发生得太早了,现代人几乎不知道那些答案是什么。所以访谈的开头部分,基本上对于读者来说价值不大。

这样的问题还有:“你用过Knuth 的文学编程吗?”,或者类似“你使用怎样的工具写代码?”你会发现,但凡大师级的人物,都是自信的,甚至是偏执的,比如对于工具的选择,他们的答案多半是“我打开Emacs 就开始写了”,或者是“我使用记事本写就好了”。看,这是大师的选择,你是不是也要这么干呢?

不一定每位大师生来就是天才,但不必怀疑他们对于程序代码一生的追求和兴趣。我们可以看到他们之于这份事业的执着,学习他们的态度。

值得推荐的是,他们对于编程语言的看法(比如Joshua Bloch 对于Java 发展的自信以及不满),还有对于开发过程的看法,怎么调试代码,对于优秀书籍的推荐,他们还会谈到怎样跟团队合作。

甚至你还能看到他们彼此间的争执,是的,就这本书里面。比如Douglas Crockford 和Brendan Eich 关于ES4 的争论和调侃。这个世界本来就没有什么绝对的对与错,不是么?大师亦如此。

一千个读者,就会读出一千个不同的编程人生。这是一本枕边书,需要反复读、细细体味。

InfoQ 中文站原创编辑团队主编 张凯峰


这是一本让人激奋又让人颓唐的书;这是一本让人学会狂妄,或者懂得谦卑的书;这是一本让人藐视编码,或者尊重编码的书;最终,它是一本教会我们从程序中收获乐趣的书,教师是这样一批让人高山仰止的牛人们。

正是因为这些牛人们不同寻常的经历,使得我们在阅读本书时,既充满了孜孜以求的决心,又觉得那样的高度太难攀登,以至于自惭形秽。这些牛人们或者是狂狷的 geek,或者是低调谦虚的学者,如此不同的混合体在一本书中展现,仿佛万花筒一般展现程序员的不同魅力,就让我们觉得目不暇接,他们中的谁才称得上是我们心中的偶像呢?这些牛人们都是一群天资聪颖的编程高手,面对编程中的难题,他们有着绝世高手的风范,十步杀一人,千里不留行,编码对于他们而言不值一提,却又乐此不疲。他们都是程序世界中的掌控者,先驱者,阅读本书,就是阅读他们的人生征途,和他们对话,了解他们的精彩人生。

本书的作者即书中十五位软件先驱的采访者,本身就是 Common Lisp 的专家,这就使得访问者与被访者的对话是平等的,能够在深层次挖掘问题,直达问题的本质。因为是访谈,所能能够容忍不同意见,看着不同专家就同一话题表达相反的看法,就给了我们一种很新鲜的感觉。这本书不再是同一张面孔,因此可以一直读下去,而不至于厌倦或疲惫。然而,通读此书,我又发现虽然千人千面,却又都是两只眼睛,两只耳朵,一个鼻子一张嘴。书中的这些牛人们其实又都有着诸多相似的一面。他们:

  1. 都是技术的狂热爱好者,并深深为自己从事的行业感到自豪;
  2. 都是编程的执著爱人,至今仍不放弃编码;
  3. 从小就表现出对计算机的狂热,他们精通的语言几乎都是自学;
  4. 不太在意软件工程的方法学,在他们心中有着属于自己的标准;
  5. 对程序之美的观感几乎一致,那就是简洁、清晰和优雅;
  6. 大多数不在意设计模式,甚至轻视设计模式,对于设计,自有他们的一套主张;
  7. 都认为编程并不需要了解底层,但如果能了解底层,会更好;
  8. 拥有好的数学天赋,或许可以说在数学家中,他们编程编得最好,在程序员里,他们数学学得最好;
  9. 更倾向于自己是工匠或艺人,然后才是科学家;
  10. 他们都是一群理想主义者,又是一群实证主义者,他们讨厌政治。 这些共同要素,是否就是成为编程高手的必备呢?如果是,那么检查检查自己,看看自己能否在未来跻身他们的行列?即使不能成为像书中主角那样的牛人,比照他们,也可以审视自己选择的路,你走得快乐吗?你感到自豪吗?对于编程,你还在意吗?

InfoQ 中文站架构社区编辑 张逸

2011 年 4 月 06 日 09:105182
用户头像

发布了 127 篇内容, 共 36.9 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

7面阿里,最后一面居然挂在了JVM上面!狠下决心恶补JVM知识

Java架构之路

Java 程序员 架构 面试 编程语言

nginx 平滑升级、以及导入第三方模块

sinsy

nginx 升级

学习笔记:架构师训练营-第八周

四夕晖

Android热修复之DexPatch介绍

阿里云金融线TAM SRE专家服务团队

android

接口测试并不只是测试参数和返回值

测试人生路

接口测试

区块链交易所软件,数字货币场外交易系统搭建

13530558032

奋力准备一个月成功进字节,来看一下我都看了哪些资料做了哪些准备

小Q

学习 编程 程序员 架构 面试

《深入理解java虚拟机》- java内存区域

never say never

JVM笔记 堆内存

这才是图文并茂:我写了1万多字,就是为了让你了解AQS是怎么运行的

鄙人薛某

Java 并发编程 AQS 并发 ReentrantLock

史上最通俗Netty入门长文:基本介绍、环境搭建、动手实战

JackJiang

网络编程 Netty nio 即时通讯 IM

为什么有的专科程序员比本科程序员薪资高?他们之间有多大的区别?

Java架构师迁哥

适用初学者的5种Python数据输入技术

华为云开发者社区

Python 数据 函数

这4个Java异常框架,很多人竟然还不知道

比伯

Java 编程 架构 面试 计算机

备战2021年金三银四,阿里P8面试官梳理的2020年999道大厂高频Java面试题(附答案)

Java架构之路

Java 编程 程序员 架构 面试

来不及解释了,快上车!LR.NET开发平台助力企业信息互联

雯雯写代码

奥卡姆剃刀 - 如无必要,勿增实体

石云升

认知 奥卡姆剃刀 简约

vscode + vim : vscode 全键盘使用方案

lmymirror

vim vscode Spacemacs

C++调用Go方法的字符串传递问题及解决方案

华为云开发者社区

c++ 内存 代码

惊喜!Alibaba架构师终于发布“微服务架构与实践”文档

Crud的程序员

架构 微服务

阿里P8大牛整理的300页图解网络知识+计算机底层操作系统

Java架构之路

Java 编程 程序员 架构 面试

架构师训练营 -week09-作业

大刘

极客大学架构师训练营

【应用运维】公司业务迭代迅速,运维如何高效进行应用发布?

嘉为蓝鲸

可视化 PaaS 运维自动化 部署与维护 发布

深圳区块链钱包系统开发,区块链钱包app源码

13530558032

区块链IM即时社交通讯系统开发,区块链社交平台源码搭建

13530558032

懵了!一口气问了我18个JVM问题!

yes的练级攻略

面试 JVM

Java读取Excel/CSV格式的科学计数法问题

团子粑粑

Java Excel csv

爆火的低代码,到底是真需求还是伪风口?

ToB行业头条

低代码

渣本全力以赴33天,四面阿里妈妈(淘宝联盟),拿下实习岗offer

小Q

Java 学习 编程 架构 面试

区块链币支付系统开发搭建,USDT支付平台源码

13530558032

go-zero 如何扛住流量冲击(一)

Kevin Wan

go microservice go-zero goctl

K3d vs Kind 谁更适合本地研发

郭旭东

Kubernetes k3s kind

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

阅读者(九):编程人生-InfoQ