2006年10月13日星期五

程序员问答。

一位程序员用邮件向数位著名的程序员询问了几个相同的问题,并在Blog上贴出他们的答案。

接受询问的程序员有:
Linus Torvalds : Linux内核作者;
Dave Thomas : 许多Ruby相关等编程技术书籍的作者;
David Heinemeier Hansson : Web开发框架Rails的作者;
Steve Yegge : 知名技术博客的作者,也是游戏Wyvern的作者;
Peter Norvig : Google的技术主管,写了许多关于人工智能的书;
Guido Van Rossum : Python语言的作者;
Bjarne Stroustrup : C++语言作者;
James Gosling : Java语言作者;
Tim Bray : XML创始人之一。

所有的问题和比较好的答案:
- How did you learn programming? Were any schools of any use? Or maybe you didn’t even bother with ending any schools :) ?

- What do you think is the most important skill every programmer should posses?
: written and verbal communication skills.
: "good taste" on code, ability to communicate well what you want to do and how you are going to do it.
: a strong sense of value.
: the ability to think clearly - understand problems and express solutions.

- Do you think mathematics and/or physics are an important skill for a programmer? Why?
- What do you think will be the next big thing in computer programming? X-oriented programming, y language, quantum computers, what?
: web application programming, all related technologies need to improve gradually, open source browser first.
: large-scale distributed processing.
: coping with parallelism and complexity.

- If you had three months to learn one relativly new technology, which one would You choose?
: dojo and advanced Ajax and DHTML.
: FPGA, love the notion of playing with hardware.
: JavaScript and Flash.
: catch up on the latest in 3D rendering, photon-map renderer.
: Security, encryption, digital signatures, identity, etc.

- What do you think makes some programmers 10 or 100 times more productive than others?
: concentrate on the things that matter.
: the ability to restate hard problems to easy ones.
: the ability to fit the whole problem into their heads at one time.

- What are your favourite tools (operating system, programming/scripting language, text editor, version control system, shell, database engine, other tools you can’t live without) and why do you like them more than others?
: Unix, Ruby, Emacs, Firefox, GIMP, MySQL, Bash, SVN, Perforce.
: Unix/Linux, Python, vi+emacs, Firefox.

- What is your favourite book related to computer programming?
: SICP.
: The C Programming Language.
: Operating Systems : Design and Implementation.
: Extreme Programming Explained, Patterns of Enterprise Application Architecture.
: Programming Pearls.

- What is Your favourite book NOT related to computer programming?
: Neil Stephenson’s Quicksilver.
: Stroustrup series

- What are your favourite music bands/performers/compositors?

没有评论: