不多說,看圖吧 :) 話說…這兩張圖真是宅氣逼人啊!
這張顯示的是同一支程式,程式碼「一字不改,完全相同」,但在三個不同的硬體架構,三種不同的作業系統平台上執行後繪出一段聲音的頻域頻譜圖的情形。
這張圖顯示的是頻域-時域交錯的頻譜分佈圖。
簡單地說, Nokia 的 ARM 和舊款 Apple iBook 的 PowerPC 的 CPU 都算是 RISC 架構,而桌機用的 AMD CPU 則是 x86 的架構。
兩個架構的不同,可以概略地想像成… RISC 的架構,像是一棟 100 層的大樓裡只有 1F、25F、75F 和 100F 有裝電梯,而且每個區塊的電梯都只能搭到下一個區塊而已。想上 100F,那得轉乘三次才行。但好處是…電梯裡的按鈕可以設計得很簡單,而且不容易按錯 (只有 25 個鈕,所以叫『精簡指令』)。此外,不會同一時間每一部電梯都要啟動,沒用到的區塊的電梯可以進入待機狀態,所以會比較省電一點。(因為這個省電的特點,所以許多手持裝置都用 ARM 架構的 CPU。)
而 x86 的架構,則是裝著可以直通 100F 的電梯,乍看之下好像很快,但光是想到每次搭乘的時候都要從 100 個鈕中「正確」按到目的地的樓層,就足以對設計按鈕面板的設計師造成重大挑戰。除了這兩個問題之外,為了能快速服務下一批乘客,所以電梯的速度要很快 (CPU 時脈比較高) ,而且幾乎不會有電梯可以進入待機狀態。
這其中,即使是同樣基於 RISC 的 ARM 和 PowerPC 也是有很多不同點,這裡就先略過不提。
重點是!以上這麼多硬體上的差異,在 Python 程式語言的眼裡都「視而不見」!也就是說,只要在設計程式的時候「寫一次」,這支程式就可以自由自在地跨平台執行、運作。
這就像人只要學一種語言,就能自由地在不同國家和不同民族溝通一樣。
如果每個作業系統 (對,我指的就是 iPhone 上的 iOS 系統和其他家的 Android 系統) 都能完整地支援 Python 的話,那麼人人都能拿自己喜歡的手機,而不會被「習慣的軟體」給綁在某個平台上了!
人類有選擇的自由,也有從選擇中解放自我的自由。在 n 個選擇的情境裡,只有人類才能選出 n+1 個答案。
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言