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