什么是程序設(shè)計(jì)語(yǔ)言

2023-01-03    分類: 網(wǎng)站建設(shè)

程序設(shè)計(jì)語(yǔ)言是人們書寫計(jì)算機(jī)程序所使用的人造成都網(wǎng)站制作語(yǔ)言.程序語(yǔ)言的產(chǎn)生與發(fā)展貫芽于計(jì)算機(jī)技術(shù)的發(fā)展過程,是計(jì)算機(jī)技術(shù)的一個(gè)重要組成部分。
經(jīng)過半個(gè)多世紀(jì)的發(fā)展,產(chǎn)生了幾百種程序設(shè)計(jì)語(yǔ)言,各種語(yǔ)言都具有自己的特色,有些已經(jīng)消亡,留下來(lái)的則不斷被改進(jìn),并應(yīng)用在不同的領(lǐng)域中.有些語(yǔ)言是通用的,有些語(yǔ)言則是針對(duì)專門領(lǐng)域設(shè)計(jì)的,稱為領(lǐng)域?qū)S谜Z(yǔ)言(Domain Specific Language,DSL),其基本設(shè)計(jì)思想是求專不求全。
程序設(shè)計(jì)語(yǔ)言有時(shí)也稱為編程語(yǔ)言。
根據(jù)其抽象層次,可將程序設(shè)計(jì)語(yǔ)言分為低級(jí)語(yǔ)言和高級(jí)語(yǔ)言,低級(jí)語(yǔ)言包括機(jī)器語(yǔ)言和匯編語(yǔ)言,高級(jí)語(yǔ)言則豐富得多。
1.機(jī)器語(yǔ)言和匯編語(yǔ)官
機(jī)器語(yǔ)言和匯編語(yǔ)官

機(jī)器語(yǔ)言是用二進(jìn)制代碼表示的、計(jì)算機(jī)能直接識(shí)別和執(zhí)行的機(jī)器指令的集合。它是計(jì)算機(jī)的設(shè)計(jì)者通過硬件結(jié)構(gòu)賦予計(jì)算機(jī)的操作功能,因此,機(jī)器語(yǔ)言與具體硬件結(jié)構(gòu)密切相關(guān).例如,將兩個(gè)整數(shù)相乘并打印運(yùn)算結(jié)果的某機(jī)器語(yǔ)言程序如表7-1所示。
用機(jī)器語(yǔ)言編寫程序,編程人員首先要熟記所用計(jì)算機(jī)的全部指令代碼和代碼的含義。同時(shí),程序員豁要自己處理每條指令和每個(gè)數(shù)據(jù)的存儲(chǔ)分配和輸人輸出,還要記住編程過程中每一步所使用的工作單元處在何種狀態(tài)。
在那個(gè)年代(1950年前后),編程是一種什么樣的工作呢?
那時(shí)編寫程序不是今天這樣的“寫”程序,程序也不是寫在紙上的,而是在紙帶上打出不規(guī)則的小孔(修改程序就是給紙帶打補(bǔ)丁)。程序員需要先把給計(jì)算機(jī)的指令換算成二進(jìn)制數(shù)字,然后把二進(jìn)制數(shù)字轉(zhuǎn)成這些小孔,每一個(gè)小孔代表了給計(jì)算機(jī)的一個(gè)信號(hào),上百個(gè)小孔驅(qū)使計(jì)算機(jī)做一個(gè)動(dòng)作,成千個(gè)小孔才形成一條指令!
顯然,用機(jī)器指令編寫的程序難以閱讀和理解,而且如果程序出了錯(cuò),檢查和排除錯(cuò)誤也非常困難。為了克服用機(jī)器語(yǔ)言編程難讀、難編、難記和易出錯(cuò)的缺點(diǎn),人們就用與代碼指令實(shí)際含義相近的英文縮寫詞、字母和數(shù)字等符號(hào)來(lái)取代指令代碼,于是就產(chǎn)生了匯編語(yǔ)言。
用某匯編語(yǔ)言實(shí)現(xiàn)兩個(gè)整數(shù)相乘并打印輸出的程序
用某匯編語(yǔ)言實(shí)現(xiàn)兩個(gè)整數(shù)相乘并打印輸出的程序,續(xù)表
在匯編語(yǔ)言中,常用ADD表示相加、SUB表示相減、MUL表示相乘等。例如,用某匯編語(yǔ)言實(shí)現(xiàn)兩個(gè)整數(shù)相乘并打印輸出的程序如表7-2所示。
雖然使用匯編語(yǔ)言編寫程序的效率和程序的可讀性有所提高,但本質(zhì)上仍然是面向機(jī)器的語(yǔ)言,使用起來(lái)還是比較煩瑣費(fèi)時(shí),通用性也差。匯編語(yǔ)言仍然是低級(jí)語(yǔ)言,適用于編制系統(tǒng)軟件中與硬件直接相關(guān)的那些部分和一些過程控制軟件。由于計(jì)算機(jī)并不認(rèn)識(shí)匯編語(yǔ)言的文字符號(hào),這就需要一個(gè)專門的程序,負(fù)責(zé)將這些符號(hào)翻譯成二進(jìn)制數(shù)形式的機(jī)器語(yǔ)言,這種翻譯程序被稱為匯編程序。
2.商級(jí)語(yǔ)官
c程序示例
不論是機(jī)器語(yǔ)言還是匯編語(yǔ)言都是面向硬件的,語(yǔ)言對(duì)機(jī)器過分依賴,都不利于程序的編寫和移植。因此,人們開發(fā)了多種高級(jí)程序設(shè)計(jì)語(yǔ)言(簡(jiǎn)稱高級(jí)語(yǔ)言)。在高級(jí)語(yǔ)言中,人們使用更接近于自然語(yǔ)言的符號(hào)進(jìn)行表達(dá),例如,用print表示打印輸出、用“+”表示相加運(yùn)算等.例如,用C語(yǔ)言編寫的實(shí)現(xiàn)兩個(gè)整數(shù)相乘并輸出的程序如表7-3所示。
當(dāng)然,計(jì)算機(jī)也不能直接識(shí)別高級(jí)語(yǔ)言程序,因此,高級(jí)語(yǔ)言程序在執(zhí)行前也需要翻譯成計(jì)算機(jī)能夠執(zhí)行的指令。
3.編譯與解釋
用某種高級(jí)語(yǔ)言或匯編語(yǔ)言編寫的程序稱為源程序,源程序不能直接在計(jì)算機(jī)上執(zhí)行。
高級(jí)語(yǔ)言編寫
如果源程序是用匯編語(yǔ)言編寫的,則需要用匯編程序?qū)⑵浞g成目標(biāo)程序,再與必要的其他目標(biāo)程序鏈接后才能執(zhí)行。如果源程序是用某種高級(jí)語(yǔ)言編寫的,則需要對(duì)應(yīng)的編譯程序(也稱為編譯器)將其翻譯成目標(biāo)程序并進(jìn)行鏈接,然后才能執(zhí)行,如圖7-1所示。
高級(jí)語(yǔ)言程序也可以通過解釋方式運(yùn)行,這需要一個(gè)解釋程序。解釋程序也稱為解釋器,它或者直接解釋執(zhí)行源程序,或者將源程序先翻譯成某種中間表示形式,然后再解釋執(zhí)行。解釋程序與編譯程序的區(qū)別是:編譯程序首先將源程序翻譯成目標(biāo)語(yǔ)言程序,經(jīng)鏈接后產(chǎn)生可執(zhí)行程序,然后在計(jì)算機(jī)上運(yùn)行可執(zhí)行程序.這就是說(shuō),在編譯方式下,機(jī)器上運(yùn)行的是與源程序等價(jià)的可執(zhí)行程序,源程序和編譯程序都不再參與可執(zhí)行程序的執(zhí)行過程;在解釋方式下.解釋程序和源程序(或其中間表示)都要參與到程序的運(yùn)行過程中,運(yùn)行程序的控制權(quán)在解釋程序。也就是說(shuō),解釋程序翻譯源程序時(shí)不產(chǎn)生獨(dú)立的目標(biāo)程序,而編譯程序則需將源程序翻譯成獨(dú)立的目標(biāo)程序。

網(wǎng)站題目:什么是程序設(shè)計(jì)語(yǔ)言
網(wǎng)頁(yè)地址:http://www.muchs.cn/news16/227766.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)網(wǎng)站設(shè)計(jì)公司、網(wǎng)站建設(shè)、品牌網(wǎng)站制作、網(wǎng)站維護(hù)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)