工作後覺得產業界很多觀念跟計算機概論完全顛倒,不知道有沒有調適期?
當然去看一下原理以及接觸一下產業文化就會知道原因,只是一時間不習慣
但後來想一想又覺得發展變化很有趣
例如
1.並列傳輸速度比序列傳輸快
但現在高速通訊都是序列傳輸的,並列傳輸的最後堡壘陣亡大概是在硬碟排線 ?
高速後雜訊干擾問題反而並列傳輸嚴重太多,結果不管 USB SATA SAS 都走序列
2.高階語言是用來編譯成低階語言執行
機器語言 > 組合語言 > Basic , C , COBOL ..... 以前書上大概是這樣寫發展的
這個道理很容易理解,每一門語言最終目標都是編譯成機器語言執行
後來 JAVA 跟 .NET 出現了虛擬機器、CLR、中繼層之類的概念
我包一層中繼,你用什麼寫都行,要在什麼環境上跑都好,交給我來處理
當然早期這樣包一層中繼是有執行效率問題的,以前 IE 3 看到咖啡就直覺要變慢了
後來看到 Flash 就想到耗能、吃資源....
到這邊都還可以理解,但近年前端生態真的讓人哭笑不得
Javascript 幾乎是非常好上手的語言了,可是還跑出 Coffe Script、Type Script
甚至用它自己 (ES6) 寫的 都要用工具編譯成 ES5 code 再跑
從以前隨寫隨用變成至少要搞 babel 跟 webpack 或 rollup 之類東西弄開發環境
甚至其他語言也有許多以編譯成 Javascript 當目標的專案
結果現在寫 Javascript 要編譯卻又沒有專業的 IDE
source map + live server + live update + console 盡量做到最友善的開發體驗
會有感而發是因為還有一個以前教科書說請大家不要用的 eval
現在卻變成 webpack 開發良伴,看了一下轉譯的 code 那精美的 eval 令人興奮
在這個什麼都可以轉譯到 Javascript 的時代,它幾乎快變成組合語言的感覺
大家都要轉成它,它再餵給瀏覽器或 node.js 或其他 Runtime 跑
在可預見的未來,Progressive Web App 應該會繼續 Javascript 榮光
還真是任何可以用 Javascript 寫的東西,最終都將用 Javascript 寫
在瀏覽器實做 ESModule 的現在,有機會回到過去不用再編譯了嗎?
看著 webpack 包出來的東西有點頭痛
不知道 vue-cli 有沒有辦法把打包工具換成 rollup ?
反正 CSS 也不要輸出實體檔了,通通包進 Javascript inline code 裡塞到 head