内容简介:如何快速入门一门语言
今天以 golang 为例说明如何快速入门一门计算机语言
1. 选个教程
既然是入门,要掌握的肯定不必很高级,对于一门及计算机语言,以 最小最少必要的知识原则 帮助我们入门, 这几点一般足够了:
- 基础语法
- 语言特性(golang 最重要的语言特性就是多核和并发)
- 开发环境和构建流程: 开发、测试、发布
- 常用标准库
所以要挑选的教程最少要涵盖以上几点才能算是入门。
如何挑选?
官网 是第一个应该了解的地方。简单分析一下 golang 官网的构成(看网站导航):
每个导航的内容都应该看看,对网站内容的构成形成最基本的印象,是入门该语言的第一步。然后我们再带着提出的问题: 寻找最小最少的语言知识 按图索骥找到我们所需要的资源。不难看出,Documents 能够提供我们所需要的。
Golang 的 Documents 包含了环境安装和配置,并且Learning 部分也提供了很多入门的教程:
记住我们一开始提出的问题,只要教程涵盖了这些点, 随便选一本就可以了 。
随便选一本会不会...太随便?
入门的目的是为了帮助我们了解熟悉语言的基本特征,不同教程可能章节安排的侧重不同,讲解顺序有差异,但是内容都大同小异,都能够帮助我们达到目的。一个一个对比时间成本较高,不如随便选一本看完了再说。
随便选一本一定要认认真真读完,如果教程涵盖练习最好也一并实现。
选择 golang 入门教程的方法同样适用于其他语言,大部分语言的官网有着和 golang 类似的结构,遵循上文提出的方法和原则,尽快入门,只有入门了才有资格对这门语言真正地评头论足,不然你说 golang 好,好在哪里呢,分明 PHP 才是最好的语言。
有的语言官方不会详尽给出具体的教程,此时 Google 就能发挥大作用了。关键词:language + tutorial 搜索靠前的前 10 条结果随便选一个。
2. Learn by doing
所谓学以致用,没有有效的输出,再多的输入都是低水平勤奋的表现。有了第一步的基础,我们已经可以用这门语言做点什么了。
做点什么?
记住两个原则:
- 不要太难
- 周期不能太长
刚学会点皮毛就别指望能做出很复杂有水平的事情,以免继续学习的热情受到打击。周期太长就没有办法得到有效及时的反馈,难以达到检验学习的目的。
在这两个原则之下,随便选。
由于我们都不是随便的人,随便选个项目练习可能还是有点太随便了:laughing:。
在此推荐一个 https://github.com/tuvttran/project-based-learning 通过做小项目练习的 project。
捣腾一个自己用的 blog 也是一个不错的选择。
理论和实践的距离就好比是想象中的姑娘和现实中的姑娘,你想着姑娘玉面玲珑,亭亭玉立,宛若小鸟,可能姑娘比汉子还汉子。golang 中的 nil 和 java 中的 null 完全不同,golang 的类型是后置的,golang 的函数是按值穿参,想要引用?记得写指针。
3. 投入使用
练习完一个小项目之后,就可以在日常开发环境中使用了,此时就是让语言帮助我们提升生产力的阶段。
比如团队内部的小项目,个人日常开发的一些批处理工作,简单的命令行 工具 等都可以使用新学的语言。
一开始投入使用,可能会感觉效率比之前低了,这其实很正常,毕竟新的语言肯定没有自己惯用的熟悉,所以才需要在日常开发中经常使用,学会用新语言思考问题和处理问题,转换思维模式。
想要语言或工具成为自身的一部分就像自己的左右手一样熟练,勤加练习是唯一的途径。使用中得到反馈,利用反馈修复已有的认知。
4. 搞个大的
第三步完成以后再需要进行一次阶梯性的成长以完成对语言的核心把握和真正理解,应该搞个大事情了。
所谓大,即是相对于自己当前掌握的程度而言,不是一味地追求大,这个度如何把握因人而异,因而事前评估必不可少,这几个原则可供参考:
- 大或复杂的程度一定是自己能 hold 住或和你一起合作的人能 hold 住
- 最小功能原则投入使用和收获反馈
- 做好隔离
- 尽快抛出问题,不拖到最后期限
- 完整性
举个例子,可以用 golang 替换线上生产服务的一个单一的功能模块,并且该模块即使出问题对生产服务的影响也是可控的,当然最好是不出问题。
生产环境和开发、测试环境的区别会逼迫 程序员 不得不去考虑诸如测试、部署、运维、升级、维护、性能等工程问题的方方面面,一个完整的可控的在生产环境中投入使用的项目,对积累新语言的使用经验非常有效。
小结
计算机语言大多相通,只要有任何一门的基础,学习其他语言都不会很难,以上 4 点也可以说是快速入门一门的语言的 4 个不同目标,分布在学习的各个阶段,只要瞄准目标,快速行动,逐个击破,形成习惯,很短的时间内学习并掌握一门新的语言都不是难事。
Talk is cheap,show me your code,无论学习处于哪个阶段,输出都是最重要的。
wecatch 微信扫码关注我们
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。