如何学会编程——《十年学会编程》的启发

        毕业之后就匆匆投入到工作中,经过一路辗转做了一名程序员,转眼已经过去一年。记得当时面对项目组维护的几万行代码时,很茫然,不知道从何开始研读,等到将这一大堆代码看透后懂了很多编程的知识。我一直在想,怎样写出好的代码?这个问题很难回答,在学校里接受的教育都是那么的肤浅,学习一门编程语言,只告诉你最基本的语法,没事就出个题目让你编程求水仙花数,工作之后发现这一切都很幼稚,我什么都没学会。今天有幸再一次看到这篇好文章——《十年学会编程》,我觉得写的很好,给人启发很大,做软件需要这样踏踏实实的做好,不是盲目的走捷径,浅尝辄止。摘录其中很好的一段:

        愿意,在大学里呆上4年或更长(在研究生院里)。你会接触到一些需要学历证明的工作,你会对此领域有更深的理解。如果你不喜欢学校,你可以(通过一些贡献)在工作中获得相似的经验。在任何情况下,光啃书本是不够的。Eric Raymond,The New Hacker's Dictionary一书的作者,说过,“计算机科学不能把任何人变成编程专家,就象光研究刷子和颜料不会使人变成画家一样。” 我雇佣过的最好的程序员之一仅有高中程度;他做出了许多优秀的 软件,有他自己的新闻组,而且通过股票期权,他无疑比我富有的多。

1、和其他程序员一起做项目。在其中的一些项目中作为最好的程序员; 而在另一些项目中是最差的。当你是最好的,你能测试领导项目的能力,用你的观点激发别人。当你是最差的,你学习杰出者是怎么做的,了解他们不喜欢做什么(因为他们吩咐你做事)。

2、在其他程序员 之后接手项目。使自己理解别人写的程序。当程序的原作者不在的时候,研究什么需要理解并且修改它。思考如何设计你的程序以便后来者的维护。

3、学习至少半打的编程语言。包括一种支持类抽象的语言(象Java 或C++),一种支持函数化抽象的语言(象Lisp或ML),一种支持语法抽象的语言(象 Lisp),一种支持声明规格说明的语言(象Prolog或C++ 的模板),一种支持共行程序(coroutine)的语言(象Icon或Scheme),一种支持并行的语言(象Sisal)。

4、请记住“计算机科学”中有“计算机”一词。了解你的计算机要花多长时间执行一条指令,从内存中取一个字(有cache),从磁盘中读取连续的字,和在磁盘中找到新的位置。(答案)

5、参与一种语言标准化的工作。它可以是ANSI C++委员会,也可以是决定你周围小范围内的编程风格是应该两个还是四个空格缩进。通过任何一种方式,你了解到其他人在某种语言中的想法,他们的理解深度,甚至一些他们这样想的原因。

6、找到适当的理由尽快地从语言标准化的努力中脱身。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值