学习编码的最佳方法
刚开始学习编程时,最让我沮丧的就是我现在称之为“迷雾桥”的事情。这是一座又长又黑的桥,左边的一切都太容易,右边的一切都太难。所以你只能漫无目的地跌跌撞撞地走过这座该死的桥,不知道自己到底不懂什么。
大多数编程新手都苦于找不到过渡任务和知识来源,无法从新手变成熟练程序员。那些成功跨越这道坎的人,要么是不断地钻研简单的任务,要么是绞尽脑汁去完成一个可能远远超出他们能力的项目。
这导致绝大多数初学者感到沮丧,并在应该放弃之前就放弃了。他们精疲力竭。不是因为编程很难(其实并不难),而是因为学习编程很难。而且编程真的不应该很难。
那么,有没有更好的方法呢?
一年多来,我一直痴迷于寻找这个问题的答案。学习编程的最佳方法是什么?这是一个看似简单的问题,但答案却完美地解释了为什么学习编程如此困难。或者我应该说,为什么向别人解释如何学习如此具有误导性。
如果你问五位开发者学习编程的最佳方法是什么,你可能会得到五个截然不同的答案。一个人会自信满满地说,你必须开始构建真正的应用程序。另一个人会给你一大堆博客文章、YouTube 视频和在线课程的链接。还会有人说他哥哥参加了某某训练营,而且看起来棒极了。一个看起来很书呆子气的人会给你一个计算机科学入门课程的 .edu 链接,而另一个人无疑会推荐一两本备受推崇的书籍。
你知道这些回复最让人沮丧的是什么吗?它们都是非常棒的答案。那么,为什么你仍然感到和第一次问这个问题时一样沮丧呢?
原因如下:学习编程最容易的方法是按照特定的顺序进行。如果你不按顺序学习,你会感到非常沮丧或无聊。这就像不先用辅助轮就尝试骑自行车,或者在你已经会读写的情况下学习字母表一样。
穿越雾桥的最佳方法是将其分成三个独立但又不同的部分。你可以把这些部分想象成地图上的边界。它们有助于导航,但并非真实存在。
- 学习语法
- 解决问题
- 制作东西
每个环节都是后续环节的先决条件,但各个环节之间并非相互排斥。换句话说,跨越迷雾重重的桥梁并非一个严格的线性过程。虽然每个环节都相互衔接(无论顺序如何),但你应该一次专注于一个环节。这样做,你就能更快、更轻松地跨越桥梁,也更少头疼。
让我们更详细地看一下每个部分。
学习语法
这部分会给你一种虚假的自信,但当你真正开始解决问题时,这种自信很快就会消失。无数入门书籍、视频和课程都围绕着这个领域展开。这个领域赚得盆满钵满,因为大多数人学了一点语法,就再也没有深入学习(这不是他们的错,但我马上就会讲到这一点)。
这个领域真的没什么可缺的。学习基础知识的市场如此巨大,很少有人进一步深入,你会发现几乎无穷无尽的学习资料。不要陷入不断学习和重新学习语法的常见陷阱。一旦你读完了两本关于你选择的语言的不错的入门书籍,就认为它已经很好了,然后继续解决问题吧。
解决问题
现在,这是一个亟需关注的领域。它几乎完全被忽视了,我相信这也是很少有人能坚持学习语法的主要原因。他们除了一些模糊的建议之外,没有任何方向,就像试图在从未使用过辅助轮的情况下骑自行车一样。虽然有可能,但远非理想的学习方式。
当你能够掌握第一段代码的语法,并能够在无人指导的情况下运用它时,你就进入了解决问题的阶段。这正是像程序员一样思考的精髓,也是你跨越迷雾之桥的旅程中最困难、最重要的部分。事实上,这正是我过去15个月(截至本文发表)一直在努力的方向。
初学者根本缺乏中级任务和资源来弥补从掌握基本语法到实际运用语法之间的差距。他们别无选择,只能磕磕绊绊地跨过迷雾笼罩的桥梁,直到最终只能靠纯粹的蛮力才能弄清楚一切。
制作东西
我认识的几乎所有开发者都是直接从学习语法开始做东西(或者……尝试做东西)。这很令人沮丧,因为你不仅要学习像程序员一样思考,还要学习框架、所有与框架相关的术语、如何使用 IDE 以及其他一些我不会涉及的内容。
一旦你理解了语法,并且能够独立解决基本的编程问题,那么是时候为开源项目做贡献,或者实现你脑子里一些奇思妙想了。创造一些让你早上兴奋地起床,晚上睡不着觉的东西。热情会帮助你克服剩下的困难。
很多人感到沮丧并最终放弃学习编程的原因,并非因为编程很难,而是因为学习编程本身就很难。它很杂乱,充斥着各种术语,导致信息过载。你需要学习的东西实在太多了。所以,至少要保持方法简单。
- 学习语法
- 解决问题
- 制作东西
一般都是按照这个顺序。
文章来源:https://dev.to/edabit/the-best-way-to-learn-how-to-code-14lk