前言

你心里可能在想,学音乐和学编程有什么关系?

哈哈,作为一名专业的双簧管吹奏者,我发现二者其实存在很多共通之处。

这两件事都需要你极为专注、自律和坚持才能做好。

下面我将通过一些事例来说明学习音乐的经历是如何帮助我学习编程的。

做就完了

image-22
图片来自 Unsplash,作者:George Pagan III

上大学那会儿,我有好些时间在上课、排练、或是考试前都准备欠佳。

可我非但没有反思到是因为自己准备不够充分,反而会去找各种借口,比如,

“我之所以没有做好课前预习是因为我要忙着复习一个音乐理论的小测。”

又或者是,

“我在忙着准备马上要去参加的一个很重要的试演。”

然而,不管我说出的理由有多么五花八门,我的双簧管老师却从不买账。他坚信我在一天的时间里可以兼顾练习、学习,并留点时间去社交。

紧接着,他经常会向我抛出那句耐克的知名广告语,“Just Do It”(做就完了)。

我总会对之哧哧一笑,但他说的话没毛病。

对一个自学编程的人来说,你身边时时刻刻总有各种各样的干扰,你很容易就会产生如下这些念头:

“我在算法上的确需要多加练习,但要不明天再练吧。”

或是,

“我必须得要开始着手那个新项目了,但我真的很忙。”

大多数人在生活中都不会具备连续 24 小时不被打扰的空闲时间去做我们想做的事,总有别的事情在半路跳出来需要我们处理。

但残酷的现实是,我们只有保持自律、完成我们的工作,才能成为更优秀的程序员。

因此,当你再度为拖延找寻借口时,记住,无论如何也要做完手中的工作!

熟能生巧,一定能吗?

image-23
图片来自 Unsplash,作者:Samuel Sianipar

我们都听过这句话,“熟能生巧”。 但是,这句话并不总是正确。

我的双簧管老师就从来不屑这句话,而是告诉我们,“熟能生恒”。

每当我努力去学一支新的曲子时,我都会因为看不到进步而感到很沮丧。无论我练多少遍,都没有进展。

但我后来才明白,只是去参加练习是远远不够的,我必须巧于练习。

我学会了把一支长曲切分为几个小的部分,并把节拍慢下来,把每一段练到位了才继续下一段。 在我改变了练习习惯后,我逐渐成为了一名更优秀的乐师。

同样,在学习编程时,急于去学完一门课并不能让你成为一名更优秀的程序员。有时,你还会因此养成一些坏习惯,以致后面很难再去改正。

与其急于去解决所有问题,不如去逐个慢慢突破。等到你巧于练习时,就更能理解我说的这些话了。

持之以恒是关键

image-24
图片来自 Unsplash,作者:XPS

和一些人一样,我也从 7 岁就开始学钢琴,头几年我还蛮喜欢弹钢琴的。

可自从我开始学一些难点的曲子后,我就没有练习的动力了。

当时的我可谓三天打鱼,两天晒网,结果就是我的琴艺豪无长进。我报的课程也完全成了一种浪费,因为我们每周几乎都在重复同样的事情。

如今,围绕如何居家学习编程的宣传铺天盖地,很多人带着一份初期的振奋加入其中,在课堂上按照教程学习并制作了一些小项目。

可过了几个月之后,他们便渐渐没了动力。

这体现为从一开始越来越少编程到最后丧失兴趣并放弃。

在学习编程的路上,你必须制定一份持久的日程安排,否则你将无法成长为一名程序员。

你将总是陷入对一些基础内容的困惑,而永远没有能力去制作更加复杂的项目。

你每天并不一定要投入 12 个小时才能成功,但你需要制定一份适合自己的日程安排。

倘若你每天只有 2 个小时的学习时间,那就制定一个每天 2 小时的日程。

但你如果每天计划学习 8 个小时,可过了一段时间就中断了 2 周,那结果只能是成效甚微。持之以恒是学好一切的关键。

练习你不懂的东西

image-25
图片来自 Unsplash,作者:Surface

大三那年,我们的风月合奏指挥曾对我们讲过一句话,我至今仍为忘怀。

他说,“要敢于去练习你不懂的东西。”

我们大多数人想在练习室里练习的都是听起来还不错的音乐,这也许是一种让我们自我感觉良好并让自我感到满足的方式。

但我的指挥说得没错,倘若你不去挑战自己,着力克服自身的弱点,你就永远无法成长为一名音乐家。

当你最开始只是一个编程小白时,你有太多的东西需要学习。人人都很想只专注于自己喜欢的内容。

这也并不奇怪,我们都想自我感觉良好并炫耀自已掌握的知识,但这并不能成为我们忽略自身不擅长之处的理由。

如果你发现自己不擅长算法,请不要忽略它。留出更多时间来学习它,这样算法对你来说就会变得容易起来。

又或许你苦于学不好递归,但它不会因为你不喜欢就不存在了。

即便当下的一切会很困难,但你必须自律,静下心来去学习自己所需的知识。

希望大家喜欢这篇文章。如果你想了解更多有关我的信息,请在 Twitter 上关注我 @ codergirl1991。

祝大家编程愉快哦!

原文:How My Musical Training Has Helped Me Learn How to Code,作者:Jessica Wilkins