毫不夸張,這是我聽過的最有趣的故事。
一名美國搖滾明星自學(xué)成為了程序員。
看到這個(gè)消息,我馬上發(fā)給了我做程序員的同學(xué),他也馬上發(fā)來調(diào)侃道:不是吧!不是吧!搖滾明星居然要自覺加入 “禿頭大軍”?
對(duì),你沒有看錯(cuò)。
那么,這位搖滾明星是誰?
Rivers Cuomo 其人
常聽搖滾樂的童鞋應(yīng)該對(duì)Weezer 樂隊(duì)并不陌生。
Weezer 樂隊(duì)成立于 1992 年。Weezer 影響了美國大批新一代流行朋克和硬核年輕樂隊(duì),許多當(dāng)代的樂團(tuán)都曾被拿來與 Weezer 比較,并將 Weezer 列為影響他們曲風(fēng)的來源。
甚至連比爾 · 蓋茨都是他們的歌迷。
而 Rivers Cuomo 是這個(gè)樂隊(duì)的主唱,同時(shí)他也是個(gè)哈佛的學(xué)霸。
在 Weezer 的首張專輯大獲成功之后,他在哈佛大學(xué)讀大二,并在宿舍里住了一年。
后來,他離開了學(xué)校,開始錄制樂隊(duì)備受喜愛的后續(xù)作品《Pinkerton》,但在 1997 年和 2004 年的兩次入學(xué)中,這位音樂人終于在 2006 年獲得了英語文學(xué)學(xué)士學(xué)位。
一邊搞事業(yè)一邊搞學(xué)業(yè),兩不耽誤。
現(xiàn)在,Rivers Cuomo 還利用業(yè)余時(shí)間學(xué)起了編程,并且已經(jīng)學(xué)習(xí) 5 年之久。
最近,他在 Github 上還利用自己所學(xué)售賣自己的歌曲的小樣。
據(jù)他介紹,從 1976 年到 2015 年,這些歌曲的質(zhì)量參差不齊,從磁帶錄制的小品到更精美的曲目都有。其中一些歌曲最終會(huì)被收錄到 Weezer 的 13 張專輯中,或者是各種編外項(xiàng)目中。
這些曲目在 Cuomo 的 “Mr. Rivers's Neighborhood”站點(diǎn)中可以買到,分成九組,每組售價(jià) 9 美元。
感興趣的童鞋可以去康康。
為什么想成為程序員?
那么,是什么促使他想要變成程序員呢?
說起來,原因也很簡單。
作為一名合格的搖滾歌手,利用電子表格來記錄所有歌曲、想法等,但是后來他慢慢發(fā)現(xiàn)Excel 變得越來越復(fù)雜,代入公式去記錄自己的歌曲方式讓他覺得自己好像在寫代碼,這實(shí)在太復(fù)雜了。
我?guī)缀跏窃谟眠@些公式來寫代碼,只是它超級(jí)難用。因此,或許我真的應(yīng)該用編程的方式來代替。
于是,憑借自己是哈佛大學(xué)的學(xué)生的身份,Rivers Cuomo 開啟了一個(gè)新的大門。
在瀏覽了一些在線課程后,他想要找一些看起來有吸引力的課程,結(jié)果發(fā)現(xiàn)哈佛大學(xué) CS50 非常受歡迎。
在哈佛大學(xué)歷年的課程調(diào)查中,CS50 都是最受學(xué)生歡迎的課程之一。在哈佛大學(xué),CS50 擁有自己的展會(huì),學(xué)生們可以在那里展示自己的編程作品,并與來自 Facebook 和谷歌等企業(yè)的技術(shù)招聘人員交流。這門課程甚至還有自己的周邊,比如壓力球和印著「I TOOK CS50」的 T 恤。
這門課程所錄制的公開課也風(fēng)靡全球,其賬號(hào)在 YouTube 頻道上擁有超過 51 萬名關(guān)注者。
CS50 課程旨在教授學(xué)生算法知識(shí)和高效解決問題的能力。主題包括抽象、算法、數(shù)據(jù)結(jié)構(gòu)、封裝、資源管理、安全性和軟件工程,語言包括 C、Python、SQL、HTML、CSS 和 JavaScript。
另外,本課程完全免費(fèi),也不需要購買任何書籍。
而想要成為程序員的第一步就是要學(xué)會(huì)如何寫代碼。
而代碼的選擇毋庸置疑,一定要學(xué) Python,畢竟這是當(dāng)今深度學(xué)習(xí)界最火的語言,沒有之一。
哈佛大學(xué)的CS50 剛好滿足這一要求。
第一周的課程是使用 Scratch。
Scratch 是由麻省理工學(xué)院的 “終身幼兒園團(tuán)隊(duì)”設(shè)計(jì)開發(fā)的一款圖形化編程工具,旨在讓程序設(shè)計(jì)語言初學(xué)者不需要先學(xué)習(xí)語言語法便能設(shè)計(jì)產(chǎn)品,主要面對(duì)青少年開放。
開發(fā)者期望通過使用 Scratch,啟發(fā)和激勵(lì)用戶在愉快的環(huán)境下經(jīng)由操作(如設(shè)計(jì)交互故事)去學(xué)習(xí)程序設(shè)計(jì)、數(shù)學(xué)和計(jì)算知識(shí),同時(shí)獲得創(chuàng)造性思考、邏輯編程和協(xié)同工作的體驗(yàn)。
Rivers Cuomo 形容這個(gè)課程的內(nèi)容像是點(diǎn)擊和拖動(dòng)式的編程,類似制作一款小視頻游戲。
在學(xué)習(xí)了一段時(shí)間后,Rivers Cuomo 接觸到了 Python。
我很驚訝 Python 的強(qiáng)大功能和直覺,我可以完成這么多事情。在這門課程結(jié)束后,我開始編寫一些程序,這些程序可以真正地幫助我。
在以前的工作中,Rivers Cuomo 要寫一首新歌或者錄制一首歌,僅僅是把這些想法變成目錄后輸入到 Execl 里,并且過程也很繁瑣。但是當(dāng)他學(xué)習(xí)了Python 之后,原來這些看似繁瑣的事情可以變得簡單,只要用幾串代碼就可以完成,簡單多了。
據(jù)他介紹,他在編程項(xiàng)目上花費(fèi)了大約 70% 的工作時(shí)間。
最近,他還計(jì)劃參加哈佛大學(xué)的 CS50M 后續(xù)課程,該課程的核心是為移動(dòng)應(yīng)用開發(fā)。
果然是活到老學(xué)到老的模范啊。
而且,用代碼記錄自己的喜歡的音樂可以說非常酷了。
但最關(guān)鍵的是,如果沒有熱愛,這一切都無從談起。
相信這也和在開源社區(qū)貢獻(xiàn)代碼的程序員一樣,他們?cè)跇I(yè)余時(shí)間里所制作的軟件,也都是出自于心底對(duì)于某個(gè)項(xiàng)目的熱情與堅(jiān)持。
或許,下一次你再遇到程序員時(shí),你會(huì)發(fā)現(xiàn)他可能是個(gè)隱藏的吉他手、貝斯手、作曲人,有人散發(fā)著文藝氣息,有人有著與生俱來的幽默。