2015年10月10日 星期六

Java 學習日誌 001:Java程式語言的由來與邏輯


Java程式語言的開發,最初其實是為了控制家電,如電視、洗衣機等。讓它們能夠瞭解並執行人們想要它們執行的動作。而我們知道家電之所以會動作,是因為裡面有computer processors(晶片)在控制,所以當你要一台洗衣機開始洗衣服然後再幫你烘乾衣服,這樣一段人類才懂的語言(指令),必須經過compiler(編譯程式)翻譯成computer processor懂的語言(machine language),但是由於各種家電由各種不同的computer processor去控制,因此也需要對應的各種不同的compiler去幫它翻譯,再加上家電並非都是非常貴重的產品,家電廠商們不想每次都花很多的金錢去開發複雜的compiler,因此,為了讓撰寫compiler能簡單些,程式語言的翻譯採取了兩段式翻譯的方法。

而兩段式翻譯法,是說一段指令(program),會先被翻譯成intermediate language(中間語言),這個intermediate language是一種各類家電都能夠讀取的通用語言,然後經由一段短的、易於撰寫的(所以也就便宜的)編譯程式(compiler)去翻譯成各種家電懂的語言(machine language)。而這個intermediate language也就是所謂的Java byte-code,也稱為byte-code。爾後,Java byte-code慢慢的就演進成現在被廣泛使用的程式語言。


而byte-code之所以稱為byte-code,是因為code通指一段程式或部分的程式,而byte(位元組)是電腦最小的儲存單位(1 byte = 8 bits),電腦能讀的資訊都是由byte組織而來,所以byte-code意味著一段電腦能讀懂的程式。

參考資料:Walter Savitch. Absolute Java. 5th ed.

沒有留言:

張貼留言