葉銘的問題讓陳教授很是愣了一下。
因為……這問得很沒有水準,甚至有點民科。
眾所周知,計算機科學領域有幾大“流氓”。
譬如脫離需求談設計、脫離場景談技術、脫離生態談架構……這些都是耍流氓。
葉銘這個問題就有點類似脫離生態談架構。
但陳教授也隻是愣了一下。
畢竟他知道,葉銘的計科知識紮實得很。
沉吟片刻後,陳教授微微一笑:“如果把你的問題放大到整個電子電路,而不是單純地指我們的個人計算機係統,那麽答案是顯而易見的肯定,因為嵌入式開發就不要匯編語言。”
“這就要牽扯到匯編語言的定義了——它一開始是古老的計算機機器語言的升級,隨後變成了對處理器指令的符號化描述。”
說著陳教授拿起粉筆開始在黑板上畫了個簡單的PC架構。
“在開始學習匯編的時候,我們就講過計算機係統,從機器語言到匯編語言到高級語言……”
陳教授也不嫌麻煩,快速地講了一遍計算機架構基礎。
“……這裏,係統層麵,出現了新的玩家——安卓。因為安卓是由J**A搭建的框架,所以如果你們今後想做安卓開發的話,那麽就不需要掌握書裏8086的匯編指令和代碼了——但安卓同樣有基於ARM的匯編指令……”
隨著黑板上寫下滿滿一黑板的板書,陳教授放下粉筆,拿起毛巾擦了擦手,最後望向葉銘。
“……所以,我們回到你的問題。”
“針對普通開發者而言,如果一個係統的開發框架能夠做到完善,那麽麵向機器的低級語言就不是必須的,譬如安卓開發。”
“但針對係統和硬件而言,匯編語言不會消失,隻會以另外的形式存在——因為它的本質是數據與處理器交流的橋梁。”
“當然,如果你能夠開發一個全新的處理器架構再搭配上全新的係統的話,我覺得,一切都有可能。”