如何快速学习一门新语言

编程语言的开发越来越快,要求每一个开发人员聚焦于更快的学习能力。那么,学习一门开发语言最有效的途径是什么?实践。

实践意味着,使用你学习的内容去做东西,在做的过程中更快的学习。

比如你学习烹饪,你能仅仅只是看油管上的烹饪视频或者看某个大厨的烹饪书籍,就能做饭了么?

为什么这是最好学习的方法?因为你会保持较高的学习频率。当你在不断的做一个事情的时候,你在重复,你的大脑会不断接受,你会记住完成功能的步骤,你会理解出现bug的原因。

想要学会一件事情,但是不去做,是不可能的。伟大的演说家会成千上万次的练习他们的演讲,而不仅仅只是读一本书。我们的知识体系有非常多的漏洞,补充漏洞最好的办法就是去做。当我们遇到错误,并解决了错误,明白错误的原因,我们就会进步的更快。

开发者怎么去做?

怎么学习一门新的开发语言?肯定不是边喝咖啡边看新手入门指南。去敲。打开你的电脑,把你学到的东西敲一遍。

实践一个最核心的事情就是定下一个明确的目标。比如,为什么你要学习Python?是创建一个app,还是开发一个游戏?

当你确定好学习一个语言的目标,学习的过程会更轻松一些,因为你知道你为什么要学习这门语言。比如《学习使用python创建一个app》。你脑袋里面会很清楚,你现在学习的所有内容都是为了创建一个app。

实践最大的益处在于避免挫败感。因为你知道为什么你要学习这门语言,并且如何实施。很多开发者看了不少开发手册,他们“学”了不少语言,但是到最后,真面临要完成某一个产品的时候,虽然他们脑袋里面有一堆信息,但是却难以下手。这会带来极大的挫败感。

具体化也是一个关键。要知道,你不可能学习所有的开发语言,而只需要学习你需要的语言。

公式是学习X得到Y。所以主要的焦点是如何得到Y,而不是仅仅只是为了通过学习满足学习的欲望。在得到某个技能之前,必须先明确你为什么需要这个技能。如果你没有任何理由去做某事,那又有什么意义呢?

所以,不管你学习的是什么语言,将它付诸于实际,使用它来开发项目,即便是最简单的项目。

我认为,知识不多,但是能够在实际中大量运用的人比仅仅知识渊博的人更聪明。因为没有实用价值,这些知识拿来干嘛呢?

获取产出

我一直在思考的一个概念是输入/处理/输出(IPO)的概念。

这个过程应该是平衡的。现在,程序员并没有给他们的输出足够的关注。我们喜欢看到别人的项目,看别人的代码,但从不尝试创造我们自己的项目。即使我们创造了,也不一定是我们目前专注学习的。结果是,我们吸收了大量的输入却没有输出。在我的概念中,输出应该至少与输入保持一致。

如果你想成功,就要产出,产生结果。人们不在乎你的辛勤工作过程,但他们肯定会看到你创造了什么。所以你必须努力产生结果。虽然生产结果并不容易,但值得做这项工作。

当你吃东西,这就是输入。你耗费能量去工作,这就是输出。但是如果你只吃不工作,会发生什么?你会变得肥胖,这意味着只接收输入而不产生输出是不健康的。

这个概念一样适用于编程。当学习一门新编程语言的时候,你的头脑会被新知识撑的满满的,越来越慢,然后进入瓶颈,也是因为这时候只有输入,没有输出。

你学到的任何东西,都要回馈给世界。给世界增加价值。如果你想得到回报,你最好开始创造并获取产出。

那么产出和实践之间有什么联系呢?当你开始实践的时候,你实际上是在产出。所以,要成功就要实践。

实践程序员的优势

假设你正在申请一份工作,你知道你能把控这份工作。但是如果你不告诉他们你能做什么,那家公司怎么知道你能胜任这个工作?

你的产出越多,你就越容易向他们证明你在这份工作上的技能,他们会真正了解你的能力。

如果你没有任何项目经验,当你和其他程序员竞争一份工作的时候,你不会有任何优势。在现在的招聘市场上,有很多“僵尸程序员”大量存在,所以如果你不走出“睡眠模式”(你没有任何产出的项目来证明你自己),你就会和他们一样,也得不到公司的任何关注。你有学位,他们也有学位,但是如果你有自己的项目经验,那么和他们相比,你会有更多优势。

另外,当你从所学的知识中生产更多产出的时候,你会更好地掌握它,因为获取产出的过程就是自我探索的过程。相信我,在完成一个项目的时候,你会遇到很多令人沮丧的问题,但这些问题会让你更深刻地理解怎样做是对的,怎样做是错的。

就像爱迪生发明灯泡一样——通过成千上万次的失败经验,最后获得了成功。这个实验过程就是我说的产出。如果他不去实验,他不会有任何产出。

知识的价值在于产出,程序开发也一样。你学习一门新语言的终极目的就是使用他去创建一些东西,而不仅仅只是“学习”本身。在编程中的实践,会使你看到最终目标并使你创造出非凡的产品。

叩丁狼告诉你如何实践?

1. 边学边玩

这里的玩意味着实验。比如当你学会如何使用Python turtle库完成一个四边形,你就应该尝试使用它创建一个六边形,创建一个八边形。然后再尝试添加一些颜色等等。然后将这个过程在你的facebook或者你的blog中分享出来。

2. 创建一个blog来分享你的学习

维护一个blog是成为一个优秀的程序员的很好的方法。在相同领域的其他人会慢慢认识你。在blog中,你可以分享你学习一门语言的试验,分享实验过程中遇到的问题,bug,以及解决方案。

3. 在油管上创建一个频道

你可以在油管上录制你学习一门语言的教程,或者你对正在使用的语言的一些理解。着不仅仅能提高你对开发语言的理解,还能非常大的提升你的演讲和交流能力。这些能力对于你的职业发展是非常重要的。

4. 建立公共项目

创建一个公共项目是我最喜欢的。创建一个公共项目能够帮助其他开发。比如Google Play上的App都是其他项目的例子,你也可以创建一个。

运用你的知识

归根结底是运用你所学的东西,常识就是:除非你去做,否则你不会擅长做某事。

当你学习一门新的编程语言的时候,立刻开始动手写代码,创建你喜欢的项目,然后你会逐渐发现这门语言的真正能力。

这真的很重要,学习一门编程语言的目标是用它,而不是作为你的附加知识供自己欣赏或者给别人炫耀。

猜你喜欢

转载自blog.csdn.net/qq_36199745/article/details/83583363