什么是程序設(shè)計語言
經(jīng)過半個多世紀(jì)的發(fā)展,產(chǎn)生了幾百種程序設(shè)計語言,各種語言都具有自己的特色,有些已經(jīng)消亡,留下來的則不斷被改進,并應(yīng)用在不同的領(lǐng)域中.有些語言是通用的,有些語言則是針對專門領(lǐng)域設(shè)計的,稱為領(lǐng)域?qū)S谜Z言(Domain Specific Language,DSL),其基本設(shè)計思想是求專不求全。
程序設(shè)計語言有時也稱為編程語言。
根據(jù)其抽象層次,可將程序設(shè)計語言分為低級語言和高級語言,低級語言包括機器語言和匯編語言,高級語言則豐富得多。
1.機器語言和匯編語官
機器語言是用二進制代碼表示的、計算機能直接識別和執(zhí)行的機器指令的集合。它是計算機的設(shè)計者通過硬件結(jié)構(gòu)賦予計算機的操作功能,因此,機器語言與具體硬件結(jié)構(gòu)密切相關(guān).例如,將兩個整數(shù)相乘并打印運算結(jié)果的某機器語言程序如表7-1所示。
用機器語言編寫程序,編程人員首先要熟記所用計算機的全部指令代碼和代碼的含義。同時,程序員豁要自己處理每條指令和每個數(shù)據(jù)的存儲分配和輸人輸出,還要記住編程過程中每一步所使用的工作單元處在何種狀態(tài)。
在那個年代(1950年前后),編程是一種什么樣的工作呢?
那時編寫程序不是今天這樣的“寫”程序,程序也不是寫在紙上的,而是在紙帶上打出不規(guī)則的小孔(修改程序就是給紙帶打補丁)。程序員需要先把給計算機的指令換算成二進制數(shù)字,然后把二進制數(shù)字轉(zhuǎn)成這些小孔,每一個小孔代表了給計算機的一個信號,上百個小孔驅(qū)使計算機做一個動作,成千個小孔才形成一條指令!
顯然,用機器指令編寫的程序難以閱讀和理解,而且如果程序出了錯,檢查和排除錯誤也非常困難。為了克服用機器語言編程難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數(shù)字等符號來取代指令代碼,于是就產(chǎn)生了匯編語言。
在匯編語言中,常用ADD表示相加、SUB表示相減、MUL表示相乘等。例如,用某匯編語言實現(xiàn)兩個整數(shù)相乘并打印輸出的程序如表7-2所示。
雖然使用匯編語言編寫程序的效率和程序的可讀性有所提高,但本質(zhì)上仍然是面向機器的語言,使用起來還是比較煩瑣費時,通用性也差。匯編語言仍然是低級語言,適用于編制系統(tǒng)軟件中與硬件直接相關(guān)的那些部分和一些過程控制軟件。由于計算機并不認(rèn)識匯編語言的文字符號,這就需要一個專門的程序,負(fù)責(zé)將這些符號翻譯成二進制數(shù)形式的機器語言,這種翻譯程序被稱為匯編程序。
2.商級語官
不論是機器語言還是匯編語言都是面向硬件的,語言對機器過分依賴,都不利于程序的編寫和移植。因此,人們開發(fā)了多種高級程序設(shè)計語言(簡稱高級語言)。在高級語言中,人們使用更接近于自然語言的符號進行表達(dá),例如,用print表示打印輸出、用“+”表示相加運算等.例如,用C語言編寫的實現(xiàn)兩個整數(shù)相乘并輸出的程序如表7-3所示。
當(dāng)然,計算機也不能直接識別高級語言程序,因此,高級語言程序在執(zhí)行前也需要翻譯成計算機能夠執(zhí)行的指令。
3.編譯與解釋
用某種高級語言或匯編語言編寫的程序稱為源程序,源程序不能直接在計算機上執(zhí)行。
如果源程序是用匯編語言編寫的,則需要用匯編程序?qū)⑵浞g成目標(biāo)程序,再與必要的其他目標(biāo)程序鏈接后才能執(zhí)行。如果源程序是用某種高級語言編寫的,則需要對應(yīng)的編譯程序(也稱為編譯器)將其翻譯成目標(biāo)程序并進行鏈接,然后才能執(zhí)行,如圖7-1所示。
高級語言程序也可以通過解釋方式運行,這需要一個解釋程序。解釋程序也稱為解釋器,它或者直接解釋執(zhí)行源程序,或者將源程序先翻譯成某種中間表示形式,然后再解釋執(zhí)行。解釋程序與編譯程序的區(qū)別是:編譯程序首先將源程序翻譯成目標(biāo)語言程序,經(jīng)鏈接后產(chǎn)生可執(zhí)行程序,然后在計算機上運行可執(zhí)行程序.這就是說,在編譯方式下,機器上運行的是與源程序等價的可執(zhí)行程序,源程序和編譯程序都不再參與可執(zhí)行程序的執(zhí)行過程;在解釋方式下.解釋程序和源程序(或其中間表示)都要參與到程序的運行過程中,運行程序的控制權(quán)在解釋程序。也就是說,解釋程序翻譯源程序時不產(chǎn)生獨立的目標(biāo)程序,而編譯程序則需將源程序翻譯成獨立的目標(biāo)程序。
建站流程
-
網(wǎng)站需求
-
網(wǎng)站策劃方案
-
頁面設(shè)計風(fēng)格
-
確認(rèn)交付使用
-
資料錄入優(yōu)化
-
程序設(shè)計開發(fā)
-
后續(xù)跟蹤服務(wù)
-
聯(lián)系電話
010-60259772
熱門標(biāo)簽
- 網(wǎng)站建設(shè)
- 食品網(wǎng)站建設(shè)
- 微信小程序開發(fā)
- 小程序開發(fā)
- 無錫網(wǎng)站建設(shè)
- 研究所網(wǎng)站建設(shè)
- 沈陽網(wǎng)站建設(shè)
- 廊坊網(wǎng)站建設(shè)
- 鄭州網(wǎng)站建設(shè)
- 婚紗攝影網(wǎng)站建設(shè)
- 手機端網(wǎng)站建設(shè)
- 高校網(wǎng)站制作
- 天津網(wǎng)站建設(shè)
- 教育網(wǎng)站建設(shè)
- 品牌網(wǎng)站建設(shè)
- 政府網(wǎng)站建設(shè)
- 北京網(wǎng)站建設(shè)
- 網(wǎng)站設(shè)計
- 網(wǎng)站制作
最新文章
推薦新聞
更多行業(yè)-
北京網(wǎng)站建設(shè)手把手教你如何讓你的網(wǎng)站設(shè)計更具內(nèi)涵?
明確設(shè)計方向是北京網(wǎng)站開發(fā)設(shè)計前必須要做的工作。在目前的北京網(wǎng)站設(shè)計模...
2022-03-23 -
天津網(wǎng)站建設(shè)網(wǎng)站頁面設(shè)計技巧有哪些?
我想大家都知道B2B行業(yè)網(wǎng)站具有B2B網(wǎng)站和門戶網(wǎng)站的特點,這決定了頁...
2022-02-14 -
網(wǎng)站降權(quán)如何處理可以快速恢復(fù)排名
網(wǎng)站排名的降低是每個人都不愿意面對的事情,尤其是當(dāng)你的新的和努力工作的...
2021-04-25 -
數(shù)據(jù)存儲技術(shù)的原理
在過去40年中,計算領(lǐng)域發(fā)生了很大的變化,但是,計算機處理和產(chǎn)生數(shù)據(jù)的...
2014-06-15 -
建設(shè)自適應(yīng)網(wǎng)站有哪些優(yōu)缺點?
因為自適應(yīng)設(shè)計需要多個界面的兼容性和功能調(diào)試,所以UI設(shè)計師和前端工程...
2020-09-24 -
網(wǎng)絡(luò)泡沫的原因
首先,股票市場中股票的價值在于它給投資帶來多少盈利,股票的價格用最簡單...
2014-11-07
預(yù)約專業(yè)咨詢顧問溝通!
免責(zé)聲明
非常感謝您訪問我們的網(wǎng)站。在您使用本網(wǎng)站之前,請您仔細(xì)閱讀本聲明的所有條款。
1、本站部分內(nèi)容來源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動。
2、本站不承擔(dān)用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問題參見國家有關(guān)法律法規(guī),當(dāng)本聲明與國家法律法規(guī)沖突時,以國家法律法規(guī)為準(zhǔn)。
4、如果侵害了您的合法權(quán)益,請您及時與我們,我們會在第一時間刪除相關(guān)內(nèi)容!
聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com