日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

语言的分类

發(fā)布時間:2023/12/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 语言的分类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
語言的種類從不同的角度會有不同的劃分,比如機(jī)器語言、匯編語言、高級語言、低級語言(機(jī)器語言及匯編語言)、編譯語言、解釋型語言、腳本語言、動態(tài)語言、靜態(tài)語言、函數(shù)式語言(比如F#及Scala)、命令式語言、面向?qū)ο笳Z言(比如C++及JAVA)、過程式語言、混合型語言(介于編譯型語言與解釋型語言之間,比如JAVA與C#)等等,語言的種類繁多,五花八門什么都有,真正的全部總結(jié)全面不是一件容易的事情。 機(jī)器語言:機(jī)器語言是機(jī)器指令的集合,機(jī)器指令展開來講就是一臺機(jī)器可以正確執(zhí)行的命令。電子計算機(jī)的機(jī)器指令是一列二進(jìn)制數(shù)字。計算機(jī)將之轉(zhuǎn)變?yōu)橐涣懈叩碗娖?#xff0c;以使計算機(jī)的電子器件受到驅(qū)動,從而進(jìn)行運(yùn)算。?每一種微處理器,由于硬件設(shè)計和內(nèi)部結(jié)構(gòu)的不同,就需要用不同的電平脈沖來控制,以使它工作。所以每一種微處理器都有自己的機(jī)器指令集,也就是機(jī)器語言。
···比如:在顯示器輸出“welcome to masm”,機(jī)器碼如圖: 匯編語言:這種語言相對機(jī)器語言的抽象,首先表現(xiàn)在將機(jī)器語言的每一條指令符號化:指令碼代之以記憶符號,地址碼代之以符號地址,使得其含義顯現(xiàn)在符號上而不再隱藏在編碼中,可讓人望"文"生義。其次表現(xiàn)在這種語言擺脫了具體計算機(jī)的限制,可在不同指令集的計算機(jī)上運(yùn)行,只要該計算機(jī)配上匯編語言的一個匯編程序。 匯編語言和機(jī)器語言是一一對應(yīng)的關(guān)系,所以有什么CPU架構(gòu)就有什么匯編語言,比如x86架構(gòu)的就是x86匯編,ARM架構(gòu)的CPU對應(yīng)于ARM匯編,MIPS架構(gòu)的CPU對應(yīng)于MIPS匯編。
CPU根據(jù)總線寬度可以分8位,16位,32位,64位等,所以相應(yīng)的就有8位匯編,16位匯編,32位匯編等。
高級語言:面向用戶的語言。高級語言為程序員提供了結(jié)構(gòu)化程序設(shè)計的環(huán)境和工具,使得設(shè)計出來的程序可讀性好,可維護(hù)性強(qiáng),可靠性高; 高級語言遠(yuǎn)離機(jī)器語言,與具體的計算機(jī)硬件關(guān)系不大,因而所寫出來的程序可移植性好,重用率高。
??高級語言的翻譯有兩種方式:編譯方式和解釋方式。
解釋語言:是電腦使用的機(jī)器語言,與機(jī)器語言1對1地對應(yīng)的匯編語言相比,高抽象度,與人類平常使用的自然語言相近的感覺的高級語言。由于電腦無法識別人類所記述的源代碼,所以由解釋語言(腳本引擎)翻譯成機(jī)器語言,變換成可執(zhí)行的程序。
Basic語言就是典型的解釋型語言。
編譯語言:這個語言,由于需要先把程序轉(zhuǎn)換成機(jī)器語言程序然后再執(zhí)行,所以在開發(fā)的速度與容易度,修正的方便性上都不如匯編語言,但是,由于不需要同時翻譯,所以在實(shí)效速度上占有很大的優(yōu)勢。還有,解釋語言中的執(zhí)行環(huán)境里需要源代碼,編譯語言里就不需要。比如:Python,JavaScript。
腳本語言:“特定的描述性語言,依據(jù)一定的格式編寫的可執(zhí)行文件,以純文本的方式保存,又稱宏或批處理文件。”簡單的說,腳本就是一條條的文字命令,這些文字是可以看到的,在執(zhí)行時由系統(tǒng)的一個解釋器,將其一條條的命令翻譯成機(jī)器可識別的指令,并按順序執(zhí)行,因?yàn)槟_本在執(zhí)行時多了一道翻譯的過程,所以它比二進(jìn)制程序執(zhí)行效率要稍低一些。雖然編譯程序代碼也是可以看到的,但是查看的環(huán)境要求就比較高了。
常見的腳本語言有:Scala、JavaScript、ASP、JSP、PHP、Shell、python等。
動態(tài)語言:是指程序在運(yùn)行時可以改變其結(jié)構(gòu)(新的函數(shù)可以被引進(jìn),已有的函數(shù)可以被刪除等在結(jié)構(gòu)上的變化)。比如眾所周知的JavaScript便是一個動態(tài)語言。所謂的動態(tài)類型語言,意思就是類型的檢查是在運(yùn)行時做的,可以簡單的理解為直接被解釋執(zhí)行的語言稱為動態(tài)語言。
動態(tài)語言有:ASP、PHP、CGI、lisppython等。
靜態(tài)語言:需要編譯環(huán)境將程序轉(zhuǎn)換為其它的編碼再執(zhí)行的語言稱為靜態(tài)語言。
當(dāng)前靜態(tài)語言有:Java、C/C++、C#、VB等。
函數(shù)式語言(比如F#及Scala):函數(shù)式語言是一種非馮·諾伊曼式的程序設(shè)計語言。函數(shù)式語言主要成分是原始函數(shù)、定義函數(shù)和函數(shù)型。這種語言具有較強(qiáng)的組織數(shù)據(jù)結(jié)構(gòu)的能力,可以把某一數(shù)據(jù)結(jié)構(gòu)(如數(shù)組)作為單一值處理;可以把函數(shù)作為參數(shù),其結(jié)果也可為函數(shù),這種定義的函數(shù)稱為高階函數(shù),程序就是函數(shù),程序作用在結(jié)構(gòu)型數(shù)據(jù)上,產(chǎn)生結(jié)構(gòu)型結(jié)果,從根本上改變了馮·諾伊曼式語言的“逐詞”工作方式。(F#是微軟.NET平臺上一門新興的函數(shù)式編程語言,是微軟唯一的FP語言,而微軟也致力于將F#打造成為.NET平臺的頂峰語言,我們也期待著F#能夠給函數(shù)式編程語言帶來一次重大革命。
Scala是一種基于Java的通用編程語言,旨在推廣函數(shù)式編程,它編譯成Java字節(jié)碼,在Java虛擬機(jī)(JVM)上運(yùn)行。雖然Scala本質(zhì)上是一個函數(shù)式編程語言,但它也體現(xiàn)了面向?qū)ο笳Z言的所有必要元素,這一點(diǎn)使函數(shù)式編程特性對編程社區(qū)的吸引力更大。)
命令式程序設(shè)計語言:是基于動作的語言,以馮諾依曼計算機(jī)體系結(jié)構(gòu)為背景。機(jī)器語言及匯編語言是最早的命令式語言。在這種語言中,計算機(jī)被看做是動作的序列,程序就是用語言提供的操作命令書寫的一個操作序列。用命令式程序設(shè)計語言編寫程序,就是描述解題過程中每一步的過程,程序的運(yùn)行過程就是問題的求解過程,因此也稱為過程式語言。比如說C語言就是命令式程序設(shè)計語言。
面向?qū)ο笳Z言:是一類以對象作為基本程序結(jié)構(gòu)單位的程序設(shè)計語言,指用于描述的設(shè)計是以對象為核心,而對象是程序運(yùn)行時刻的基本成分。語言中提供了類、繼承等成分。
面向?qū)ο笳Z言刻畫客觀系統(tǒng)較為自然,便于軟件擴(kuò)充與復(fù)用。有四個主要特點(diǎn):
⑴識認(rèn)性,系統(tǒng)中的基本構(gòu)件可識認(rèn)為一組可識別的離散對象;
(2)類別性,系統(tǒng)具有相同數(shù)據(jù)結(jié)構(gòu)與行為的所有對象可組成一類;
(3)多態(tài)性,對象具有惟一的靜態(tài)類型和多個可能的動態(tài)類型;
(4)繼承性,在基本層次關(guān)系的不同類中共享數(shù)據(jù)和操作。
其中,前三者為基礎(chǔ),繼承是特色。四者(有時再加上動態(tài)綁定)結(jié)合使用,體現(xiàn)出
面向?qū)ο笳Z言的表達(dá)能力。
一般認(rèn)為,較典型的面向?qū)ο笳Z言有:
  Smalltalk支持單繼承、多態(tài)和動態(tài)綁定;
  EIFFEL,支持多繼承、多態(tài)和動態(tài)綁定;
  C++,支持多繼承、多態(tài)和部分動態(tài)綁定。
  Java,支持單繼承、多態(tài)和部分動態(tài)綁定
基于類的面向?qū)ο笳Z言是面向?qū)ο笫澜缋锏闹髁鳌K?#xff1a;
  Simula, 第一個面向?qū)ο笳Z言;
  Smalltalk, 第一個支持動態(tài)類型的語言;
  C++, 它的大部分基于類的特性繼承自Simula。
?過程式語言:過程式語言整個是構(gòu)建在動詞上的語言。比如,最常見的經(jīng)典過程式語言- C語言,打印一條語句的語法是printf(), 這個方法的名字本身就是一個動詞,這個動詞強(qiáng)調(diào)了一個動作的過程,所謂過程式就是這個意思。

總結(jié)

以上是生活随笔為你收集整理的语言的分类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。