摘要:
设计的重要性 我曾经在一篇文章里谈过关于设计的问题,然而那篇文章由于标题不够醒目,可能很多人没有注意看。我觉得现在有必要把里面的内容专门提出来讲一下,因为设计在我的心目中具有至关重要的地位,却被很多计算机科学家和程序员所轻视。 我觉得自己不但是一个计算机科学家和程序员,在很大程度上我还是一个设计师。 阅读全文
摘要:
所谓软件工程 很多编程的人包括我,头衔叫做“软件工程师”(software engineer),然而我却不喜欢这个名字。我喜欢把自己叫做“程序员”(programmer)或者“计算机科学家”(computer scientist)。这是为什么呢?这需要从“软件工程”(software enginee 阅读全文
摘要:
数学和编程 好些人来信问我,要成为一个好的程序员,数学基础要达到什么样的程度?十八年前,当我成为大学计算机系新生的时候,也为同样的问题所困扰。面对学数学,物理等学科的同学,我感到自卑。经常有人说那些专业的知识更加精华一些,难度更高一些,那些专业的人毕业之后如果做编程工作,水平其实比计算机系毕业的还要 阅读全文
摘要:
谈程序的正确性 不管在学术圈还是在工业界,总有很多人过度的关心所谓“程序的正确性”,有些甚至到了战战兢兢,舍本逐末的地步。下面举几个例子: 很多人把测试(test)看得过于重要。代码八字还没一撇呢,就吵着要怎么怎么严格的测试,防止“将来”有人把代码改错了。这些人到后来往往被测试捆住了手脚,寸步难行。 阅读全文
摘要:
正面思维的误区 有些人喜欢宣扬所谓“正面思维”(positive thinking),而不顾事实真相。每当你批评一些事情,他们就会拿出正面思维这个万能法宝来压制你,说:“你这人怎么这么 negative?要 positive,要看到事物好的方面才对!” 比如这次有人说:“你把之前每个东家都喷了一遍。 阅读全文