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