現在資訊生活發達,任何資訊都能用電腦或手機等裝置,透過網際網路上網查詢來獲得。從手中的裝置到獲得網路上的資料這個繁雜步驟與過程,其實被簡化、被抽象化,對於像我這樣的小朋友來說,我只要知道透過google搜尋,背後的一連串機制,就能讓我獲得想要的資料。
昨天我們提到各個程式都要編譯成該電腦能理解的機器語言才能執行,而這一連串的過程中在Java中透過JVM被簡化、被抽象化了,讓我們不用管程式要在哪一個平台上執行或是要編譯成哪一個平台的機器語言,我們只要知道編譯成的Java byte code後JVM會幫我們把程式在任意平台上執行起來,如此一來就可以達到程式跨平台可執行的特性。至於為什麼跨平台是一大特色對現在的我們也許有點難以理解,畢竟在今天對許多人來說,電腦可能只有Windows跟macOS兩種系統,而智慧型手機的作業系統也只有Android跟iOS兩種,這樣算一算不分版本也只有4種作業系統。
說來奇妙,從賈伯斯於2007年發表了第一台智慧型手機iPhone第一代至今已經12年了,在這12年中智慧型手機中的作業系統除了Android跟iOS,我還想到有Symbian、Windosw mobile、Firefox OS這三個作業系統,實際數量還可能更多。神奇的是在這個資訊傳播發達的時代,我第一次聽到iPhone卻是在2010左右,在我高中時我才知道有智慧型手機有iPhone的存在,距離賈伯斯的發表會整整延遲了3年。而這12年下來,手機中提供的作業系統種類減少了,而手機中的軟體與能提供的服務種類也提升了,跨平台的魅力依然不減,若我們寫了一個app能同時在Android跟iOS上執行,這不是很棒嗎?。
這是昇陽發表Java的那一年,今年是Internet熱潮才剛起來的時代,資訊的傳播還是平面媒體稱霸的時代,賈伯斯這時是皮克斯動畫的老闆,今年《玩具總動員》才要上映,Windows 95正要推出,微軟也準備要與網景打一場瀏覽器大戰,此時昇陽電腦有自己的SPARC處理器、自己的Solaris作業系統,還販售自家的伺服器與工作站。而前一年Red Hat才剛推出自己的Linux發行版。這時還是倚天中文系統稱霸台灣的時代。在一個百家爭鳴的時代,若一個語言能跨平台這不是非常有魅力嗎?
Microsoft Chairman Bill Gates (left) looks on as “The Tonight Show” host Jay Leno co-hosts the official launch of Windows 95 at the Microsoft campus in Redmond, Washington, on August 24, 1995. #
Jeff Vinnick / Reuters