孫汝萍
(巴音郭楞職業技術學院,新疆 庫爾勒 841000)
當前軟件開發工作中常用的幾種編程語言有Java,C,C++,C#等。 它們的功能迥異,對軟件開發所產生的影響也存在顯著差異。 本研究對這幾種編程語言進行介紹并作對比分析,深度把握其各自的特征并加以合理利用,進而產生更好的軟件優化效果。
Java 編程語言的重要特征之一是面向對象,其具有簡單性、分布式、安全性、平臺獨立與可移植性、多線程和動態性等多種特性,這些特點使其超越其他幾種編程語言,具有較大的靈活性,應用范圍非常廣泛,在桌面應用程序、Web 應用程序、分布式系統和嵌入式系統應用程序的編寫中扮演著重要角色,是目前熱度較高的編程語言之一,備受程序員青睞。 Java 編程語言的應用環境通常是 Windows、Mac OS、Linux、Solaris 等系統或平臺。 隨著互聯網技術的日益進步,自1995 年上線以來,Java 編程語言的各項功能也一直在不斷更新和豐富。
Java 編程語言能夠自動處理對象的引用和間接引用,自動收集無用單元,減少存儲管理低效的問題,集中更多的時間和精力用于研發。
Java 編程語言利用類來組織程序,具有一定的體系和層次,面向對象的特點決定了其在應用時要注意數據及控制方法。 特有的擴展組合構成了多樣的程序包,便于用戶個性化使用[1]。
Java 編程語言利用網絡可以充分發揮分布運載的移植功能,實現隨處運行。 這類分布式語言使其能實現多層次的網絡連接以及基于Socket 類支持可靠的流,為用戶生成分布式客戶機和服務器[2]。
與常見的機器碼不同,Java 編程語言的編譯程序能生成字節碼,能將目標文件格式和相應的代碼有效傳送至多個平臺,支持在運行系統中運行。 Java 的解釋性功能使其具有快速原型和容易試驗的優勢,能實現快速的程序開發。
Java 編程語言雖然實現了對迅雷等工具的控制以及dll 的調用,但要應用Java 編程語言本地接口或第三方程序,也存在諸多缺點。 Java 編程語言本地接口的應用需要使用到VC 代碼,這具有一定的復雜性,且第三方程序技術目前仍存在許多缺陷[3]。
C#語言是由微軟開發出的一款簡單、通用且面向對象的現代編程語言,是編寫.Net 應用程序的主要語言,是為完全開源的跨平臺服務而研發出的一種高級程序設計語言。
由于C#語言是完全面向對象,不存在全局函數和全局變量情況,類是其所有函數、變量和常量的載體,支持開發環境初始化,因此,C#語言不具有多重繼承性的特點。 這一特點支持其能用更少的代碼寫出效率更高、更不容易出錯的簡易運行程序,極大地減輕了程序員的工作量。
C#語言的內置特性使得它可以將任何組件轉化為XML 網絡服務,并借助Internet 這一路徑為任何操作系統上的任意程序所調用,是一款支持新出網絡編程標準的現代編程語言。
C#語言的缺點是支持跨平臺較晚,不便于搜索,在一些細節上不如Java 編程語言簡潔和流暢,對于一些開源的應用支持較弱,例如新浪微博。
C++是一款較早的編程語言,由Bjame Stroustrup于1983 年開發完成,是C 語言的一套增強方案。 C++應用范圍較為廣泛,多支持軟件和游戲開發。 嚴格來說,C++也被稱為帶有類功能的C 語言,其適用性較高,兼具面向對象、面向過程和泛型編譯等語法,因而功能更為復雜,學習起來難度更大。
C++的跨平臺性較好,允許程序員對應用程序進行靈活調整,能充分發揮計算機的全部性能,對開發環境適應性也較強,沒有特別嚴格的需求。
C++規模龐大且具有大量較為復雜的功能交互方式,其中關鍵字有84 個,學習起來也相對困難。 在編寫程序時,C++多種功能的知識儲備能為程序員提供多樣的功能子集,使開發人機交互類型的應用程序變得更為簡單、快捷。
C++面向對象的功能具有3 個特點:封裝、繼承和多態。 具體來說,封裝,是指將對象的屬性和行為捆綁為一個邏輯單元的機制;繼承,可以極大地減少代碼的重復使用,減輕編寫的工作量;多態,本質上是指允許父類指針指向子類對象的地址。 這樣能夠開發出更多低耦合的程序,減少程序開發中各個層的聯系。
C 語言是一種較早的、面向過程的、較為抽象的計算機程序設計語言,也是當前應用較為廣泛的底層開發編程語言之一,在應用頻率逐漸減少的情況下仍是不可或缺的一種基礎性編譯語言。 C 語言能以較為簡易的方式對一些低級存儲器進行編譯和處理,可以在任何運行環境下進行高效率程序設計。 相對于其他幾種算法而言,C 語言運算更為靈活且表達式語言簡潔,其算法順序采用順序結構,自上而下依次執行,能輕松處理和編譯低級存儲器。
C 語言的面向過程特征使其可以隨時調試,設計程序時可選擇多種功能交互方式,即時性較強,能極大地減少重寫算法的工作量。
在常用的幾種編程語言中,由于C 語言的算法種類豐富且代碼簡潔,故C 語言編寫的程序代碼容量最小。 例如常用的辦公軟件WPS 和Microsoft Word,二者的功能類似,然而用C 語言編寫的WPS 的安裝文件要比Microsoft Word 文件容量小很多且只有50 MB 左右,而Microsoft Word 則超過500 MB。
C 語言的指針特性使得開發者可以賦予操作系統刪除、新建、修改系統文件的功能,這樣會使軟件運行速度加快。
C 語言設計較為自由,沒有設置過多的編譯規則,因而在編寫時很少受到標準的評判,編寫速度雖然快但不容易判斷對錯,容易產生漏洞,同時也存在開發過程危險性高、開發周期長等缺點。 C 語言面向過程的特點導致其無法承擔大型項目的編寫,容易出現崩潰的現象,而一旦出現錯誤,則需要調整設計語言的框架。
本研究列舉的幾種編程語言各有特點,同時又存在錯綜復雜的繼承、衍生與創新的功能。 筆者梳理了以下幾種編程語言的特點和關系,如表1 所示。

表1 Java 編程語言、C#語言、C++、C 語言的幾種重要特性比較
由以上分析和比較可以看出,各類算法都具有各自的優勢和缺點,在具體開發程序時,可以根據功能需求進行選取。 在開發底層基礎系統時,考慮到穩定性和運行速度,C/C++語言是較為理想的選擇;在開發應用軟件時,考慮到靈活性和正確性,則可以選擇具有跨平臺和結構功能的C#語言和Java 編程語言。 科學合理地選擇編程語言,對于系統開發和軟件開發是必要的前提。