正在读 “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 学位,但是从来没写过C 程序,他们学了Java,仅此而已。 这是非常奇怪和不对的。

Brad Fitzpatrick

creator of memcached, Perlbal, MogileFS.

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.

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.

面试问题:

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

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

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

顶级程序员的心得 Coders at Work (I)相关推荐

  1. 顶级程序员的心得–Coders at Work

    最新版本在这里: (2584条消息) 顶级程序员的心得 –– Coders at Work_SoftwareTeacher的专栏-CSDN博客https://blog.csdn.net/Softwar ...

  2. 顶级程序员的心得 - Coders at Work

    这篇博客经历了 CSDN 的历次改版后,格式已经坏了, 我重新写了一篇,重排了格式: 顶级程序员的心得 –– Coders at Work_SoftwareTeacher的专栏-CSDN博客顶级程序员 ...

  3. 顶级程序员的心得 –– Coders at Work

    顶级程序员的心得 –– Coders at Work 说明:这篇文章是我 2010 年的原创,但是发现 csdn 的版本把格式全部搞坏了,原文在这里 我2009年读了 "Coders at ...

  4. 顶级程序员的心得 Coders at Work (IV)

    ( 第一,第二, 第三部分 ) "Coders at Work",   对15 位顶级程序员的采访, 总共600页. 看似冗长的问答中有不少精辟的言论. 我摘录了一些关于挑选,面试 ...

  5. 顶级程序员的心得 Coders at Work (II)

    正在读 "Coders at Work",   对15 位顶级程序员的采访, 总共600页. 这些看似冗长的问答中有不少精辟的言论. 我摘录了一些关于挑选,面试程序员,优秀程序员的 ...

  6. 顶级程序员的心得 Coders at Work (III)

    这是第三部分(第一,第二部分),非常有意思的问答,值得仔细琢磨.  这里只是一些和程序员发展,面试,优秀程序员的特点等相关的部分. 有些想法和 MSF 中的原则也很相似 (见 <移山之道> ...

  7. 顶级程序员的心得ndash;Coders at Work

    [原文在 www.yishan.cc 连载,  现在合成一篇] 我去年读了 "Coders at Work",   对15 位顶级程序员的采访, 总共600页. 从采访的模式看,有 ...

  8. python在哪里写代码比较适合-程序员面试被要求手写代码,你与顶级程序员的差别在哪?...

    原标题:程序员面试被要求手写代码,你与顶级程序员的差别在哪? 前言: Python现在非常火,语法简单而且功能强大,很多同学都想学Python! 所以小的给各位看官们准备了收藏已久的视频教程分享给大家 ...

  9. 顶级程序员的生活是怎样的? 网友: 很后悔, 找不到女朋友!

    当码农的这几年时间,经历了好几家完全不同类型的公司.具体属于哪些领域范围什么的,这里先不说了 ,身边员工的平均水平已经是很不错的.这种圈子以内,包括自己,基本上没有什么特别明显上等下等之分.但是偶尔会 ...

最新文章

  1. NEFU 1146 又见A+B
  2. c语言结构体反射解析,C语言结构体解析
  3. ACL 2020 亮点摘要
  4. HttpServletRequest的方法详细说明
  5. java字符串底层实现_「JAVA」细述合理创建字符串,分析字符串的底层存储,你不该错过...
  6. 23 MM配置-采购-采购信息记录-定义屏幕格式
  7. 虹软人脸识别SDK - Java服务端的那些事
  8. 面试了二十多个人,终于定下来一个
  9. wp7 应用程序优化
  10. ffmpeg拉流设置暂停_ffmpeg+SDL2实现的视频播放器「退出、暂停、播放」
  11. pytorch 存取模型(待补充)
  12. 变送器故障码与解决办法剖析汇总
  13. lisp princ详解_autolisp princ 变量
  14. 我不建议大家随便跳槽
  15. C#实现百度翻译API调用
  16. 【数据库】数据库期末考试复习试题与答案
  17. 51单片机使用PWM调速
  18. 基本算法4.1堆积木详细题解
  19. 这么简单,抄抄,改改就行啦
  20. win10记住了远程连接密码,下次登录仍然需要输入密码

热门文章

  1. centos 环境变量配置
  2. 基于opencv的gpu与cpu对比程序,代码来自opencv的文档中
  3. 今天专攻POWERSHELL获取本机CPU,内存消耗
  4. 地灾应急暨地灾危险性评估培训班学习笔记
  5. [恢]hdu 2021
  6. 【转】盛大创新院许式伟:影响我一生的五个重要选择
  7. Oracle 9i 在 Red Hat 7.1 和 7.2 上的装配
  8. 1_RabbitMQ初入门入门Hello消费者+生产者
  9. debian php安装pdo扩展,在debian下为PHP5.0.3安装pdo模块
  10. java集合转字符串,Java集合将字符串转换为字符列表