91精品国产手机在线-白筒袜嫩萝双腿之间乳白液体-青青操手机在线视频观看-日本中文字幕人妻日韩-日韩精品在线观看视频网站-天堂资源中文最新版在线一区-欧美专区一区二区三区-国产综合亚洲欧美在线-国产精品久久久久久福利69堂

一文了解所有編程語言 面向過程的語言有哪幾種


一文了解所有編程語言 面向過程的語言有哪幾種

文章插圖
編程語言分類:
1、高級語言和低級語言兩大類 , 大致分為3種結構:面向機器 , 面向過程和面向?qū)ο?。
高級語言分為兩類:面向過程、面向?qū)ο?。
C、C++、C#, Java、Python、PHP、Pascal、Lisp、Prolog、FoxPro、Go等都是高級語言 。
為了克服低級語言的缺點 , 20世紀50年代由美國約翰·貝克斯(John Backus)創(chuàng)造出了第一個計算機高級語言——FORTRAN語言 。
相對于低級語言來說 , 高級語言采用易于識別和記憶的字符來作為關鍵字 , 也更接近人類的思維方式 , 編寫容易讀寫性好 , 開發(fā)效率更高 。高級語言更容易移植 。做少量修改甚至無需修改 , 即可將代碼運行在不同平臺的計算機上 。
· 面向?qū)ο蟮母呒壵Z言:
C++ , Java , Python, C#, EIFFEL , Simula 67等 。
· 面向過程的高級語言:
C , Fortran語言 。
面向過程和面向?qū)ο蟛⒂玫恼Z言:PHP 。當然面向?qū)ο笫谴髣菟?。。
面向機器的低級語言(包括機器語言和匯編語言)
機器語言:
計算機硬件只能識別“斷開”和“閉合”兩種物理狀態(tài) , 也就是0和1 。使用機器指令效率最高 , 因為無需對指令進行翻譯 。但是機器語言對人類不友好 , 一大串0和1 , 很難識別和記憶 , 且容易出錯 。
匯編語言:
采用人類容易記憶和識別的助記符來代表一些0和1的指令 , 比如AND代表加法 。
用助記符(Mnemonics)代替機器指令的操操作碼 , 用地址符號(Symbol)或標號(Label)代替指令或操作數(shù)的地址 。在不同的設備中 , 匯編語言對應著不同的機器語言指令集 , 通過匯編過程轉換成機器指令 。普遍地說 , 特定的匯編語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植 。
MOVAX,2MOV BX,3ADD AX,BX越是低級的語言對機器越是友好 , 越是符合機器的思考方式 , 因此執(zhí)行效率高 。
越是高級的語言對人類越是友好 , 越是符合人類的思考方式 , 因此開發(fā)效率高 。
2、高級語言又分 解釋型語言和編譯型語言
高級語言的可移植性是基于編譯或者解釋這個過程 , 對人類友好的高級語言只有經(jīng)過處理才能被操作系統(tǒng)識別并加載到計算機硬件上最終執(zhí)行 。
高級語言的編譯和解釋都是面向操作系統(tǒng)而言 , 并非面對計算機硬件 。
編譯型語言
編譯型語言:程序在執(zhí)行之前需要一個專門的編譯過程 , 把程序編譯成 為機器語言的文件 , 運行時不需要重新翻譯 , 直接使用編譯的結果就行了 。程序執(zhí)行效率高 , 依賴編譯器 , 跨平臺性差些 。如C、C++、Pascal、Delphi等.
編譯就是把一個事先編好的叫做“編譯程序”(編譯器)的軟件安裝在計算機內(nèi) , 當需要執(zhí)行高級語言程序時 , 編譯程序就把整個“高級語言的源程序”翻譯成“機器語言的目標程序” 。
解釋型語言
而相對的,解釋性語言編寫的程序不進行預先編譯 , 以文本方式存儲程序代碼 。在發(fā)布程序時 , 看起來省了道編譯工序 。但是 , 在運行程序的時候 , 解釋性語言必須先解釋再運行 。
解釋型語言進入計算機后 , 解釋程序一邊掃描一邊解釋 , 逐句輸入逐句翻譯 , 計算機一行一行執(zhí)行 , 并不產(chǎn)生目標程序 。
比如JAVA就是一種解釋型高級語言 。
編譯型語言由于程序執(zhí)行速度快 , 同等條件下對系統(tǒng)要求較低 , 因此像開發(fā)操作系統(tǒng)、大型應用程序、數(shù)據(jù)庫系統(tǒng)等時都采用它 , 像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言 , 而一些網(wǎng)頁腳本、服務器腳本及輔助開發(fā)接口這樣的對速度要求不高、對不同系統(tǒng)平臺間的兼容性有一定要求的程序則通常使用解釋性語言 , 如Java、JavaScript、BASIC、Perl、Python、Ruby、MATLAB 等等 。
3、強類型語言(靜態(tài)語言)和弱類型語言(動態(tài)語言)
強類型語言(靜態(tài)語言):是編譯時變量的數(shù)據(jù)類型就可以確定的語言 , 大多數(shù)靜態(tài)語言要求在使用變量之前必須聲明數(shù)據(jù)類型 。比如Java、C、C++、C#等 。
弱類型語言(動態(tài)語言):是運行時才確定數(shù)據(jù)類型的語言 , 變量在使用之前無需申明類型 , 通常變量的值是被賦值的那個值的類型 。比如Php、Asp、JavaScript、Python、Perl等等 。
弱類型語言是數(shù)據(jù)類型可以被忽略的語言 。它與強類型語言相反 , 一個變量可以賦不同數(shù)據(jù)類型的值 。一個變量的類型是由其上下文決定的 , 效率更高 。
強類型語言是必須強制確定數(shù)據(jù)類型的語言 , 一旦一個變量被指定了某個數(shù)據(jù)類型 , 如果不經(jīng)過強制轉換 , 那么它就永遠是這種數(shù)據(jù)類型 。一個變量的類型是申明的時候就已經(jīng)確定的 , 更安全 。
【一文了解所有編程語言 面向過程的語言有哪幾種】靜態(tài)語言由于強制聲明數(shù)據(jù)類型 , 讓開發(fā)工具(IDE)對代碼有很強的判斷能力 , 在實現(xiàn)復雜的業(yè)務邏輯和開發(fā)大型商業(yè)系統(tǒng)、以及那些聲明周期很長的應用中 , 開發(fā)者可以依托強大的IDE來更高效、更安全地開發(fā) 。

    推薦閱讀