写点什么

程序员访谈录(9 位优秀程序员的 Q&A)

  • 2012-12-27
  • 本文字数:1751 字

    阅读完需:约 6 分钟

这篇访谈是 2006 年一位波兰程序员 Jaroslaw “sztywny” Rzeszótko (AKA “Stiff”) 发布的,原文已经下线,2008 年澳大利亚一位开发者(twitter 是 @dodgy_coder)在经过原作者授权的情况下,将这篇访谈再次发布了。

原作者提出了 10 个问题,问题有关于他认为读者会感兴趣的或尊敬各位优秀程序员所创造的各种事物,最后两个问题则是出于原作者的兴趣。原作者介绍,并不是所有人都回复了他的问题,不过他在这个过程中学到了很多有趣的事情,也是很有价值的经验。

首先我们看看这 9 位优秀程序员是哪些人:

Linus Torvalds Linux 内核的作者。(编辑注:他的 LinkedIn 主页在这里

Dave Thomas :“ Pragmatic Programmer ”, " Programming Ruby "还有其他一些关于编程的优秀书籍的作者,可以从这里学习一下他的编程思想。

David Heinemeier Hansson :一个新热门的 web 开发框架 Rails Framework 的作者(注:“新热门的”指的是 2006 年,即采访原文发布的那段时期),他的博客在这里。(编辑注:David Heinemeier Hansson 被称为DHH,这里提到的热门框架即“Ruby on Rails”,他是 37signals 的合伙人之一,也是《重来》一书的联合作者)

Steve Yegge :也许是这些人当中名气最小的,但是他给出了一些有趣的回复,他有一个非常受欢迎的关于编程的博客,同时,他也是一款名为“Wyvern”的游戏的作者。

Peter Norvig :Google 搜索总监,有名的 Lisper,关于 AI 的著名书籍的作者,他的主页在这里。(编辑注:他的LinkedIn 主页在这里

Guido Van Rossum Python 语言的创造者。

Bjarne Stroustrup :C++ 语言的创造者,他的主页在这里

James Gosling Java 语言的创造者。

Tim Bray :XML 和 Atom 规范的作者之一,他的博客在这里

以下是原作者提出的10 个问题,我对感兴趣的几个问题的回复做了一些概括:

Q1:你是怎么学习编程的?学校有什么帮助吗?还是你没有在任何学校毕业?

回复:多位程序员提到,主要是自学编程,但是在学校提供的课程还是很有用的帮助,在一些基础概念(如复杂性分析)方面,建议如果有条件的话,最好还是能够取得学位证书。

Dave Thomas 回复中提到:“我仍然在学习编程”,好的程序员不是学习一个新的语言和类库,而是年复一年的完善技术实力与实践。 Tim Bray 则提到曾经是想当一名数学老师,在大学里的数学课程需要一些计算机课程。

Q2:你认为每个程序员需要掌握的最重要的技能是什么?

回复:书写和语言表达能力、品味、强烈的价值感知、专注、热情、理解问题与解决问题的能力、直觉。

Q3:你认为数学或物理能力对于程序员来说重要吗?为什么?

回复:有些人认为很重要,离散数学。有些人认为完全不重要。

Q4:你认为计算机编程领域的下一个大事件是什么?X-oriented 编程、Y 语言、并行计算还是什么?

回复:可能是 web 应用、大规模分布式进程、CG,大部分人认为不会有特别巨大的变化,可能随着硬件的提高编程能够变得更简单。

Q5:如果你有三个月的时间去学习一个相对较新的技术,你会选择什么?

回复:Dojo、FPGA、Cocoa、Javascript、flash、3D 渲染、安全、加密、数字签名等。

Q6:你认为让某些程序员的效率 10 倍甚至 100 倍于其他人的原因是什么?

Q7:你最喜欢的工具(操作系统,编程 / 脚本语言,文本编辑器,版本控制系统,shell,数据库引擎,其他你无法离开的工具)是什么?为什么更喜欢这个工具?

Q8:你最喜欢的计算机编程相关的书是什么?

Q9:你最喜欢的与计算机编程无关的书是什么?

Q10:你最喜欢的乐队或表演者或作曲家是谁?

转发的这篇文章有很多评论,讨论 David Heinemeier Hansson 具有很商业化的思维、Guido Van Rossum 的简练回复、Linus Torvalds 的回复“好品味”等等。

大家有兴趣可以看一下原文,这里也有翻译的中文版,陈皓( @左耳朵耗子)对这篇采访进行了简单的翻译。中文版也受到了很多人的关注,有读者评论到:“从以上访谈可以看出,最牛的程序员并没有那么死追 编程技巧,更重要的是编程的思想和理念,用最简洁的方式实现复杂的功能。 一个优秀的程序员是善于遇到问题解决问题的,而不是记忆大量的本来就不存在的标准答案。”欢迎大家参与讨论。

如果你也有问题,抑或是有想提问的大牛,不妨在这里留下评论,或在新浪微博私信给 @InfoQ 或本文作者 @Hellena ,我们也可以整理一些有价值与有趣的问题,跟我们身边的大牛们聊一聊。

2012-12-27 03:035159

评论

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

【JUC】循环屏障CyclicBarrier详解

JAVA旭阳

Java 并发 JUC

刷新AI作图速度,最快开源Stable Diffusion出炉

OneFlow

人工智能 深度学习 前沿技术

旺链科技荣膺“2022上海软件核心竞争力企业”

旺链科技

区块链 产业区块链 12 月 PK 榜

打造无证服务化:这个政务服务平台有点不一样

华为云开发者联盟

区块链 华为云 12 月 PK 榜

大数据培训学习编程技术的方法有哪些

小谷哥

Serverless 架构下的 AI 应用开发

Serverless Devs

MASA Framework 事件总线 - 跨进程事件总线

MASA技术团队

.net MASA Framewrok MASA

大数据培训学习分析师怎么样

小谷哥

模拟HashMap冲突

Jeremy Lai

hashmap 哈希冲突

云小课|云小课带你玩转可视化分析ELB日志

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(下)

洛神灬殇

JVM 12月日更 堆外内存 内存干扰

React 之 createElement 源码解读

冴羽

JavaScript 前端 前端框架 React react源码

详解HashMap源码解析(下)

Jeremy Lai

HashMap底层原理

web前端培训程序员学习什么呢

小谷哥

一种多引擎可视化数据流实现方案

元年技术洞察

数据中台 数字化转型 专利解析 方舟企业数字化 PaaS 平台

将 Vue.js 项目部署至静态网站托管,并开启 Gzip 压缩

华为云开发者联盟

开发 华为云 12 月 PK 榜

详解HashMap源码解析(上)

Jeremy Lai

HashMap底层原理

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

SAP虾客

SAP MM PO输出 NACE

【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(上)

洛神灬殇

Docker Kubernetes 容器 JVM 12月日更

SpringBoot快速整合通用Mapper

Jeremy Lai

通用Mapper spring-boot

【0.1mm钻孔】揭秘激光钻孔加工常见的4种方法

华秋PCB

工艺 PCB PCB设计 钻孔

Zebec节点Zepoch销量接近800个,生态发展信心十足

股市老人

Java递归实现评论多级回复

Jeremy Lai

递归 解决方案

零售品牌如何挑选达人KOL?火山引擎VeDI有妙招!

字节跳动数据平台

大数据 营销 营销数字化 12 月 PK 榜

瓴羊Quick BI带给企业新发展,企业数字营销和运营变得格外简单

对不起该用户已成仙‖

五种方式实现 Java 单例模式

Jeremy Lai

设计模式 单例模式

上海大数据培训机构怎么选择比较好

小谷哥

web前端培训程序员学习怎么提升技术

小谷哥

meta force原力元宇宙魔豹联盟矩阵公排dapp系统开发源代码

开发微hkkf5566

云原生大数据平台零信任网络安全实践技术稿

星环科技

程序员访谈录(9位优秀程序员的Q&A)_语言 & 开发_sayhelen_InfoQ精选文章