自从我开始成为一名程序员的旅程以来,我就不断听到有音乐背景如何最有可能帮助我成为一名优秀的程序员。 是的,我是经过经典训练的双基础编程,但是在我发现编码之前,我从未想过这两个领域有什么共同之处。
既然我已经开始在Flatiron学校进行编码学习,并且已经不懈地编码了5个星期,所以我决定说出几个原因,我现在也相信自己音乐和编码确实很相似。

因此,就像Ruby,JavaScript,HTML或任何其他编程语言(您自己命名)一样,音乐是一种语言,在弹奏乐器和编码之间有一些相似之处:
*关于练习
就像任何一种语言一样,没有人天生会说/会“流利的”英语/小提琴/您为它命名。 为了好好发挥双低音,我不得不练习很多! 在学习音乐作品并将其提高到演奏水平的同时,我在练习室里花了几个小时。 学习如何演奏奏鸣曲或协奏曲有很多要素。 指法,弓法,力度,发音和风格短语是音乐家应练习的最重要元素。
编程就像学习音乐一样,需要“练习”。 学习新的方面/概念需要时间和奉献精神。
*完成事情总是有不止一种方法
就像语言中的单词词汇量很大一样,因此用多种方式表达具有相同含义的句子也是如此,弹奏乐器也是如此。 如今,我们拥有数量惊人的平台,可以串流我们喜爱的表演者并观看他们表演我们喜欢和/或学习的作品。 小提琴家可以查找自己喜欢的小提琴偶像,演奏自己喜欢的协奏曲,并尝试模仿某些音乐思想。 但是,即使那样,两个人也永远不会演奏/演奏同一音乐片段的声音。 它的一部分是基于不同乐器如何产生不同声音的中继,但是另一个原因是演奏乐句的方法很多。 在钢琴上,一个例子是使用不同的指法弹奏相同的乐曲。 在弦乐器上,您可以在不同的弦上演奏相同的旋律。 拥有多种演奏同一组书面音符的方式“打开”了自我解释和创造力的大门。
在编程中,还有许多方法可以编写相同的代码。

在上面的示例中,有三种方法可以在Ruby中发出“ hello”五次。 尽管该示例非常简单,但是随着您所使用的应用程序变得越来越复杂,您将需要更多的选项来“表达”所需的方法/功能。
*分解成小块
学习新的音乐作品时,有很多方面/层次要覆盖。 音乐充满了重复和顺序。 必须熟悉音乐形式的结构和样式,这将使母带制作过程更容易。 专注于作品的较小部分可以使学习过程更快,更有效。 摘录很可能会在某个时候再次出现。 专注于简短的摘录,也将帮助音乐家更加关注其他风格元素,例如动力,发音等。
在编程中,就像在音乐中一样,重要的是要了解基本概念和顺序,以构建功能强大且响应迅速的Web /应用程序。 将其分解为少量的代码“块”,即构建可以正常使用并可以重复使用的简短函数,将使您的代码更易于阅读和实现。
*这是一个永无止境的学习过程
从那以后我就一直在演奏低音提琴。 我什至毕业于茱莉亚学校(Juilliard school),并获得了硕士学位(!!)。 经过这些年的演奏和预演(以及练习很多),我还有很多东西要学习。 从同事和我自己的新音乐到新技术和诠释。

编程也一样。 总会有新技术,语言和库可供学习。 一个好的程序员总是在学习。 永无止境…
*音乐与代码==创意
音乐是艺术,没有论据。 在与音乐家合作和为观众表演之间,作为音乐家,您一直在创作。 编码也一样。 无论您是构建一个简单的动态网站,还是一个井字游戏CLI应用程序,编码都是一种伟大的创造力和改变生活的创作的工具。
