前言:本站為你精心整理了計(jì)算機(jī)軟件開(kāi)發(fā)語(yǔ)言的分析范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。
一、計(jì)算機(jī)軟件開(kāi)發(fā)語(yǔ)言的發(fā)展過(guò)程淺述
計(jì)算機(jī)軟件開(kāi)發(fā)語(yǔ)言在發(fā)展的過(guò)程中,一共經(jīng)歷了三個(gè)過(guò)程。即面向過(guò)程的語(yǔ)言、面向?qū)ο蠛兔嫦蚍矫娴恼Z(yǔ)言。第一,面向過(guò)程的語(yǔ)言。面向過(guò)程的語(yǔ)言的工作原則是將問(wèn)題進(jìn)行有效的分解成很多小的模塊,每個(gè)模塊中都是構(gòu)成問(wèn)題的子問(wèn)題,在程序編寫(xiě)過(guò)程中,通過(guò)自上而下的順序逐步對(duì)各個(gè)問(wèn)題進(jìn)行解決,是一種結(jié)構(gòu)化編碼的語(yǔ)言。在計(jì)算機(jī)發(fā)展初期,計(jì)算機(jī)語(yǔ)言只有機(jī)器語(yǔ)言和匯編語(yǔ)言,語(yǔ)言的限制要求程序的編寫(xiě)人員要對(duì)計(jì)算機(jī)的硬件很熟悉。隨著計(jì)算機(jī)的發(fā)展,計(jì)算機(jī)語(yǔ)言也開(kāi)始向高級(jí)語(yǔ)言方向發(fā)展,軟件開(kāi)發(fā)過(guò)程中受到硬件限制的因素變少。面向過(guò)程的語(yǔ)言進(jìn)行編程時(shí)比較簡(jiǎn)單,并且結(jié)構(gòu)性也很強(qiáng),可讀性比較高,但也有一定的缺點(diǎn),比如數(shù)據(jù)與程序模塊的分離和程序的可重用性比較差。第二,面向?qū)ο蟮恼Z(yǔ)言。面向?qū)ο蟮恼Z(yǔ)言在結(jié)構(gòu)化設(shè)計(jì)、并行處理等方面,繼承了前一種語(yǔ)言的優(yōu)點(diǎn),同時(shí),還解決了面向過(guò)程的語(yǔ)言中數(shù)據(jù)與代碼分離的缺點(diǎn)。面向?qū)ο蟮恼Z(yǔ)言被用作程序開(kāi)發(fā)語(yǔ)言的主要目的是為了拉近計(jì)算機(jī)解決問(wèn)題過(guò)程中的空間結(jié)構(gòu)和應(yīng)用程序的各種體系結(jié)構(gòu)之間的距離,有助于程序開(kāi)發(fā)過(guò)程朝著更加便捷順暢的方向發(fā)展。繼承性是面向?qū)ο蟮恼Z(yǔ)言的一個(gè)重要特征,很多時(shí)候通過(guò)對(duì)這些語(yǔ)言進(jìn)行層次分類來(lái)進(jìn)行管理,每個(gè)類不僅能對(duì)基類的操作進(jìn)行繼承,還能擴(kuò)展操作和數(shù)據(jù)。面向?qū)ο蟮恼Z(yǔ)言還有一個(gè)重要的特征就是多態(tài)性,使用多態(tài)性進(jìn)行處理,可以提高處理問(wèn)題的抽象級(jí)別,降低軟件設(shè)計(jì)時(shí)的復(fù)雜性。第三,面向方面的語(yǔ)言。面向方面的語(yǔ)言是在“方面”基礎(chǔ)上進(jìn)行的程序設(shè)計(jì)的一種語(yǔ)言。一般說(shuō)來(lái),可以把計(jì)算機(jī)的軟件系統(tǒng)看成是很多個(gè)為了滿足用戶的各種需求的關(guān)注點(diǎn),而這些關(guān)注點(diǎn)就是計(jì)算機(jī)要解決的需求問(wèn)題。軟件開(kāi)發(fā)就是為了對(duì)這些關(guān)注點(diǎn)中的問(wèn)題進(jìn)行分析解決。關(guān)注點(diǎn)一般有兩類,一是核心關(guān)注點(diǎn),一是橫切關(guān)注點(diǎn)。而利用面向方面的語(yǔ)言進(jìn)行程序設(shè)計(jì)的關(guān)鍵就是橫切關(guān)注點(diǎn)。也就是常說(shuō)的“方面”,Aspect是面向方面的程序設(shè)計(jì)一個(gè)設(shè)計(jì)單元,面向方面的程序設(shè)計(jì)可以將核心關(guān)注點(diǎn)和橫切關(guān)注點(diǎn)進(jìn)行一個(gè)有效的分離,實(shí)現(xiàn)更好的軟件結(jié)構(gòu)。但這兩種關(guān)注點(diǎn)對(duì)應(yīng)的代碼卻總是交織在一起的,也就是說(shuō)橫切關(guān)注點(diǎn)和核心關(guān)注點(diǎn)相互之間的交互關(guān)系不能很好地從業(yè)務(wù)功能中進(jìn)行有效的分離。面向方面的程序設(shè)計(jì)過(guò)程是一個(gè)系統(tǒng)的過(guò)程,先進(jìn)行整體的分析然后對(duì)橫切關(guān)注點(diǎn)進(jìn)行細(xì)化等,最后又進(jìn)行整合。根據(jù)關(guān)聯(lián)來(lái)實(shí)現(xiàn)橫切關(guān)注點(diǎn)之間的組合和優(yōu)化使得程序設(shè)計(jì)更加精細(xì),是面向方向的語(yǔ)言程序設(shè)計(jì)的關(guān)鍵。這種語(yǔ)言也有一個(gè)很大的好處,即一旦遇到客戶對(duì)系統(tǒng)有修改的需求時(shí),只需要在“認(rèn)證”的方面進(jìn)行修改,而不會(huì)影響到系統(tǒng)的其他方面等,可以提高工作效率。
二、常用的計(jì)算機(jī)軟件開(kāi)發(fā)語(yǔ)言
(一)C語(yǔ)言
C語(yǔ)言是一種在匯編語(yǔ)言和高級(jí)語(yǔ)言之間的語(yǔ)言,它匯集了匯編語(yǔ)言和高級(jí)語(yǔ)言的有點(diǎn)。最初,C語(yǔ)言能夠應(yīng)用的系統(tǒng)只有UNIX系統(tǒng)中,隨著人們對(duì)計(jì)算機(jī)技術(shù)以及軟件開(kāi)發(fā)等方面的認(rèn)識(shí)越來(lái)越多,C語(yǔ)言應(yīng)用的系統(tǒng)也越來(lái)越多,在其他的操作系統(tǒng)中也可以發(fā)揮很好的效益。具體說(shuō)來(lái),C語(yǔ)言的主要特點(diǎn)有幾個(gè)方面,第一,C語(yǔ)言是一種結(jié)構(gòu)化的語(yǔ)言,這種語(yǔ)言的一個(gè)重要特點(diǎn)就是層次非常清晰,如果是用模塊化的方式進(jìn)行程序的組織,則C語(yǔ)言是一種十分便利的語(yǔ)言,而且有利于對(duì)程序進(jìn)行調(diào)試和維護(hù)。第二,C語(yǔ)言中包含很豐富的數(shù)據(jù)類型和運(yùn)算符,而且也能夠訪問(wèn)到計(jì)算機(jī)系統(tǒng)內(nèi)存中的物理地址,有利于進(jìn)行位操作。第三,C語(yǔ)言的效率很高,移植性也比較強(qiáng),即能夠移植到不同的計(jì)算機(jī)上,C語(yǔ)言版本可以有很多種,不是單一形式的,同時(shí),在執(zhí)行的過(guò)程中,C語(yǔ)言的效率也比較高。
(二)C++語(yǔ)言
C++語(yǔ)言的一個(gè)優(yōu)點(diǎn)是利用封裝來(lái)減少程序變量對(duì)系統(tǒng)帶來(lái)的影響。C++語(yǔ)言可以看成是C語(yǔ)言的拓展和深化,但它仍然是一種全新的語(yǔ)言,因?yàn)樗哂械亩嗬^承機(jī)制能夠?qū)芏鄬?duì)象的屬性進(jìn)行一個(gè)準(zhǔn)確有效的描述。相比于C語(yǔ)言,它更容易被掌握和學(xué)習(xí),C++語(yǔ)言屬于一種面向?qū)ο蟮恼Z(yǔ)言,因此,使用C++語(yǔ)言進(jìn)行編程時(shí)可以更好地適應(yīng)大規(guī)模的軟件需求。利用C++語(yǔ)言編寫(xiě)運(yùn)行程序的過(guò)程主要有四個(gè)步驟,即用C++語(yǔ)言進(jìn)行程序的編寫(xiě)、對(duì)編寫(xiě)的源程序進(jìn)行編譯、將一個(gè)程序的目標(biāo)程序和系統(tǒng)的庫(kù)文件以及系統(tǒng)信息進(jìn)行有效的連接,最后是運(yùn)行程序。
(三)Java語(yǔ)言
這種語(yǔ)言與C++語(yǔ)言相比而言,在安全性和簡(jiǎn)潔性方面有更多的優(yōu)勢(shì),這種語(yǔ)言的特點(diǎn)主要有幾個(gè)方面。首先,Java語(yǔ)言與C++語(yǔ)言相比,在程序編寫(xiě)編譯過(guò)程中的很多錯(cuò)誤都大大減少了,例如在指針以及內(nèi)存管理中對(duì)程序出錯(cuò)率的控制上,Java語(yǔ)言有更高的效率。其次,Java語(yǔ)言是一種完全面向?qū)ο蟮恼Z(yǔ)言,同時(shí),Java語(yǔ)言還可以在計(jì)算機(jī)軟件開(kāi)發(fā)初期對(duì)很多出現(xiàn)的錯(cuò)誤進(jìn)行檢查識(shí)別,以降低內(nèi)存的出錯(cuò)率。第三,使用Java語(yǔ)言進(jìn)行程序編寫(xiě)的過(guò)程匯總,能夠?qū)⒊绦蚓幾g成一種中間的文件格式,這種格式的適用性更強(qiáng),也就是說(shuō),只要是包含Java運(yùn)行系統(tǒng)的機(jī)器都能對(duì)這種中間文件格式進(jìn)行讀取和執(zhí)行等。最后,Java語(yǔ)言的安全性能高,例如它刪除了手動(dòng)釋放內(nèi)存,可以很好地防止非法的內(nèi)存操作。此外,Java語(yǔ)言還具有很多其他的優(yōu)勢(shì),例如解釋性強(qiáng)、移植性好等,Java語(yǔ)言在Web瀏覽器以及網(wǎng)絡(luò)應(yīng)用系統(tǒng)之中是比較常見(jiàn)的。
(四)C#語(yǔ)言
C#語(yǔ)言也是面向?qū)ο蟮恼Z(yǔ)言,是由C語(yǔ)言和C++語(yǔ)言衍生出來(lái)的,具有安全、穩(wěn)定、簡(jiǎn)單等特點(diǎn)。C#是專門(mén)為.net的應(yīng)用而開(kāi)發(fā)出來(lái)的一種語(yǔ)言,因此它不再提供對(duì)指針類型的支持,因此程序?qū)ο到y(tǒng)內(nèi)存的訪問(wèn)也受到一定的限制,同時(shí),它也不支持多重繼承,因此,可以很好地避免由于多重繼承多帶來(lái)的問(wèn)題,它比Java面向?qū)ο蟮某潭雀咭恍?,這種語(yǔ)言的安全性也很高。近年來(lái),在計(jì)算機(jī)軟件開(kāi)發(fā)語(yǔ)言上,也有人提出了將AOSD與MDA進(jìn)行有效的融合的概念,以探究一種新的軟件開(kāi)發(fā)語(yǔ)言。從方面PM轉(zhuǎn)換到方面PSM,是計(jì)算機(jī)軟件開(kāi)發(fā)語(yǔ)言發(fā)展的方向。因?yàn)榉矫鍼SM本身具有的有效性和準(zhǔn)確性能在計(jì)算機(jī)軟件開(kāi)發(fā)中展示很好的效率,但同時(shí)它也存在一些問(wèn)題,例如復(fù)雜程度比較高、直觀程度不夠,轉(zhuǎn)換的效率也比較低等。新型的面向方面的語(yǔ)言模型對(duì)ATL和OCL語(yǔ)言的優(yōu)點(diǎn)和特征進(jìn)行了有效的整合,使得程序開(kāi)發(fā)人員在編寫(xiě)程序方面、讀者對(duì)軟件理解方面更加方便。ATL是一套C++模板庫(kù),使用ATL語(yǔ)言可以不斷提高軟件開(kāi)發(fā)的效率,同時(shí),還能對(duì)COM組件的開(kāi)發(fā)提供最大化的支持。但是ATL也有一定的缺點(diǎn),比如功能比較單一,不能對(duì)模型進(jìn)行精確地轉(zhuǎn)換,也不能驗(yàn)證數(shù)據(jù)類型。OCL是一種聲明型語(yǔ)言,定義簡(jiǎn)潔、抽象層次也比較高,這兩種語(yǔ)言的結(jié)合能使得計(jì)算機(jī)軟件開(kāi)發(fā)語(yǔ)言更加快捷方便。
作者:臧永福單位:青島廣播電視大學(xué)
計(jì)算機(jī)技術(shù) 計(jì)算機(jī)安全 計(jì)算機(jī)維護(hù) 計(jì)算機(jī)理論 計(jì)算機(jī)畢業(yè)論 計(jì)算機(jī)軟件 計(jì)算機(jī)病毒 計(jì)算機(jī)畢業(yè) 計(jì)算機(jī)英語(yǔ) 計(jì)算機(jī)網(wǎng)絡(luò) 紀(jì)律教育問(wèn)題 新時(shí)代教育價(jià)值觀