程式設計和音樂真的很像嗎?
在過去的幾十年時間裡,對音樂作品和程式設計同時感興趣的電腦科學家成功地將兩者結合在一起。現在的人工智慧譜寫的音樂,幾乎與由專業音樂人建立的沒有區別。
很多專業的開發人員對音樂有著真正的激情,以及許多音樂家涉足過程式設計,這些已經不是什麼秘密。例如,Elvis Costello,一位多產的英國音樂家,被譽為“他那一代最優秀的詞曲作家”,在他的音樂生涯騰飛之前,在上世紀70年代操作IBM 360。
你可以發現為什麼人們會沉溺於這兩個領域:因為創作旋律和編寫演算法之間有很多共同之處。從表面上看這兩者似乎頗不相同,但是開發有創造性的一面,而譜曲亦有機械化的一面。那麼,程式設計和譜曲有什麼相似之處呢?
你的心中已經有音樂的脈動
讓我們先來看一看譜曲和程式設計之間的相似之處。
1.它們都遵循關於以下邏輯規則
譜曲,和程式設計一樣,需要古希臘人所謂的三藝。即:
語法:紮實理解基本原理——樂譜和程式語言規則的理論或知識。
邏輯:你需要能夠建立“邏輯推理”。當音樂創作或編碼時,你需要遵循邏輯規則使得“活動件”一起正常工作。
修辭:和語法和邏輯一樣,你需要說服聽眾和新方法的使用者接受標準做法。
如果不遵循作曲和開發的基本原理,一切都無法正常運轉。一個胡亂編寫的程式將充滿bug,在相同意義上,病態的和絃結構會造成樂曲的不和諧。
2.它們從一件件小事開始構建了美的東西
要成為一個偉大的鋼琴家,你必須先練習和完善基礎知識:簡單、重複的音階和琶音。要成為一個偉大的開發者,你需要花費大量時間來確保即使是最簡單的表示式,也能夠優雅和被正確編碼。從一件件小事開始,你漸漸打造出了一個個偉大的東西,因此:
3.你需要能夠見微知著
正如作曲家必須考慮到樂團的不同樂器組以及這些樂器組是如何組合在一起的,而開發者則需要在他們的頭腦中保持一個抽象的“大局觀”,當他們開始構建程式架構的時候。這兩個學科都需要構建一些更大,更好的東西。
4.自我表達是關鍵
音樂和軟體開發都需要創造力和自我表達能力:兩者都需要培養自己的風格,創造一些新的和令人振奮的東西。
5.你需要涉獵技術
音樂家和開發人員需要花費很長的時間來思考他們的創作如何與其他產品互動,以及如何呈現在“終端使用者”的手中。作曲家可能會增加重音符號以指示樂團 成員要演奏的風格。吉他手可能會考慮使用外部硬體(amps,效果器等),或他們希望在錄音室裡製作他們的歌曲。同樣的,開發人員需要牢記別人將在哪種設 備和什麼上下文中如何使用他們的最終產品。
6.兩者都包括協作和個人主義
莫扎特單獨花了很多時間來想他的下一個曲譜,儘管如此,他依然需要與他人合作——也就是他指揮的樂師。同樣,最成功的開發人員絕對不是一個純內向的人:他們需要與終端使用者、經理和使用者體驗設計師等人員合作。
我不是音樂開發人員!
雖然兩者有很多的共同點,但一些反對意見也值得我們聽一聽。不是每一個開發人員都能成為下一個貝多芬!
1.這個比喻是不是隻是一種我們作為開發人員吹牛和顯擺的方式?
正如Coding Horror部落格的作者認為的那樣,開發人員將自己的技藝與繪畫,音樂或其他藝術形式之間作比較不僅僅是一種比喻,更多的是一種自我誇耀。當然,我們都希 望我們正在構建的app能夠像Gershwin的音樂一樣棒一樣好,或者我們剛剛設計好的網站能夠像Miles Davis的《Kind of Blue》一樣影響深遠。但說實話,這的確大不相同,不是嗎?
2.程式設計是為了解決問題
當你被要求去設計一個app的時候,通常是為了解決問題,例如,特定的業務或消費者問題。開發人員善於解決此類問題,但這是否真的可以比作音樂?從最純粹的角度看,譜曲是純真感情和情緒的迸發和表達。
3.程式設計有一個非常不同於音樂的目的
當你開發任意一種工具時,最終目標是讓終端使用者能夠做一些具體的事情。假設你正在構建一個業務app——你的創作應該意味著為終端使用者的日常工作提供便利。相比之下,音樂,則並沒有一個特定的“目的”,只是一種超越純粹的享受。
它們有多重要
我們依然無法做出決定:雖然顯然,譜曲和開發絕對有著一些共同的因素,但它們也有很多區域是存在分歧的。我們所知道的是,開發人員和音樂家都可以豐富我們的生活,並給我們一些以前不知道我們需要,但是現在生活不能沒有的東西。(作者:小峰 來源:碼農網)
譯文連結:
英文原文:Is Programming Similar to Composing Music?
很多專業的開發人員對音樂有著真正的激情,以及許多音樂家涉足過程式設計,這些已經不是什麼秘密。例如,Elvis Costello,一位多產的英國音樂家,被譽為“他那一代最優秀的詞曲作家”,在他的音樂生涯騰飛之前,在上世紀70年代操作IBM 360。
你可以發現為什麼人們會沉溺於這兩個領域:因為創作旋律和編寫演算法之間有很多共同之處。從表面上看這兩者似乎頗不相同,但是開發有創造性的一面,而譜曲亦有機械化的一面。那麼,程式設計和譜曲有什麼相似之處呢?
你的心中已經有音樂的脈動
讓我們先來看一看譜曲和程式設計之間的相似之處。
1.它們都遵循關於以下邏輯規則
譜曲,和程式設計一樣,需要古希臘人所謂的三藝。即:
語法:紮實理解基本原理——樂譜和程式語言規則的理論或知識。
邏輯:你需要能夠建立“邏輯推理”。當音樂創作或編碼時,你需要遵循邏輯規則使得“活動件”一起正常工作。
修辭:和語法和邏輯一樣,你需要說服聽眾和新方法的使用者接受標準做法。
如果不遵循作曲和開發的基本原理,一切都無法正常運轉。一個胡亂編寫的程式將充滿bug,在相同意義上,病態的和絃結構會造成樂曲的不和諧。
2.它們從一件件小事開始構建了美的東西
要成為一個偉大的鋼琴家,你必須先練習和完善基礎知識:簡單、重複的音階和琶音。要成為一個偉大的開發者,你需要花費大量時間來確保即使是最簡單的表示式,也能夠優雅和被正確編碼。從一件件小事開始,你漸漸打造出了一個個偉大的東西,因此:
3.你需要能夠見微知著
正如作曲家必須考慮到樂團的不同樂器組以及這些樂器組是如何組合在一起的,而開發者則需要在他們的頭腦中保持一個抽象的“大局觀”,當他們開始構建程式架構的時候。這兩個學科都需要構建一些更大,更好的東西。
4.自我表達是關鍵
音樂和軟體開發都需要創造力和自我表達能力:兩者都需要培養自己的風格,創造一些新的和令人振奮的東西。
5.你需要涉獵技術
音樂家和開發人員需要花費很長的時間來思考他們的創作如何與其他產品互動,以及如何呈現在“終端使用者”的手中。作曲家可能會增加重音符號以指示樂團 成員要演奏的風格。吉他手可能會考慮使用外部硬體(amps,效果器等),或他們希望在錄音室裡製作他們的歌曲。同樣的,開發人員需要牢記別人將在哪種設 備和什麼上下文中如何使用他們的最終產品。
6.兩者都包括協作和個人主義
莫扎特單獨花了很多時間來想他的下一個曲譜,儘管如此,他依然需要與他人合作——也就是他指揮的樂師。同樣,最成功的開發人員絕對不是一個純內向的人:他們需要與終端使用者、經理和使用者體驗設計師等人員合作。
我不是音樂開發人員!
雖然兩者有很多的共同點,但一些反對意見也值得我們聽一聽。不是每一個開發人員都能成為下一個貝多芬!
1.這個比喻是不是隻是一種我們作為開發人員吹牛和顯擺的方式?
正如Coding Horror部落格的作者認為的那樣,開發人員將自己的技藝與繪畫,音樂或其他藝術形式之間作比較不僅僅是一種比喻,更多的是一種自我誇耀。當然,我們都希 望我們正在構建的app能夠像Gershwin的音樂一樣棒一樣好,或者我們剛剛設計好的網站能夠像Miles Davis的《Kind of Blue》一樣影響深遠。但說實話,這的確大不相同,不是嗎?
2.程式設計是為了解決問題
當你被要求去設計一個app的時候,通常是為了解決問題,例如,特定的業務或消費者問題。開發人員善於解決此類問題,但這是否真的可以比作音樂?從最純粹的角度看,譜曲是純真感情和情緒的迸發和表達。
3.程式設計有一個非常不同於音樂的目的
當你開發任意一種工具時,最終目標是讓終端使用者能夠做一些具體的事情。假設你正在構建一個業務app——你的創作應該意味著為終端使用者的日常工作提供便利。相比之下,音樂,則並沒有一個特定的“目的”,只是一種超越純粹的享受。
它們有多重要
我們依然無法做出決定:雖然顯然,譜曲和開發絕對有著一些共同的因素,但它們也有很多區域是存在分歧的。我們所知道的是,開發人員和音樂家都可以豐富我們的生活,並給我們一些以前不知道我們需要,但是現在生活不能沒有的東西。(作者:小峰 來源:碼農網)
譯文連結:
英文原文:Is Programming Similar to Composing Music?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31098481/viewspace-2086147/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式設計和音樂(3):如何聽音樂程式設計
- 程式設計和音樂(2):聽什麼型別的音樂程式設計型別
- 程式設計和音樂(1):為什麼寫程式碼的時候聽音樂程式設計
- 程式設計和音樂的10個共同點程式設計
- 非同步程式設計真的好嗎?非同步程式設計
- 程式設計師真的很窮嗎?程式設計師
- 我Linux桌面上的卡通MM真的很像ZPR嗎?Linux
- 音樂對程式設計的影響程式設計
- 非同步程式設計真的讓程式更快了嗎?非同步程式設計
- 程式設計面試問題真的越難越好嗎?No!程式設計面試
- 程式設計師,你真的會寫簡歷嗎?程式設計師
- 你真的理解函數語言程式設計嗎?函數程式設計
- 你真的理解【函數語言程式設計】嗎?函數程式設計
- 中國程式設計師真的過多了嗎?你還敢入行嗎?程式設計師
- 設計模式你真的懂了嗎?設計模式
- 說唱音樂—程式設計女孩(Coder Girl)程式設計
- web前端程式設計師真的這麼值錢嗎?Web前端程式設計師
- 程式設計師小哥哥真的很好當嗎?程式設計師
- 我真的要做一輩子的程式設計師嗎?程式設計師
- 別逗了,我們真的需要會程式設計的設計師嗎?程式設計
- 優秀的程式設計師真的不寫註釋嗎?程式設計師
- 程式設計師單身真的是有理由的嗎?程式設計師
- python程式設計真的好學嗎?python入門Python程式設計
- 過了 35 歲, 程式設計師真的沒前途了嗎?程式設計師
- 各位程式設計師,你真的喜歡你的工作嗎?程式設計師
- 美印兩國程式設計師真的平分秋色嗎?程式設計師
- “不是每個人都能成為程式設計師” 是真的嗎?程式設計師
- 程式設計師聽音樂 遊戲界的”格萊美”程式設計師遊戲
- 大齡程式設計師找不到工作,程式設計師真的是吃青春飯的嗎?程式設計師
- 程式設計師的入門門檻真的那麼低嗎?程式設計師
- 作為一名程式設計師,你真的理解需求嗎?程式設計師
- 程式設計興趣真的是由“熱情”驅動的嗎?程式設計
- 程式設計師真的“編碼太多沒時間思考”了嗎程式設計師
- 五線譜入門,程式設計師也可以玩音樂程式設計師
- 【UI設計師】你真的瞭解色彩嗎?UI
- 你真的理解==和===嗎
- 音樂社交化和音樂模式的改變模式
- 所有專案的失敗真的歸咎於程式設計師嗎?程式設計師