1.学习一门新的编程语言(Learnanewprogramminglanguage)
学习一门新的编程语言将有助于你开拓新的思维方式,特别是当你使用不熟悉的语言时,你将学习到很多种思维方法应用到语言中。而所学习到的新思维方式,你可以运用在你所熟知的语言中。甚至有时你会使用新学的语言进行你的重要项目。
提供学习经验包含:Lisp(Schemeisgood),Forth,PostorFactor(stackorientedprogramminglanguages),J(wonderfularrayprogramminglanguage),Haskell(stronglytypedpurelyfunctionalprogramminglanguage),Prolog(logicprogramming)andErlang(concurrentprogramminggoodness).
2.阅读好的且具有挑战性的编程书籍(Readagood,challengingprogrammingbook)
从书中你将学到很多,虽然实践很重要,但通过阅读好的且具有挑战性编程书籍是你改变思维方式重要的一步。这种具有挑战性的书籍包括TheArtofComputerProgramming、StructureandInterpretationofComputerPrograms(SICP)、ADisciplineofProgrammingorthefamousdragonbook。
当然,你可以选择一些难度较低的书籍,但要避免选择那些“傻瓜”书籍,即称能够在24小时或是21天内教会一切的书籍,从这些书中无法学习到提高编程技巧的内容。
3.加入一个开源项目中(Joinanopensourceproject)
加入一个开源项目的优势是什么呢?你可以和其他人(在私人项目中独自工作过)一起工作,当遇到不熟悉的代码时,你将会去研究,学习理解一个不熟悉的代码库(这应该是很有挑战性的)
4.解决编程难题(Solveprogrammingpuzzles)
你总是能够解决编程难题,在ProjectEuler中出现的数学问题,这或许就是代码难题中最流行的网站。
你应该试图去解决代码问题;程序员在编程过程中总是尝试用最少的步骤来解决遇到的难题,而在这过程中,你可以学到语言的更深奥和更特殊的功能,从而你会不得不思考代码的创造性。
5.计划(Program)
在编程开始之时,制定一个计划,拟定设计框架并实现它。并重复该操作。通过编写代码是学习代码的做好方式。
你将在错误中不断的学习、提升自己,相比于看书完成项目更加有激励性同时也带你带来更多的乐趣。
6.阅读学习代码(Readandstudycode)
学习著名的软件编程,如Linuxkernel。学习教育的一个很好的操作系统是MINIX3。从中你可以学到很多新的语言用法,对软件架构能略知一二。虽然阅读不熟悉的代码比较困难,但你会受益很多。
通过阅读可以使你了解更多的API,或者是一门编程语言。
7.阅读一些编程网站(Hangoutatprogrammingsitesandreadblogs)
阅读不同的编程网站(如论坛和StackOverflow)将有助于你通过其他程序员获取知识。
同时,你应该阅读大量的博客,说起软件行业中博客写的好当属Joel,(尽管他现在不在写博客了,很多有价值的文章依然存在文档里)。CodingHorrorandLambdatheUltimate。
当然,news.y