在你印象中,程序员是怎样的?是不是长久不变的格子衬衫,内向沉闷,机械的敲着代码?那你能够想象摇滚巨星成为程序员的样子吗?
来源:雷锋网
原文链接: https://www.leiphone.com/news/202012/Q4djalUJFl7TOezO.html
原文标题:耗时五年,一位美国摇滚巨星自学成为程序员
毫不夸张,这是我听过的最有趣的故事。
一名美国摇滚明星自学成为了程序员。
看到这个消息,我马上发给了我做程序员的同学,他也马上发来调侃道:
不是吧!不是吧!
那么,这位摇滚明星是谁?
Rivers Cuomo 其人
常听摇滚乐的童鞋应该对 Weezer 乐队并不陌生。
Weezer 乐队成立于 1992 年。Weezer 影响了美国大批新一代流行朋克和硬核年轻乐队,许多当代的乐团都曾被拿来与 Weezer 比较,并将 Weezer 列为影响他们曲风的来源。
甚至连比尔·盖茨都是他们的歌迷。
而 Rivers Cuomo 是这个乐队的主唱,同时他也是个哈佛的学霸。
在 Weezer 的首张专辑大获成功之后,他在哈佛大学读大二,并在宿舍里住了一年。
后来,他离开了学校,开始录制乐队备受喜爱的后续作品《Pinkerton》,但在 1997 年和 2004 年的两次入学中,这位音乐人终于在 2006 年获得了英语文学学士学位。
一边搞事业一边搞学业,两不耽误。
现在,Rivers Cuomo 还利用业务时间学起了编程,并且已经学习 5 年之久。
最近,他在 Github 上还利用自己所学售卖自己的歌曲的小样。
据他介绍,从 1976 年到 2015 年,这些歌曲的质量参差不齐,从磁带录制的小品到更精美的曲目都有。其中一些歌曲最终会被收录到 Weezer 的 13 张专辑中,或者是各种编外项目中。
这些曲目在 Cuomo 的“Mr. Rivers's Neighborhood”站点中可以买到,分成九组,每组售价 9 美元。
感兴趣的童鞋可以去康康。
为什么想成为程序员?
那么,是什么促使他想要变成程序员呢?
说起来,原因也很简单。
作为一名合格的摇滚歌手,利用电子表格来记录所有歌曲、想法等,但是后来他慢慢发现 Excel 变得越来越复杂,代入公式去记录自己的歌曲方式让他觉得自己好像在写代码,这实在太复杂了。
我几乎是在用这些公式来写代码,只是它超级难用。因此,或许我真的应该用编程的方式来代替。
于是,凭借自己是哈佛大学的学生的身份,Rivers Cuomo 开启了一个新的大门。
在浏览了一些在线课程后,他想要找一些看起来有吸引力的课程,结果发现哈佛大学 CS50 非常受欢迎。
在哈佛大学历年的课程调查中,CS50 都是最受学生欢迎的课程之一。在哈佛大学,CS50 拥有自己的展会,学生们可以在那里展示自己的编程作品,并与来自 Facebook 和谷歌等企业的技术招聘人员交流。这门课程甚至还有自己的周边,比如压力球和印着「I TOOK CS50」 的 T 恤。
这门课程所录制的公开课也风靡全球,其账号在 YouTube 频道上拥有超过 51 万名关注者。
CS50 课程旨在教授学生算法知识和高效解决问题的能力。主题包括抽象、算法、数据结构、封装、资源管理、安全性和软件工程,语言包括 C、Python、SQL、HTML、CSS 和 JavaScript。
另外,本课程完全免费,也不需要购买任何书籍。
而想要成为程序员的第一步就是要学会如何写代码。
哈佛大学的 CS50 刚好满足这一要求。
第一周的课程是使用 Scratch。
Scratch 是由麻省理工学院的“终身幼儿园团队”设计开发的一款图形化编程工具,旨在让程序设计语言初学者不需要先学习语言语法便能设计产品,主要面对青少年开放。
开发者期望通过使用 Scratch,启发和激励用户在愉快的环境下经由操作(如设计交互故事)去学习程序设计、数学和计算知识,同时获得创造性思考、逻辑编程和协同工作的体验。
Rivers Cuomo 形容这个课程的内容像是点击和拖动式的编程,类似制作一款小视频游戏。
在学习了一段时间后,Rivers Cuomo 开始学习编程。
据他介绍,他在编程项目上花费了大约 70% 的工作时间。
最近,他还计划参加哈佛大学的 CS50M 后续课程,该课程的核心是为移动应用开发。
果然是活到老学到老的模范啊。
而且,用代码记录自己的喜欢的音乐可以说非常酷了。
但最关键的是,如果没有热爱,这一切都无从谈起。
相信这也和在开源社区贡献代码的程序员一样,他们在业余时间里所制作的软件,也都是出自于心底对于某个项目的热情与坚持。
或许,下一次你再遇到程序员时,你会发现他可能是个隐藏的吉他手、贝斯手、作曲人,有人散发着文艺气息,有人有着与生俱来的幽默。
所以别再对程序员抱有偏见啦~兴许你的男神也加入了这一队伍!
如果你对C/C++感兴趣,想学编程,小编推荐一个C/C++技术交流群【点击进入】!
涉及到了:编程入门、游戏编程、网络编程、Windows编程、Linux编程、Qt界面开发、黑客等等......