如何缩短编程语言的学习曲线

173 阅读7分钟

学习代码是一项坚持不懈的工作。根据我的实际经验,不难看出,大多数想学习代码的人在尝试过一种语言后就会放弃。对大多数人来说,在他们的旅程开始时,学习多种语言的想法似乎几乎不可能。语法看起来就像字母和字符的杂乱无章,甚至仅仅是让一个基本的 "hello world "运行所需的设置就使整个过程变得非常令人沮丧。

所以,如果你现在正处于这种状态,我在这里让你知道,它变得更容易了。学习代码有一个巨大的学习曲线,今天我将与你分享这个曲线是什么样子的,以及当你通过第三种语言时,你甚至会发现学习新语言的过程是愉快的。

medium.com/media/63fb8…

所以这一切都始于最初的兴趣火花。你想做一些东西,而且你知道你需要能够写代码来完成它。在这一点上,你甚至可以去搜索一些术语,如 "学习代码 "或 "什么是好的第一种语言",我保证你会找到不少于数十万个关于如何开始的意见。这使得这一切变得更加混乱。尽量不要被卷入学习什么语言的问题中。无论你在这里选择什么,它都会有一个目的,这个目的在本文后面会变得很明显。

如果你想知道我对语言的看法,这里有我的建议。如果你想做一个基本的博客或为WordPress添加功能,就选择PHP。如果你想学习更多的通用编程语言,可以学习Go或Python。如果你想从头开始做网络应用,就用Javascript,但如果你真的想看一大堆不同的语言,我强烈推荐你看fireship的100秒系列。他的视频做得很好。

好了,现在你已经选择了一种语言,是时候学习了。这第一门语言总是会很困难,因为你不仅要学习语言本身的细微差别,而且还要学习,一般来说,编程语言是如何工作的。我不可能把如何学习我提到的每一种语言都说一遍,但让我们来看看第一次做这件事时你应该学习的东西。

  1. 首先,学习如何使该语言在你的电脑上工作。每种语言都有一个网站,一般都有一个 "设置 "部分,可以让你开始让它在你的机器上运行。有些语言超级容易设置(如Go和Node),其他语言则更难设置(如PHP),但允许你简单地保存一个文件并立即看到你的变化。
  2. 在你完成设置后,给自己找一个关于该语言的良好速成课程。从该语言的网站教程开始,在你通过这些教程后,也许可以拿起一本书或一个在线课程。我不会在这里向你推销,但我在本文的底部放了一些很好的资源。有些是免费的,有些要花钱。花钱的资源是非常微调和集中的,所以如果你想快速行动,这可能是你要走的路。
  3. 一旦你对语言的语法和功能有了一些基本的了解,就可以做一些东西。不要试图去做大的和你的梦想程序。只要做一些能用的东西就可以了。这将使你感到到目前为止所有这些工作都得到了回报。

好了,现在你已经做了一个简单的程序,现在你有一个选择。你可以选择深入研究你所选择的语言,或者跳到第二种语言来扩展你的技能。无论你现在选择哪一种,你最终都会有学习另一种语言的需求,这是不可避免的,如果你想开始编码生涯,也是一个非常好的主意。许多雇主会问你是否懂得某种语言,但事实上,他们只真正关心你是否能很好地使用任何语言,并将你的学习成果应用于学习其他语言。

因此,一旦你决定学习另一门语言,一开始会觉得你在重新开始,但这里是我要为你节省大量时间的部分,所以你准备好了吗?我在前面提到,学习你的第一门语言需要学习该语言的细微差别,但也需要学习编程语言的一般工作方式。不幸的是,对于大多数自学成才的程序员来说,你可能没有意识到这句话的第二部分。在学习你的第一门语言时,需要意识到的重要部分是,在其核心部分,几乎所有的编程语言都做着完全相同的事情,只是方式略有不同而已。在学习第二种语言的时候,试着从这个角度来看待学习它。

开始的方式与你学习第一种语言的方式相同。弄清楚如何安装它以及如何在你的电脑上运行它,但是,不要只是钻研代码,而是要找到第一种语言和第二种语言之间的相似之处和差异。以下是要寻找的东西。

  1. 每种语言都会有循环和条件语句。弄清楚如何进行for循环、while循环、if语句和switch语句。
  2. 一旦你掌握了这些东西,再深入挖掘语言中的 "类对象 "部分。不是所有的语言都把它们的结构称为对象、属性和方法,但它们肯定都有类似于对象的东西。
  3. 找出你如何在集合中存储信息,并制造这些集合的实例。找出你如何编写作用于这些集合的函数。弄清楚你的两种语言之间在语法上的差异,但仍要以完成相同的结果为目标。
  4. 最后,一旦你知道了相似的部分,你就可以了解不同的部分了。这些东西是使某些语言在完成某些任务时比其他语言更好的原因。例如,有些语言对多任务有很好的支持,而其他语言则没有。有些语言有自动垃圾收集功能,有些则没有。有些语言要求你在初始化变量时声明它们的类型,而其他语言则不需要。

好了,现在你有两种语言的书了。你现在应该能够看到,你可以把学习一种语言的方法应用到任何其他语言上。一旦你知道了其中的两种,第三种就会自然而然地发生。你应该能够再次潜入并应用同样的模式。

所以,现在你已经看到了学习曲线是如何运作的,请在评论中告诉我:你现在在这条曲线上的什么位置?你是刚刚开始吗?你是在学习你的第一门语言吗?你已经在学习第三或第四种语言了吗?如果你刚刚开始,请不要放弃好的。我就不多说了。直到下一次,祝你编码愉快!

PHP

NodeJS / Javascript

Go (Golang)

Python


How To Shortcut the Programming Language Learning Curve最初发表于Dev Geniuson Medium,人们在这里通过强调和回应这个故事来继续对话。