以下描述我学习一门编程语言的基本流程。
维基百科
首先通过wikipedia了解这门编程语言的前世今生,重点包括:
- 为什么需要发明这门语言?(判断价值)
- 它和其他语言的与众不同之处?(判断特性)
- 有哪些大公司和知名的项目用了这门语言?(判断生命力,是否值得学)
- 它做那些领域特别合适?(判断优势领域)
- 在他最适合的领域,分别有哪些著名的第三方库?(判断自己的学习路径)
- 有哪些重要的版本?(确认自己开始的版本选择)
选择操作系统
基于语言特性,选择合适的操作系统。如果是学习swift,要用mac。学习Java就无所谓。新购电脑或者用虚拟机就可以。
选择开发工具
常见的开发工具基本上都支持各种语言。只需要选择自己喜欢的即可。如果完全是小白,Visual Studio Code是很好的选择。如果是老鸟,当然用你最顺手的(我是Sublime的忠实粉丝)。
官网 & Hello World
去这门编程语言的官网。先去download搞定语言环境的安装。
然后去看看Doc下面的Beginner Guide,可否让自己至少吧hello world写出来。
同时看看官网的官方教程是否是自己喜欢的风格,如果不喜欢,或者英文不太好,可以往下找更好的教程。
制定一个目标
一个编程语言可以完成很多工作。开始学习切忌贪多,找一个明确的方向去做,带着问题学习,事半功倍。目标一定是一个对自己或他人有价值的、可实用的程序。例如:
- 一个手机上使用的记事本;
- 一个照片库;
- 一个可以关注指定股票变化的网页;
- 一个可以自动记录自己运动时间和距离的App;
- ……
“可以投入实用”,是个很重要的标准,反复在hello world的层次重复,是无法真正学到东西的。基于这个任务目标,确定你要未来一段时间的学习范畴。
搜索学习路径
将这个语言的名称和学习范畴一起输入google,看看有没有结果能提供你学习路径的信息。关键字例如: “Python 数据分析”, “Java 分布式”。很可能你能从知乎、简书、gitbook等等看到一些关于编程语言在这个领域的学习路径。本人就是用这样的方式找到了很多前辈画的思维导图,帮助我迅速理解如何在这个领域快速学习,达成目标。
搜索一个教程
如果在上一步能找到一个靠谱的学习路径,那么一定会有一些教程的推荐,可以考虑。
或者:输入这个语言的名称,看看google结果中有没有比较靠前的教程。如果有,去浏览一下,很可能不错。培训机构的广告就算了(万一是新生大学的,一定要进来看看)。
或者:去w3cschool.cn这个网站看看对应的教程是否合你的胃口。
最后,还有在前面看到的语言的官网上提供的官方教程。
四个方式找到的教程,挑一个最喜欢的,开始干吧。
快速写代码,学起来
个人的习惯,屏幕分成两半,教程放在左边,编辑器放在右边(如果用sublime,则在右下方放置终端窗口)。泡一杯茶或咖啡,舒舒服服的对着教程快速练习吧。特别需要注意的,虽然教程里面会有很多代码,但是哪怕一模一样的代码,你也要在自己的编辑器里面敲一边,不要简单的拷贝粘贴,因为哪怕是对着敲一遍代码,你也可能遇到错误并促使你找到解决方案。
按照学习路径,逐步深入
只要你够坚持,一般20个学习小时之内,你应该能掌握这门编程语言的基本语法。一些深入的东西不必在意,以后遇到了在学。够用就行,而够用的标准,就是你可以看懂下一个阶段需要接触的代码。
例如你在学习Python后,接着学习Web开发,如果Django教程中的实例代码你能看懂(看懂即可,不需要了解运行结果)。说明第一阶段的学习已经基本够用了。继续下一阶段的学习就行了,如果在学的过程中,发现有不明白的,再回过头去补课即可。
同理递推,每个阶段的学习目标都是为了能学会下一个阶段。而整个的目标,当然是做出你之前设定的学习目标。
一些工具
在手机上安装Dash,可以方便的当成这门编程语言的词典;
遇到问题不要着急,也不要 不动脑子的去问人。相信我,作为一个新手,你碰到的所有问题,都已经被前人碰到过而且解决了。所以,遇到问题就去找答案。在搜索过程中,如果遇到来自stackoverflow.com的答案,一定去看看,很可能你要的结果就在这里。
以上,就是自己的学习方法和路径。
网友评论