从Android开发时的Java,到iOS开发时的Objective-C,到Ruby on Rails的Ruby,再到苹果推出的Swift,自己前前后后已经学了4门编程语言,这里分享一下自己的学习心得。

学什么

学一门“语言”(如英语)学的是听、说、读、写,学习编程语言学的是什么呢?学的是语法、特性、最佳实践,最佳实践包括代码规范、设计模式等。

Programming style, also known as code style, is a set of rules or guidelines used when writing the source code for a computer program. It is often claimed that following a particular programming style will help programmers read and understand source code conforming to the style, and help to avoid introducing errors.

语法和特性是一门语言内含的功能,可以通过在线文档、权威资料来学习,如Swift Language Guide;最佳实践往往是社区的总结经验,拿Swift来说,可以通过Raywenderlich Swift Style Guide学习代码规范,可以读Swfit Design Patterns来学习设计模式。

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

当然不是所有方面都有现成的经验可以参考,有时候需要我们自己摸索、积累,而现有的最佳实践也会随着技术的发展改变,需要我们及时更新。

学的关键是用

学中,用中,是学习一门技术的最快方式。如果打算学习一门语言,首先要想:怎么找到一个项目练习。假如暂时不用,自问:什么时候会用到这门技术吗?如果在可以预见的将来,如半年、一年,都不会用到,那还是打消这个念头,你的精力可以花到更有价值的地方,否则学而不用很快就会忘掉,徒费光阴,等到用时再学也不迟。

如何阅读文档

一般各编程语言的官方网站会提供文档,如Swift Language Guide,整个文档相当详尽,读完会对其语法、特性有一个全面的理解。第一次阅读相当于在大脑中建立资料的索引,方便之后的查漏补缺、温故知新。

这里要注意的是不要因为某个疑难点恋战太久或终止,一个知识点可能要结合其他点一起理解才能明白,而要明白,先要记住。不懂,记住再说。一回生,二回熟,多看几次就明白了。李笑来老师曾分享自己的一个本领:“一本书,只要必要,即便是读不懂,也要读完”。阅读文档也需要用到这个本事。

再学一门

编程语言长得都差不多,学了一两门再去学新的语言,只需要学习这门语言中“奇怪”的地方就好。

这时就没必要从头到尾读官方文档(或权威资料),因为它们常常是针对入门级读者的,很多内容与其他语言的文档是重复的,可以去找一份速查表(Cheat Sheet)或手册,如Swift Cheat SheetRuby Syntax Manual,快速过一遍,看有没有什么奇怪的东西,有的话再去找Google更详细的资料阅读,这样你可以快速学习一门语言中新的知识点。