■余明陽 査志勇 詹 偉 梁航函
(國網(wǎng)湖北省電力有限公司信息通信公司)
計算機應(yīng)用程序與人們的生活息息相關(guān),而應(yīng)用程序的需要通過編程語言來實現(xiàn)。編程語言的復(fù)雜程度是相當(dāng)大的,它關(guān)系到應(yīng)用程序的開發(fā)難度,也影響著應(yīng)用程序往后的維護升級難度。而且,編程語言的種類也發(fā)展得越來越多樣化,每一種編程語言都有著其獨特的性質(zhì)和作用,所以,在軟件開發(fā)時,選擇一種更加合適的編程語言是極其重要的。以下是有關(guān)部分主流編程語言的分析。
與當(dāng)代其他較為普遍的編程語言相比,C語言的歷史可以說是非常之久了。但是許多與C語言處于同一開發(fā)時間段的語言,卻不能得以發(fā)展至今,可以說C語言在長久以來的發(fā)展中一直都能夠跟隨時代的步伐,體現(xiàn)了它較強的普適性。因此,相關(guān)開發(fā)人員在進行應(yīng)用軟件開發(fā)時是可以考慮使用C語言來進行編程的。由于C語言應(yīng)用功能強大、局限性小以及具有較強通用性的特性,許多種類的型機一般都配備有C語言的編譯器。而且根據(jù)C語言的特點,計算機軟件的開發(fā)人員也可以在了解C語言的基礎(chǔ)上進而更加方便地學(xué)習(xí)其他編程語言,甚至可以增進編程人員對于計算機運作原理的認識。如果計算機的編程開發(fā)人員對C語言的掌握不夠,可以說其所編寫的程序內(nèi)容是空洞的,沒有靈魂的,運行效率也會大打折扣。C語言的應(yīng)用場景十分廣闊,在各種各樣的領(lǐng)域都有其應(yīng)用意義所在,其中控制單片機的控制原理就是依據(jù)C語言的原理得到的。
C++編程語言誕生于19世紀的貝爾實驗室,開發(fā)這個語言的初衷是想要盡可能減少程序變量造成的不利影響和提升程序的穩(wěn)定程度。雖然它是在C語言的基礎(chǔ)上擴展而來的,涵蓋了許多C語言的性質(zhì)和優(yōu)點比如移植性強、適用性廣,但是其最大的不同之處在于C++語言的核心是面向?qū)ο蟮木幊趟枷?。此外,C++語言的特點還有封裝、繼承和多態(tài)等,其中多繼承機制可以更加清晰地展現(xiàn)計算機應(yīng)用程序的運行特性。這些特性使得C++語言更加適用于建模,在程序設(shè)計上更加方便,可以滿足當(dāng)代許多規(guī)模較為龐大的項目程序的實現(xiàn)要求。
Java語言的特點有簡單性、健壯性、可移植性、安全性等,是一門完全面向?qū)ο蟮恼Z言。在簡單性方面,Java與C++有著一定的相似程度,然而Java語言能夠避免一些C++語言的程序錯誤現(xiàn)象,這也是由于它的健壯性,消除了某些編程錯誤,以至于用Java來寫可靠性強的軟件就十分適用。Java要求顯式的方法聲明,不支持C風(fēng)格的隱式聲明,不支持指針等這些嚴格的要求,保證了程序在編譯時可以及時找到調(diào)用錯誤,提高了程序的可靠性。在安全性上,Java語言可以很大程度上阻止手動釋放軟件內(nèi)存,防止他人的技術(shù)破壞,提升了程序運行的安全程度。
C#語言是.net的一種代表性語言,具有安全、精確、簡單和面向?qū)ο蟮奶攸c。在其完全面向?qū)ο蟮奶攸c基礎(chǔ)上,它對于分布式有著較為強大的支持,換句話說,就是這門語言的處理過程是分布在服務(wù)器和客戶機之上的,C#的研發(fā)過程可以說就是為了更高效地解決分布式問題。而且,在健壯性方面,C#語言的水平也不會在Java語言之下,因為它使用的同樣是自動管理內(nèi)存機制。此外,C#還具備一定的靈活性,比如通常情況下,C#規(guī)定不能使用指針,但在特殊情況下,使用該語言的開發(fā)人員也可以將指針打開。而在安全性上,.net平臺給予了這門語言足夠的安全性??梢浦残?、解釋性、多線程、組件模式等也是該語言的顯著特點,可以說C#的流行緊跟著Java的潮流,不過在微軟系統(tǒng)的支持下,C#在Windows平臺上的優(yōu)勢相較于Java來說更為突出。在應(yīng)用領(lǐng)域方面,它主要適用于web應(yīng)用的開發(fā),此外,C#在編譯器的開發(fā)、硬件驅(qū)動底層嵌入式系統(tǒng)等方面也有較好的表現(xiàn)。
Visual Basic語言的來源為basic編程語言,其在控件使用、界面設(shè)計、文字及文件處理、圖形處理、多媒體應(yīng)用等方面有著較為廣泛的應(yīng)用,此外,它還被常常用于操作系統(tǒng)和數(shù)據(jù)庫等方面。
除了以上幾種主流的編程語言,當(dāng)代較為流行的編程語言當(dāng)中還有Python、Ruby、JavaScript、MATLAB等。當(dāng)然,根據(jù)所要編寫的應(yīng)用軟件特點合理考慮使用這些語言也不失為一種選擇。
大多數(shù)情況下,開發(fā)人員在進行計算機應(yīng)用軟件的編程開發(fā)時,是一個應(yīng)用軟件只使用一種編程語言,然而有時候根據(jù)程序在不同的結(jié)構(gòu)、功能區(qū)域以及編譯方式的不同,就可能會采用同時選擇多種編程語言的方式。因此,在選擇編程語言時,盡量要根據(jù)不同的功能選擇更加適應(yīng)該功能實現(xiàn)的語言。此外,雖然在初期開發(fā)階段,一個應(yīng)用程序使用了一門當(dāng)時最為合適的語言,但是可能也存在往后會更換一種編程語言的情況,這受到一門語言的更新?lián)Q代的時效性的限制,倘若一段時間后最初使用的編程語言不能滿足該應(yīng)用軟件今后的發(fā)展,則會選擇另一種更為合適的語言來繼續(xù)開發(fā)。因此,編程語言在應(yīng)用軟件上的使用,在不同的功能區(qū)域,不同的發(fā)展時期,需要根據(jù)實際情況來考慮。
根據(jù)程序項目選擇最合適的語言固然重要,然而對于商用項目或者其他在時間效率方面有比較大限制的項目來說,使用開發(fā)人員最為熟悉的語言一般才是首要的選擇,這會節(jié)省項目整體的開發(fā)時間和成本,避免期間需要花費精力學(xué)習(xí)另一門不熟悉的語言再來進行軟件開發(fā),以至于在編寫程序時可能出現(xiàn)許多的未知錯誤或者走彎路。
一些原始的視頻整理、圖像渲染、統(tǒng)計分析功能在計算機應(yīng)用軟件的開發(fā)中有著不可忽略的作用,而且不斷地使用這些功能會直接影響到計算機的芯片效率,所以在編程時需要根據(jù)各個模塊的應(yīng)用特點看是否需要選擇一種靜態(tài)型的語言,及簡單性比較高的語言,而在這方面Java語言就特別的合適。
有的程序在編寫開發(fā)的過程中可能需要不斷地進行修改和重建,往復(fù)地調(diào)整程序內(nèi)容,因此開發(fā)人員可能就需要在五花八門的編程語言之中,選擇一門具備快速還原功能的編程語言。而此時動態(tài)型編程語言就可以被采納使用,這是因為動態(tài)型語言可以使用多種不同的類庫,提升語言在更多應(yīng)用方面的適用性。此外,動態(tài)型語言較為突出的特點是其數(shù)據(jù)類檢查階段一般是處于應(yīng)用的運行狀態(tài),并非是在編譯時就進行檢查。因此,結(jié)合所編寫程序需要修改的頻率是否較高來選擇一門合適的編程語言,可以節(jié)省大量時間。
總的來說,計算機應(yīng)用軟件的編寫開發(fā)過程十分的繁復(fù),而在此之前選擇一門適合編寫以及能夠適應(yīng)該軟件長遠發(fā)展的編程語言是十分重要的。因此,相關(guān)開發(fā)人員應(yīng)當(dāng)對各種類型的編程語言都有一定的了解,以便在軟件開發(fā)過程中,基于對軟件結(jié)構(gòu)、語言開銷、修改頻率是否高等因素,結(jié)合實踐,選擇一門更為適用的語言。