顶级程序员的心得 Coders at Work (IV)
“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
|
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 m own programs unless i know that it's going t obe 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. |
... |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!