STEM今期焦點專題與活動

為控制家電開發,卻成為了超泛用的語言!James Gosling 與 JAVA 的故事

廣泛使用的電腦程式設計語言 Java ,擁有跨平台、物件導向、泛型程式設計的特性,廣泛應用於企業級Web應用開發和行動應用開發。作為最受歡迎的語言,Java 已經走過了二十年。

而這個「一次編寫,到處執行」(Write once, run anywhere)的語言,原來一開始是為智慧型家電而開發!

以咖啡產地命名 為智慧家電打造

早在1990年初,任職於Sun 公司(後來被 Oracle 收購)的詹姆斯·高斯林(英語:James Gosling)及其他技街人員以 C++ 語言為基礎,開發出Java語言的雛形,目標設定在家用電器等小型系統的程式語言,應用在電視機、電話、鬧鐘、烤麵包機等家用電器的控制和通訊,這一項目在 Sun 公司內部被稱為 Green 項目。

最初的嘗試是面向一種類PDA裝置,被命名為Star7,這種裝置有鮮豔的圖形介面和被稱為「Duke」的智慧型代理來幫助用戶。

然而,由於這些智慧型家電的市場需求沒有預期的高,Sun公司放棄了該項計劃。

但這並不是這語言的終結,而是一個全新的開始。Sun公司看見Oak在網際網路上應用的前景,決定將該技術應用於全球資訊網,於是改造了Oak。在注冊商標的時候,但由於已經有公司注冊過這個名字,於是利用咖啡豆產地爪哇島 Java 的名字命名了這個語言。

1995年5月以 Java 的名稱正式釋出。Java 伴隨著網際網路的迅猛發展而發展,逐漸成為重要的網路程式語言。

2006年SUN在JavaOne公布Java 開放原始碼項目,並推出OpenJDK計畫。Java虛擬機、Java編譯器和Java類庫以GNU通用公眾授權條款公開。在一定的基礎上,開發者可逕行使用Java 技術,加上需要的功能,而毋需考慮授權費用。

「一次編寫,到處執行」

作為一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念。它的成功,是因為它有以下幾個特點。

首先,Java 操用物件導向,開發者在設計軟體的時候可以使用自訂的類型和關聯操作。程式碼和資料的實際集合體叫做「物件」。一個物件可以想像成繫結了很多「行為(程式碼)」和「狀態(資料)」的物體。對於資料結構的改變需要和程式碼進行通訊然後操作,反之亦然。物件導向設計讓大型軟體工程的計劃和設計變得更容易管理,能增強工程的健康度,減少失敗工程的數量。


其次,Java 具備優異的可攜性,在不同的電腦平台、作業系統及各種裝置都可以通行無阻。Java可以在任何裝置上開發,然後編譯成一段標準的位元組碼,就可以在任何安裝有Java虛擬機器(JVM)的裝置上執行。這個平台無關性讓Java在伺服器端軟體領域非常成功。很多伺服器端軟體都使用Java或相關技術建立。

另外,Java亦有多執行緒功能,也就是說它可以同時間處理兩件以上的事情,例如用家可以一邊列印文件,一邊從資料庫中讀出資料,另一方面繼續從網路上傳送檔案。

除此之外,Java 亦有內建的對電腦網路的支援。它本身等於就是藉由網路而重生的,它的許多功能與應用都與網路相關,從最初的 Applet、簡化的 Socket、互動式的 JSP/Servlet 網路程式到今日熱門的 Web Service 等,都註定了 Java 在網路相關的領域佔有一席之地,事實 上Java 應用最多的領域也正是網路服務這一塊領域。

最後,Java 亦相對易於使用。它在設計的時候,保留了一些程式語言(例如C/C++)的優點,並移去了一些程式語言中較為複雜或不容易掌控的部份。

如果說C++是從零開始學習如何製造、組裝及駕駛一輛汽車,Java就是提供一架已經組裝好的汽車讓你學習駕駛。

結語

自從 1995年 Java 誕生後,在短短的幾十年間已經成為了最熱門的語言。Java 在2017年仍然獲選最受歡迎的編程語言,有約17%的工程師把它排為最喜愛語言。

Java 在後端開發領域暫時亦未有其他週言可以與之競爭。 另外,Java語言代碼健壯、邏輯清晰,框架成熟穩定,能適應大中小型各類項目的開發,便於開發且性能良好,目前還沒有一門語言能像 Java 一樣既有良好的跨平台性,又能兼顧良好的軟件性能。

TechApple.com 編輯部

堅持製作專業科技內容,全員擁有多種不同技術知識的特異科技媒體團隊。 電郵:editor@techapple.com

× Whatsapp聯絡