顶级程序员的心得 Coders at Work (I)

简介:

正在读 “Coders at Work”,   对15 位顶级程序员的采访, 总共600页。 从采访的模式看,有点像“艺术人生”, 一般都是音乐起,讲小时候的故事,你怎么开始写程序的?  (Brad 同学 5 岁开始写) ; 不过后来并没有神秘嘉宾上场,也没有声泪俱下的宣泄。 无论如何, 这些看似冗长的问答中有不少精辟的言论。 我摘录了一些关于挑选,面试程序员,优秀程序员的特点,和程序设计的句子。下面是前6个程序员的心得,和我的几句解释:

 

Coder

What they say about good programmer, interview, and design

My interpretation

Jamie Zawinski,

LISP hacker,

early Netscape developer,

nightclub owner

Stay away from big fan of C++ templates; 

Ability to argue their point is important.

Curiosity is a key skill for programmers.

There are people graduating with CS degrees who’d never written C. They started in java and they stayed there.  That just seemed bizarre and wrong.

不喜欢过度崇拜C++ 模板的程序员;

程序员的表达能力,说服能力好奇心很重要;

 

很多学生拿到了CS 学位,但是从来没写过程序,他们学了Java,仅此而已。 这是非常奇怪和不对的。

Brad Fitzpatrick

creator of memcached, Perlbal, MogileFS.

image

interview question:

Write a class to do arbitrary,bigint manipulation with multiplication and division

写一个大数的类,可以做乘除法。

Douglas Crockford 

creator of JSON

Good Programmer:

They have to read Knuth (TAOCP);   they are really literate in whatever language they write to other humans.

I invite the candidate to bring in a piece of code he’s really proud of and walk us thru it.

读过Knuth TAOCP; 

有很强的文字表达能力和沟通能力。

请应聘者带自己最得意的代码来,给大家看看。

Brendan Eich, 

Creator of JavaScript

hiring:

(rely on referral from team member)

Bright people like each other and can judge each other.   I don’t give people puzzles to solve.  We give them fairly practical problems, Not esoteric puzzles or math-y things.

(他有时通过同事的推荐来招人

聪明的人会互相欣赏,评价。 我不想通过智力题来判断程序员,我们给应聘者相当实际的问题,而不是那些奇怪的智力题或者数学题。

Joshua Bloch

Java Architect, author of “Effective Java”

About programming:

The older I get, the more I realize it isn’t just about making it work; it’s about producing an artifact that is readable, maintainable, and efficient.  …  it’s easier to optimized correct code than to correct optimized code.

“do you ever use UML as a design tool?”

No. I think it’s nice to be able to make diagrams that other people can understand.  But honestly I can’t even remember which components are supposed to be round or square.

关于编程:

我越来越意识到写程序不是仅仅把程序写出来,而是要让你写的程序可读,可维护,并且高效。  优化正确的程序要比改正已优化(但是有错)的程序要容易。

 

你曾经用过UML 设计工具么?”

没有。 能把设计画成图,让别人理解当然很好。 但是说实话我记不起来哪些模块应该是圆形,哪些是方形。

Joe Armstrong

creator of Erlang, and OTP.

image

Interview question:

“what was the most fun project you ever wrote; show me the code for this stuff; how would you solve this problem?”

I’m not so hung up on what they know about language X or Y.  they are either good at all languages or good at none.

 

You have to have a good memory to be a reasonable programmer.

面试问题:

你写过的最好玩的项目是什么?让我看看代码, 你是怎么解决这个问题的?”

我并不一味要求他们已经知道某一两种语言。 好的程序员精通一种语言后,就会触类旁通,能学好所有语言。

 

好记性对一个好程序员很重要。















本文转自SoftwareTeacher博客园博客,原文链接:http://www.cnblogs.com/xinz/archive/2009/12/23/1882457.html,如需转载请自行联系原作者


目录
相关文章
|
2月前
|
Dubbo Java 中间件
探寻源码宝藏:介绍开源项目"source-code-hunter"
最近处于金三银四的面试黄金期,许多同学在面试中反映现在要求非常高,阅读源码几乎是必问项。然而,阅读源码时常常觉得晦涩难懂,令人头疼。今天在浏览 GitHub 时,我发现了一个名为 source-code-hunter 的宝藏项目。这个项目从源码层面深入剖析和挖掘互联网行业主流技术的底层实现原理,为广大开发者提供了便利,助其提升技术深度。目前该项目已经涵盖了 Spring 全家桶、Mybatis、Netty、Dubbo 框架,以及 Redis、Tomcat 等中间件的内容,恰好适合最近正在面试或希望提升技术深度的同学参考学习。
82 1
探寻源码宝藏:介绍开源项目"source-code-hunter"
|
7月前
|
供应链 定位技术 云计算
什么是外企常说的 Line of Business
什么是外企常说的 Line of Business
67 0
|
机器学习/深度学习 数据可视化 数据挖掘
如何开始一项可能帮助你走向人生巅峰的“业余项目”(Side Project)?
你知道什么是side project 吗? 你知道如何开始一个side project 吗?一个业余项目,不仅可以给你带去知识、技能、满足感,也可能从此改变你的职业生涯。俗话说,万事开头难,本文作者列了5条经验,帮助你快速地、有目标的进入一个side project。
1785 0
|
安全 数据库 C++
读书笔记 effective c++ Item 29 为异常安全的代码而努力
异常安全在某种意义上来说就像怀孕。。。但是稍微想一想。在没有求婚之前我们不能真正的讨论生殖问题。 假设我们有一个表示GUI菜单的类,这个GUI菜单有背景图片。这个类将被使用在多线程环境中,所以需要mutex进行并发控制。
889 0
|
Web App开发 JavaScript 前端开发
教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别
为了能在最快的时间里理解更多语言的相同点和不同点,我用大家最熟悉的Hello World来展示一下各个语言的奥妙   请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址 注意:整个教程是基于linux系统的(为了方便讲解,我选择用vmware虚拟机装了CentO...
1199 0
微软职位内部推荐-B&I Site Lead
微软近期Open的职位: Job Title: B&I Site Lead Division: Phones Quality, SWIQ Location: Beijing, China Microsoft (China), Phones unit is seeking an individual...
728 0