编程人生(1)Jamie Zawinski

0、总结
一直不清楚自己的编程水平为什么没啥长进?Jamie Zawinski的经历告诉我:书读少了、手册看少了、代码读少了、代码写少了。归结到一点,壮士还需继续努力啊。

1、为什么要读这本书?
很早就发现这本有意思的书“Coders at Work”,虽然看了一点英文版,但毕竟不如中文那么流畅。
重读这本书源自最近在做的一件事情:想了解中外编程高手都是怎样学习和编程的。
通过搜索的方式进行了一些调查,但结果非常有限。很多时候得到的就是类似个人简介式的内容。
兜了一圈最后又回到了原点,原来《编程人生》就是解答我疑惑的大门。
ps:想了解某个领域的牛人经历,访谈录是一个比较好的渠道,但里面应该也是有点坑。保持批判阅读就好。

2、读这本书想了解什么?
回答问题:
- 做程序开发核心驱动力是什么?
- 如何磨练编程技巧?
- 如何学习、解决问题?

3、读完以后想做什么?
- 对照自己遇到过的困难和好的经验,站在别人的肩膀上总结提高。
- 模仿(copy)别人的经验,在实践中找到适合自己提高的方法。(注:拷贝有风险,记得要保持批判性思考)
- 从这本开始,积累好的英译汉素材(词汇),提升技术翻译的水平(www.importnew.com)。
- 从程序员访谈录开始,观看不同的编程人生,这该是多有意思的一件事情:)

那就开始吧!

第一位Jamie Zawinski(后面简称jwz),几个关键词:Lisp黑客、Netscape浏览器开发者、XEmacs开发者。目前是酒吧老板。

读完他的访谈,下面是我觉得很有启发的地方:

4、程序员的关键技能是什么?
这个问题我以前有思考过。扎实的基础、数学天才、超高的智商、超强的学习能力、丰富的工作经历、完整的知识结构、跨领域的知识结构。也许都需要吗?
jwz的回答很简单:程序员的关键技能就是好奇心。那种想要了解程序运作原理的冲动。
我说出来可能没有那么艺术,就是多折腾。
以前学校的教育把这股子折腾的劲头都丢掉了。怎样恢复好奇心,这个可以再改进一下。

5、怎样学习编程知识、磨练技能?
不断挖掘源代码和参考手册。
在目前开源项目众多、函数库、框架满地都是的时代,更重要的是如何快速掌握别人的代码并弄清楚其用法。能够深入研究API,区分好用的部分和不用的地方。这是必备技能。

6、如何进行程序设计?
jwz的风格是,实用,拒绝过度设计、完美的设计。能及时发布产品占领用户才是第一目标。这一点在Netscape浏览器开发期间得到了印证。
如果是带界面的程序,先写出可以用的东西,哪怕再小也可以。有了它,可以知道下一步该做什么。如此推进开发。

7、阅读代码有什么好办法?
在一头扎入代码之前,可以学习一下jwz的方式:
- 顺序阅读:如果是学习新的库或者工具包,会读文档和API。弄清楚自己可能用到的地方,再弄清楚它是怎么实现的。
- 从底层入手:对开发类似Emacs(编辑器,也有人把它看作操作系统)这样的程序,可以先了解一下背景知识。可以尝试通过构建过程(build)来了解整个程序的结构。

8、编程时有哪些注意事项?
多加有意义的注释,重复函数名这样的就不麻烦您了。
要想专注代码有一个好办法:挑一项你感兴趣的任务,然后搞定它。

9、有没有推荐阅读的计算机书籍?
《计算机程序的构造和解释》、《编程精粹:编写高质量C语言代码》、《计算机程序设计艺术》(这本jwz推荐但自己没有读)。

10、“隐藏关卡”
在这次的阅读中,发现了“批判阅读“的好处。
这篇访谈中隐藏了很多信息:
- jwz 8岁开始编程,没有机器的时候就在纸上写代码。
- 掌握多种编程语言。
- 在CMU(卡内基梅隆大学)AI(人工智能)实验室、Netscape和Lucid Emacs公司都有很多不同领域高手一起工作。
- 阅读很多书籍。
- 阅读很多代码,然后不断提问。

时间: 2024-08-01 17:34:59

编程人生(1)Jamie Zawinski的相关文章

编程人生读书笔记(6):Joe Armstrong

Joe Armstrong发明了Erlang语言,并用它开发了开放电信平台(OTP). Joe的学习生涯很特别,开始学习物理,后来因为没钱念博士转而学习计算机.学习期间接触了人工智能并撰写了机器人视觉的论文. 接下来由于行业的变故,人工智能也搞不下去了.辗转到了瑞典空间研究中心,最后加入了爱立信计算机科学实验室,发明Erlang. 0.编程启蒙 中学时代学习Fortran,苦于每次只能提交一个程序,于是想到“偷懒”的办法——并发执行. 期间为同学们调试程序,标准开价居然是一杯啤酒. 1.对开发工

编程人生(3):Douglas Crockford

Douglas Crockford是Yahoo!的资深JavaScript架构师,发明了JSON这一应用广泛的数据交换格式.从电视专业到偶然接触了编程,在后来的职业生涯中穿梭在媒体和编程之间. 0.收获读到编程人生第三位,发现以下共同点:- 读书很多.- 读代码也很多.- 善于把学到的知识找到应用的地方. Crockford的访谈还包含下面的内容,值得思考和学习:- 了解编程的历史,有助于在技术领域的探索.- 通过清理学习别人的代码.- 拜访客户,才能真正知道客户是怎么使用程序的.- 编程不论年

编程人生(2):Brad Fitzpatrick

Brad Fitzpatrick是一位典型的Web程序员.与普通的程序员不同,他在别人还在学认字读本的时候就开始写程序了.(推荐优秀的儿童英文教材Clifford the Big Red Dog).他主要的成就是,创办了LiveJournal一 个著名的社交网站.这是Fitzpatrick在大一入学前创立的.高中时期也不乏作品,比如FreeVote.在LiveJournal开发过程中,他 对可伸缩性网站设计有了深刻理解.然后编写了著名的memcached.Perbal和MogileFS(好吧,我

编程人生读书笔记(4):Bredan Eich

Bredan Eich是JavaScript设计者,Mozilla首席技术官,ECMAScript标准的制定者.Breda有着坚实的理论基础和较强的工程实践能力,本科物理专业,数学底子很好.在学校里主要做科研编程,毕业后从事网络.系统内核开发.专长是编译器,内核开发,设计了JavaScript语言. 0.总结从语言设计者的角度看待编程.学习和实践的关系:- 编程要实践,选择合适的工具(语言),有自己的态度(动力)坚持练习.- 设计代码的方法:用伪代码理清思路,再着手底层实践.实践多了,最后总结成

我的经历——致岁月摧残的编程人生

2012年我怀着当初的梦想离开了陆良,来到了云南省红河哈尼彝族自治州红河学院,来到这个学校一个人也不认识,还记得那天是一个带着我是一个学长,学长带着我们一直送到了金达的宿舍三楼,就这样开始了我的大学生活,大一大二的生活很忙碌,活动很少参与,加入的家教机构,我也没有去过一次.社费可以说是白交了,大一的时候不带电脑去学校,怕影响自己学习,因为还没有从高中的忙碌时期过度过来. 然而到大二的时候,我拿了属于自己的第一台电脑,拿到了宿舍,那个时候我连怎样装软件都不会,连基本的查看电脑系统信息都不会,因为我

10年编程无师自通

原文:Teach Yourself Programming in Ten Years 作者:Peter Norvig 翻译:郭晓刚([email protected]) 最后修订日期:2004-3-19 2005-01-12增加了新的译本链接. 本中文译本得到了Peter Norvig的许可. 为什么每个人都急不可耐? 走进任何一家书店,你会看见<Teach Yourself Java in 7 Days>(7天Java无师自通)的旁边是一长排看不到尽头的类似书籍,它们要教会你Visual B

一份传世典文:十年编程(Teach Yourself Programming in Ten Years)

原文:Teach Yourself Programming in Ten Years作者:郭晓刚翻译:郭晓刚([email protected])最后修订日期:2004-3-192005-01-12增加了新的译本链接. 本中文译本得到了Peter Norvig的许可. 为什么每个人都急不可耐? 走进任何一家书店,你会看见<Teach Yourself Java in 7 Days>(7天Java无师自通)的旁边是一长排看不到尽头的类似书籍,它们要教会你Visual Basic.Windows.

编程同写作,写代码只是在码字

编程同写作,写代码只是在码字 作者: Phodal Huang  发布时间: 2016-06-30 21:51  阅读: 12842 次  推荐: 43   原文链接   [收藏] 看到一篇文章<We Are Typists First, Programmers Second>,日期是2008年,好早的一篇文章.当现在打算以一个新人的身份重新进入编程领域,或许是受<重来>的影响,或者只是在重新思考——我们究竟应该如何去编程. 写代码只相当于写字 编程这件事情实际上一点儿也不难,当我

向自由的人生前行

向自由的人生前行 最近,由于自己有了MBA,觉得为了成为一个熟练的用户,应该看点介绍mac使用的东西,一搜之下就看了<Mac Talk:人生元编程>,这本书不仅仅讲了很多使用mac的技巧以及苹果的历史,而且还有很多我觉得很有道理的看法.在<Mac Talk>的某一节中,推荐了前几年很火的网络小说<悟空传>,本着对西游的热爱,把这本书也捎带看了. 悟空传是前几年网络小说很火的时候今何在写的一本书,据传是今何在的巅峰之作,这本书极尽厚黑之能事,将三界轮回系统描述的极其黑暗,