• 沒有找到結果。

2.4 資訊科技

2.4.4 程式語言

程式碼必須經過編譯成機械語言才能在 CPU 上執行,而程式碼可能由不同程式語 言所撰寫,不同程式語言有其不同特性,例如 Fortran 易於處理矩陣運算、C 易於直接 存取記憶體資料、Java 具有跨作業平台特性等。

常見的程式語言,有微軟開發的 Visual Basic(簡稱 VB),昇陽開發的 Java,及由 程式設計師 Bjarne Stroustrup 在貝爾實驗室所主導開發設計的 C/C++程式語言。

VB 的優點,在於 MS 提供了良好的整合式開發環境(IDE),在開發時期的操作上 較為容易,所見即所得的設計方式,在設計階段時的視窗與執行時已相去不遠,此外,

VB 的編譯器在編譯過程中會妥善處理記憶體的釋放,避免因為記憶體不足而當機。VB 的缺點是由於其編譯後是屬於一種位元碼(Byte Code),執行時必須經由.Net Framewrok 進行轉譯,故啟動時的執行效能很差(施威銘,2008)。

C++可以說是 C 的加強版,優點在於支持物件導向程式設計,並且保留 C 語言與記 憶體互動良好的特性。物件導向的目的在於抽象化,物件的「資料」與「行為」,都在 設計階段時構想完成,所以物件在程式碼編寫階段時,易於修改擴充。因此,在程式撰 寫初期的物件設計上最為困難,因為必須考慮將來在程式碼開發上可能會遇到的問題及 參數設計方式,若再進一步思考,程式完成後的後續功能擴充性,更與程式初期物件模 組化的優劣程度息息相關。利用物件模組化程式堆出大程式,而不必重新撰寫程式碼。

然而,C++與 VB 不同,C++編譯器會直接將程式碼編譯成機械語言,當我們執行程式 時速度相當的快,並且 C++在各個作業系統都有編譯器,只要遵循標準的 C++語法,只 要經過不同編譯器編譯即可在不同平台上執行(洪維恩,2006)。

圖 2-10 VS2005 開發 VB 畫面

圖 2-11 Dev-C++開發 C 程式畫面

JAVA 最大的特性是可跨平台,也就是說,JAVA 不只能在 Windows 上執行,也能 在其他的平台作業,例如 Linux Soaris 或手機等。最主要因為是 JAVA 是由 JAVA 虛擬

機器(Java Virtual Machine, JVM)與 Java 應用程式介面 Java API(Application

Programming Interface)所構成。JVM 簡單的說就是 Java 的編譯器,把 Java 編譯成.class 碼,然後在轉換成機械碼,所以用 Java 所寫的程式,只要電子產品有 JVM 的系統,就 可以使用 Java。Java API 就是有大量的軟體元件,提供了很多功能,例如 GUI 元件,而 Java API 內還將相關的類別和介面做分類,形成一個個的資料庫。除此之外,JAVA 還 具備以下特性(江義華,2008;位元文化,2006):

z 簡單

純物件導向的特性與眾多類別函式庫的支援,有助於使用 Java 開發各式各樣的應用 程式,而且,不論在除錯或是程式修改、增加新功能方面,因為物件的特性,使得這些 維護也變得非常容易。

z 安全性

當 Java 程式開始執行時,JVM 便會開始監視他的動作,只要有動作異常,JVM 會 立刻制止,也可以自行調整 Java 的安全設定,也可以簽署數位簽名,有這樣的設計,才 能在現在的網路世界中,確保安全性。

z Unicode

Java 使用 Unicode 作為它的標準字元,這項特性使得 Java 的程式能在不同語言的平 台上都能撰寫和執行。簡單的說,可以把程式中的變數、類別名稱使用中文來表示,當 你的程式移植到其它語言平台時,還是可以正常的執行。

z 網路

Java 可以說是藉由網際網路而重生的,自然對於具備網路功能程式的撰寫,也是非 常容易的。不論是一般網際網路的程式 Socket、Email 等,還是伺服器網頁的程式 Servlet、JSP 等,相關的支援套件相當豐富,也提供充足的 API 資源可供查閱。

z 資源回收處理 (Garbage Collection)

Garbage Collection 是由 JVM 幫忙程式對記憶體做動態的管理。當程式執行中,需 要多少記憶體,或某些物件的記憶體已再不使用,將多餘的記憶體需要歸還給系統,節 省電腦記憶體空間以提升效能,這些煩索且危險的動作則交由 JVM 去幫忙管理。

z 例外處理 (Exception)

Java 引入了例外處理的機制,能夠在撰寫的程式邏輯中比較,可能有例外情況產生 的地方,加上相對應的處理,讓程式不致於因為突發的錯誤,造成執行中斷或是當機的 情況,如分母數不得為零,或無法產生連線等。例外處理有助於撰寫者更能掌控整個程 式執行的流程,也使得程式的設計更為嚴謹。

JAVA 雖然具備的優點相當多,也含有 C++的部分特性,畢竟它是屬於高階語言,

而且是跨平台的語言,必須靠 JVM 來解譯,所在 JAVA 執行時,必須先啟動 JVM 協助 執行,才算正式執行 JAVA 的.class 檔內容,所以初始執行速度較慢。

圖 2-12 Eclipse 開發 Java 程式畫面

相關文件