【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

程序员访谈录(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:034762

评论

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

web前端开发培训机构哪个好

小谷哥

React源码分析3-render阶段(穿插scheduler和reconciler)

goClient1992

React

Python进阶(二)初识Python数据元素:字典&时间

No Silver Bullet

Python 时间 字典 10月月更 数据元素

每日一题之Vue数据劫持原理是什么?

bb_xiaxia1998

Vue

面试官:请实现Javascript发布-订阅模式

helloworld1024fd

JavaScript

js函数柯里化-面试手写版

helloworld1024fd

JavaScript

java工程师培训机构哪里好

小谷哥

JavaScript——JS中的正则表达式

胖虎不秃头

前端 js 10月月更

通过单步调试的方式学习 Angular 中带有选择器的内容投影使用方式

Jerry Wang

typescript 前端开发 angular web开发 10月月更

高频js手写题之实现数组扁平化、深拷贝、总线模式

helloworld1024fd

JavaScript

手写JavaScript常见5种设计模式

helloworld1024fd

JavaScript

如何在 Goerli 网络中获取测试 ETH

devpoint

以太坊 Goerli 测试网络

JavaScript——BOM、JSON

胖虎不秃头

前端 js 10月月更

ESP32-C3 应用 篇(实例二、通过蓝牙将传感器数据发送给手机,手机端控制 SK6812 LED)

矜辰所致

蓝牙 ESP32-C3 10月月更

React源码分析1-jsx转换及React.createElement

goClient1992

React

什么是核心交换机、汇聚交换机、接入交换机,它们之间有啥区别?

wljslmz

交换机 网络设备 通信技术 10月月更

前端培训机构应该怎么选

小谷哥

React组件之间的通信方式总结(上)

beifeng1996

React

JavaScript——Document Object Model

胖虎不秃头

前端 js 10月月更

每日一题之请描述Vue组件渲染流程

bb_xiaxia1998

Vue

web前端开发培训机构比较好的是哪家

小谷哥

React源码分析2-深入理解fiber

goClient1992

React

RecSysOps: 大规模推荐系统运维最佳实践

俞凡

架构 最佳实践 netflix 大厂实践

吃透这份Java面试精选题解,我轻松拿到了字节跳动offer

Geek_0c76c3

Java 数据库 程序员 架构 开发

React组件之间的通信方式总结(下)

beifeng1996

React

大数据ELK(十四):Elasticsearch编程(基本操作)

Lansonli

ES 10月月更

Vue的computed和watch的区别是什么?

bb_xiaxia1998

Vue

Collections之Arraylist源码解读(六)

知识浅谈

ArrayList 10月月更

线下培训机构哪个比较靠谱?

小谷哥

Python进阶(一)初识Python数据元素:列表&元组

No Silver Bullet

Python 列表 元组 10月月更 数据元素

每日一题之Vue的异步更新实现原理是怎样的?

bb_xiaxia1998

Vue

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