1.基本上可分为:
天才型的程序员,比如Ken Thompson, Donald Knuth(写了第三个程序后就真正成为程序员了),L Peter Deutsch(属于神童型,根据一些资料自己实现PDP-1上的Lisp),JamieZawinski(自学成才者)之流;
另外一些可归于优秀的工程师(程序员/架构师/语言设计师),其中一些起步很早的,像Brad Fitzpatrick差不多两岁就开始玩电脑和看父亲编程,5岁开始编程,十几岁赶上internet革命大潮.
2.在当时那个时代,函数式编程和命令式编程都得到很好的发展。设计程序时既可以采取自顶向下又可以自底向上方法,有时两头凑凑就出来了。程序设计眼界都很宽,了解熟悉不止一门语言,而且都运用自如.
比如GuySteele:COBOL,Fortra,IBM1130汇编,PDP-10机器语言,APL,C,C++,Bliss,GNAL,Common Lisp, Scheme, Java,JavaScript, Tck,Haskekk TeX等.不像现在为了糊口/生活而工作,学的用的都是公司需要的技术,命令式编程居多.
3.都写过大量的程序,甚至Knuth这种做学术的人都经常写些小程序供自己使用。测试驱动的开发,开发时就能自己测试所写的程序接口的正确性;不变量和形式化证明程序的正确;都带有Hoare特性(明显没有bug,而不是没有明显的bug),调试程序的能力都一级的棒,好些人调试的都是多线程,并发,极难复现的bug, 这是一种方法更是一种能力
4.好些人都是转行过来的,Joe Armstrong和Dan Ingalls 物理出身;Douglas Crockford是学电视专业的;Ken Thompson也是学电气工程的
阅读(1609) | 评论(0) | 转发(0) |