当前位置 博文首页 > BOPGroup的专栏:顶级程序员的心得 Coders at Work (IV)

    BOPGroup的专栏:顶级程序员的心得 Coders at Work (IV)

    作者:[db:作者] 时间:2021-09-06 13:25

    ?

    (第一第二第三部分)

    Coders at Work”,对15 位顶级程序员的采访, 总共600页。 看似冗长的问答中有不少精辟的言论。 我摘录了一些关于挑选,面试程序员,优秀程序员的特点,和程序设计的句子。下面是 最后 3 个程序员的心得,和我的几句解释:

    ?

    Coder

    What they say about good
    ?programmer, interview, and design

    My interpretation

    Fran Allen

    first woman winner of Turing
    ?Award

    Software process:

    did software-development process save the IBM/360 project?

    it's was absolutely necessary,? but
    it was painful for the software
    people to [adjust to] design
    reviews, design specs, all of this
    stuff.

    good programmer:

    basic threshold: find out what
    they're excited about.

    if they can't get enthusiastic about something,? they're not going to get charged up in a group.

    软件流程:

    因为IBM/360 项目的软件部分遇到了很大的困难,那时候还没有什么成文的 "软件工程", Fred Brooks 把管硬件的经理们调来,让他们来管软件部门, 因为硬件是一个相对成熟的产业 - 芯片设计,测试,等等。 这些“不懂软件”的同志们参考硬件产业, 建立了软件工程的基本流程。

    ?从一个成熟的产业中学习,是很有效的办法。 现在我们还可以从软件工程的一些术语中看到硬件的影子 - 例如 smoke test 冒烟测试。

    ?好的程序员:

    热情 (前面 Ken 同学也谈到了这一点)

    Bernie Cosell

    czar of PDP-1

    pioneer of APPANET,? the core of
    the later internet

    ?

    advice to programmer:

    write a lot of programs.

    there is very few inherently hard
    programs. if the code looks very
    hard, that's almost always an
    ?indication that it was poorly
    ?thought thruough.?? if you have
    ?complicated code, put it in an
    ?encapulated place.

    programs are meant to be read.?

    avoid premature optimization

    find talented programmers:

    whether they have the kind of
    inquiring, curious, precise
    kind of mind.? quickness of
    learning, interested in lots of
    different things, and kind of
    broadly based.

    [carefully chosen] puzzle can
    gives you a glimmer as to
    how they organized something
    to approach it.

    给程序员的建议:

    写很多程序。

    世界上难的问题/程序很少, 如果一个人的代码看起来很难,这通常意味着程序员没有想清楚。 如果你必须用很复杂的代码,把它包装起来。

    程序是用来给人读的。

    避免过早优化。

    优秀程序员:

    ?应聘者有没有刨根问底,好奇心, 准确的思维?? 能快速地学习么? 是否对很多东西都有兴趣? 是否有很广泛的基础?

    [仔细挑选的] 智力题能让你看到应聘者是如何组织材料,解决问题的。?

    Donald Knuth

    TAOCP, TeX and METAFONT,
    literate programming

    ?

    ... Awards | 1998 Recipient Donald Knuth

    ?

    Knuth 在学术界的影响

    How I learn programming –
    basically taking one program that
    i made up myself and sitting at a
    machine over a period of some
    weeks, and kept getting it to work
    a little better and a little better.

    Q: Should every programmer be
    able to read TAOCP?

    A: I sometimes wonder if I can
    read them.

    but even an algorithm like a
    balanced tree ot AVL tree, i don't
    use it in my own programs
    unless i know that it's going to
    be a really big tree.

    what do you use?

    i use an ordinary binary search
    tree with a little trick for
    randomizing it that i just put it.?

    ...

    ?

    ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    邹欣

    原贴地址:http://yishan.cc/blogs/xin/archive/2009/12/26/coders-at-work-iv.aspx

    cs