学习Python:一种适合所有人的编程语言

发表时间: 2020-12-03 14:59

本文的主人公 Rivers Cuomo 是一位音乐家,他摇滚乐团 Weezer(1992年成立于美国洛杉矶,许多当代的乐团都曾被拿来与 Weezer 比较,并将 Weezer 列为影响他们曲风的来源)的主唱和吉他手的身份最为人熟知,他同时也以个人音乐家的身份活动。鲜为人知的是,他还是一个程序员。本文介绍了 Cuomo 在摇滚巨星光环背后成为程序员的历程,这是一个非常励志的故事,InfoQ 中文站希望这则故事能够激励人们参与到编程中来,并发现编程的快乐和意义。

“嗨,我是 Weezer 乐队的 Rivers”, Rivers Cuomo 微笑着向我们招手。在开始他最擅长的信息广告推销之前,他从镜头前转过身来。“想象一下,你正在巡演,你正坐在更衣室或巡演巴士里。你在后台,但你怯场了,太紧张了。你来回踱步。除此之外,你的巡演经理还不断地给你打电话来询问你关于后勤方面的问题。”

就网络宣传视频而言,它并不是最普遍的。如果要说有什么区别的话,那就是,这段三分钟的片段在结束时已经失去了任何民粹主义吸引力的希望。在最后一个镜头中,这位身穿栗色 SpaceX 连帽衫的歌星是最后一个登上私人飞机的人。机舱关闭,露出 Weezer 的“W”标志。

“现在就从 GitHub 下载 Drivetimes 吧!”Cuomo 在画外音中补充道,“这是 CS50X。”

这并不是最精致的应用程序推销视频,Cuomo 的电梯推销可能还需要进行一些改进,然后再和风投联系,争取种子轮融资。不过,这是值得期待的,因为期末作业将用于在线编程课程。这些图像在代码页面、Google 电子表格和 POV 镜头之间交替出现,因为他在舞台上与 Pixies 进行了联合主演巡演。

这样,Cuomo 在课堂上就拿到了 95 分。

CS50X 期末作业:“Drivetimes” 视频链接:https://youtu.be/3Kf4-zMNqq8

不过,虽然在目前的配置下,Drivetimes 巡回演唱会日程安排工具的吸引力可能有限,但这位音乐人在哈佛大学后续课程 CS50W 中完成的最后一份作业,对于那些追随他长达四分之一个世纪的职业生涯的乐迷来说,却是显而易见的。

本周,Cuomo 发布了 2400 多首演示,总计超过 86 小时。从 1976 年到 2015 年,这些歌曲的质量参差不齐,从磁带录制的小品到更精美的曲目都有。其中一些歌曲最终会被收录到 Weezer 的 13 张专辑中,或者是各种编外项目中。其他歌曲就没那么幸运了。

这些曲目在 Cuomo 的“Mr. Rivers's Neighborhood”站点中可以买到,分成九组,每组售价 9 美元。“顺便说一句,”Cuomo 在一份免责声明的末尾写道,“这个市场是我在修的网络编程课程的最后一份作业。”

五年来,这位创下白金唱片销量的摇滚巨星一直在业余学习计算机编程。

“我总是一个用电子表格的家伙,”Cuomo 告诉 TechCrunch,“2000 年左右,我想我开始接触了 Microsoft Access,然后是 Excel。只是为了跟踪我所有的歌曲、演示和想法,电子表格变得越来越复杂了。以致于我觉得,‘好吧,我几乎是在用这些公式来写代码,只是它超级难用。因此,或许我真的应该用编程的方式来代替。’”

视频链接:https://youtu.be/okthJIVbi6g

对于其他有成就的音乐人来说,这完全是一种奇怪的副业。但是,对于 Cuomo 来说,这是合乎逻辑的下一步。在 Weezer 的首张专辑大获成功之后,他在哈佛大学读大二,并在宿舍里住了一年。最后,他离开了学校,开始录制乐队备受喜爱的后续作品《Pinkerton》,但在 1997 年和 2004 年的两次入学中,这位音乐人终于在 2006 年获得了英语文学学士学位。

CS50 课程让人们发现,至少从精神上来说,Cuomo 重新回到了哈佛大学。这门课程是免费的计算机科学入门课,由哈佛大学在网上开设。

“我浏览了一些在线课程,想要找一些看起来有吸引力的课程,结果我发现哈佛大学 CS50 非常受欢迎。”Cuomo 说,“所以我就说,‘好吧,让我来试一试。’但是这并没有马上发生。第一周的课程是使用 Scratch。我不知道你是否知道,但它就像是点击和拖动式的编程,你就是在制作一款小视频游戏,”

视频链接:https://youtu.be/h_Wu6lI-42w

对这位音乐家来说,这门为期六周的课程被延长了六个月。在同一年,这位音乐家——现在是两个孩子的父亲—举行了数十场演出,并录制了 Weezer 的第十张专辑,也就是获得格莱美提名的 White 专辑。

“当我们在课程进行到一半的时候,接触到了 Python”,Cuomo 说,“我很惊讶 Python 的强大功能和直觉,我可以完成这么多事情。在这门课程结束后,我开始编写一些程序,这些程序可以真正地帮助我管理作为一个旅行音乐家的日常生活,同时也能管理我的电子表格,管理我作为一个有创造力的艺术家的工作。”

视频链接:https://youtu.be/UV5F3vcQyrY

对 Cuomo 来说,生产力从来就不是什么问题。除了今年的 Black 专辑外,乐队还完成了两张专辑,并且已经开始了另外两张后续专辑的创作。然而,似乎更大的问题是如何组织这些想法。这需要使用电子表格和数据库。

这“成千上万”的电子表格变成了一个数据库,将 Cuomo 自己的演示和他向其他艺术家学习的作品进行了编目。

“多年来,这似乎是一种浪费时间或放纵自己,”他说。“我应该写一首新歌或者录制一首歌,而不是简单地把这些旧的想法编成目录,但我发现,多年以后,我就能很有效率地利用这些古老的想法,因为我可以告诉我的 Python 程序,‘嘿,给我看看我所有的想法,在 126 BPM 的 A 平调下,这些想法以三度的音阶和旋律开始,并且是 Dorian 模式,而且我的经理已经给了三颗星或更多。’”

他承认,这一过程可能缺少一些摇滚乐的浪漫主义,而这正是乐队粉丝们所希望的。但是,尽管 Cuomo 对此进行了大量的分析,但他坚持认为,“魔法”依然存在。

视频链接:https://youtu.be/THb3ncBWMms

“在我们传统上认为的人类创造力中,仍然有很大的自发性和灵感空间,”Cuomo 解释说。“我在这个领域的英雄之一是 Igor Stravinsky。有一本他的演讲集,叫做“Poetics of Music”。在这本演讲集中有一个注释,他说,他对一个只运用自己一种才能的作曲家没有兴趣,比如一个作曲家会说,“我只会在我处于某种创作空间的时候,自然而然地写出脑海中蹦出来的东西。我不会用我其他的工具的。”

“他说,‘不,我更喜欢听一位作曲家的音乐,他运用了他所有的才能、他的直觉、还有他的智慧,以及他的分析和分类的能力,利用他所拥有的一切。’我发现这些作品最终是最狂野、最不可预测、最有创意的作品。”

而且一直不缺作品。Cuomo 表示,除了今年的《Black》专辑之外,乐队已经完成了两张专辑,他已经开始了另外两张后续作品的创作。几十年来,他一直受制于主流唱片公司长达 18 个月的专辑发行周期。这位歌手表示,在Demos项目之后,他有了新的兴趣,想找到更多的方法直接向歌迷发行音乐。

“我觉得自己并不擅长了解宏观市场,以及如何在世界范围内产生最大的影响,”他说。“我的经理在这方面很擅长,但我只是告诉他们说,‘嘿,这感觉像是这里的东西。首先,这真的很有趣。粉丝们真的很开心。这对每个人来说都是超级容易的’。编码部分并不容易,但对其他人来说,只需点击几下,你就能得到所有这些音乐,而且价格便宜,没有中间商。Paypal 需要一点点, 但它不像一个主要的标签。所以,这可能是某种东西。直接从我身上传递给观众的感觉真好。”

视频链接:https://youtu.be/hOIsYA1QDuk

目前,计算机科学仍然占据了他的大部分时间。Cuomo 估计,他在编程项目上花费了大约 70% 的工作时间。在周三晚上,他为一个冥想网站帮忙编程(这也是他几十年来的爱好),他还计划参加哈佛大学的 CS50M 后续课程,该课程的核心是为移动应用开发

不过,目前还没有打算辞掉他的日常工作。

他说:“我不可能在初创公司找到一份工作,或者维护别人的网站。不过,也许摇滚明星和网络开发者之间的界限正在变得模糊,所以音乐家们将越来越多地使用技术工具。除了单纯的音乐软件之外,我们会越来越多地使用发行、组织和创意的手段,这些都是我们与乐迷建立沟通的方式。”

作者介绍:

Brian Heater,TechCrunch 的硬件专栏编辑。他曾为一些领先的科技出版媒体工作,包括 Engadget、PCMag、Laptop、TechTimes 等,并担任过执行总编辑。


原文链接:

https://techcrunch.com/2020/11/25/rock-star-programmer-rivers-cuomo-finds-meaning-in-coding/

关注我并转发此篇文章,私信我“领取资料”,即可免费获得InfoQ价值4999元迷你书,点击文末「了解更多」,即可移步InfoQ官网,获取最新资讯~