溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

各編程語(yǔ)言的用途及分類(lèi)是怎么樣的

發(fā)布時(shí)間:2021-10-13 15:58:55 來(lái)源:億速云 閱讀:170 作者:柒染 欄目:編程語(yǔ)言

各編程語(yǔ)言的用途及分類(lèi)是怎么樣的,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

  常用編程語(yǔ)言匯總及其用途

  C:操作系統(tǒng)、嵌入式、驅(qū)動(dòng)開(kāi)發(fā)

  C++:圖形圖像、科研、通信、桌面軟件、游戲、游戲服務(wù)器

  C#:Windows桌面軟件、.NET Web、服務(wù)器

  Java: Java SE:跨平臺(tái)的桌面應(yīng)用,Android;Java EE:企業(yè)級(jí)應(yīng)用,web開(kāi)發(fā)、服務(wù)器后端;Java ME:手機(jī)應(yīng)用、流行于非智能機(jī)時(shí)代;Java Android:用于安卓開(kāi)發(fā)應(yīng)用

  GO:高性能服務(wù)器應(yīng)用,比較年輕

  Erlang:高并發(fā)服務(wù)器應(yīng)用,多用于游戲

  Python:Web、科學(xué)計(jì)算、運(yùn)維

  Ruby:web

  Perl:運(yùn)維、文本處理,用的較少

  Lisp:科研,一種邏輯語(yǔ)言,用于人工智能

  Node:一個(gè)JavaScript運(yùn)行環(huán)境(runtime)

  Haskell:Haskell是一種標(biāo)準(zhǔn)化的、通用純函數(shù)編程語(yǔ)言,數(shù)學(xué)邏輯方面

  Scala:一種類(lèi)似Java的編程語(yǔ)言,集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性

  Javascript:前端,在node中可以做后端

  HTML/CSS:標(biāo)記語(yǔ)言,主要是給前端工程師構(gòu)建頁(yè)面使用

  編程語(yǔ)言的分類(lèi)

  1、高級(jí)語(yǔ)言和低級(jí)語(yǔ)言:

  高級(jí)語(yǔ)言: C、C++、Java、Python、Pascal、Lisp、Prolog、FoxPro、易語(yǔ)言等都是高級(jí)語(yǔ)言,相對(duì)于低級(jí)語(yǔ)言來(lái)說(shuō),高級(jí)語(yǔ)言采用易于識(shí)別和記憶的字符來(lái)作為關(guān)鍵字,也更接近人類(lèi)的思維方式,編寫(xiě)容易讀寫(xiě)性好,開(kāi)發(fā)效率更高。

  a=a+b 的表達(dá)方式:

  int a;

  int b;

  a=a+b;

  重點(diǎn)是,高級(jí)語(yǔ)言是可移植的,做少量修改甚至無(wú)需修改,即可將代碼運(yùn)行在不同平臺(tái)的計(jì)算機(jī)上。

  低級(jí)語(yǔ)言(包括機(jī)器語(yǔ)言和匯編語(yǔ)言) :

  機(jī)器語(yǔ)言:

  計(jì)算機(jī)硬件只能識(shí)別“斷開(kāi)”和“閉合”兩種物理狀態(tài),也就是0和1。使用機(jī)器指令效率最高,因?yàn)闊o(wú)需對(duì)指令進(jìn)行翻譯。但是機(jī)器語(yǔ)言對(duì)人類(lèi)不友好,一大串0和1,很難識(shí)別和記憶,且容易出錯(cuò)。

  但是對(duì)于機(jī)器來(lái)說(shuō),秒懂。

  匯編語(yǔ)言:

  匯編語(yǔ)言(assembly language)是一種用于電子計(jì)算機(jī)、微處理器、微控制器或其他可編程器件的低級(jí)語(yǔ)言,亦稱(chēng)為符號(hào)語(yǔ)言。在匯編語(yǔ)言中,用助記符(Mnemonics)代替機(jī)器指令的操操作碼,用地址符號(hào)(Symbol)或標(biāo)號(hào)(Label)代替指令或操作數(shù)的地址。在不同的設(shè)備中,匯編語(yǔ)言對(duì)應(yīng)著不同的機(jī)器語(yǔ)言指令集,通過(guò)匯編過(guò)程轉(zhuǎn)換成機(jī)器指令。普遍地說(shuō),特定的匯編語(yǔ)言和特定的機(jī)器語(yǔ)言指令集是一一對(duì)應(yīng)的,不同平臺(tái)之間不可直接移植。

  匯編語(yǔ)言采用人類(lèi)容易記憶和識(shí)別的助記符來(lái)代表一些0和1的指令,比如AND代表加法。

  a=a+b 的表達(dá)方式:

  MOV AX,2

  MOV BX,3

  ADD AX,BX

  越是低級(jí)的語(yǔ)言對(duì)機(jī)器越是友好,越是符合機(jī)器的思考方式,因此執(zhí)行效率高。

  越是高級(jí)的語(yǔ)言對(duì)人類(lèi)越是友好,越是符合人類(lèi)的思考方式,因此開(kāi)發(fā)效率高。

  2、編譯型語(yǔ)言和解釋型語(yǔ)言(相對(duì)于高級(jí)語(yǔ)言而言)。

  高級(jí)語(yǔ)言的可移植性是基于編譯或者解釋這個(gè)過(guò)程,對(duì)人類(lèi)友好的高級(jí)語(yǔ)言只有經(jīng)過(guò)處理才能被操作系統(tǒng)識(shí)別并加載到計(jì)算機(jī)硬件上最終執(zhí)行。

  高級(jí)語(yǔ)言的編譯和解釋都是面向操作系統(tǒng)而言,并非面對(duì)計(jì)算機(jī)硬件。

  編譯型語(yǔ)言

  編譯就是把一個(gè)事先編好的叫做“編譯程序”的機(jī)器語(yǔ)言程序安裝在計(jì)算機(jī)內(nèi),當(dāng)需要執(zhí)行高級(jí)語(yǔ)言程序時(shí),編譯程序就把整個(gè)“高級(jí)語(yǔ)言的源程序”翻譯成“機(jī)器語(yǔ)言的目標(biāo)程序”。

  解釋型語(yǔ)言

  高級(jí)語(yǔ)言進(jìn)入計(jì)算機(jī)后,解釋程序一邊掃描一邊解釋?zhuān)鹁漭斎胫鹁浞g,計(jì)算機(jī)一行一行執(zhí)行,并不產(chǎn)生目標(biāo)程序。

  比如JAVA就是一種解釋型高級(jí)語(yǔ)言。

  3、強(qiáng)類(lèi)型語(yǔ)言(靜態(tài)態(tài)語(yǔ)言)和弱類(lèi)型語(yǔ)言(動(dòng)態(tài)語(yǔ)言)

  強(qiáng)類(lèi)型語(yǔ)言(靜態(tài)語(yǔ)言):是編譯時(shí)變量的數(shù)據(jù)類(lèi)型就可以確定的語(yǔ)言,大多數(shù)靜態(tài)語(yǔ)言要求在使用變量之前必須生命數(shù)據(jù)類(lèi)型。比如Java、C、C++、C#等。

  String s="hello"; //String 類(lèi)型的變量

  boolean b=true; //boolean 類(lèi)型的變量

  int i=0; //int 類(lèi)型的變量

  弱類(lèi)型語(yǔ)言(動(dòng)態(tài)語(yǔ)言):是運(yùn)行時(shí)才確定數(shù)據(jù)類(lèi)型的語(yǔ)言,變量在使用之前無(wú)需申明類(lèi)型,通常變量的值是被賦值的那個(gè)值的類(lèi)型。比如Php、Asp、JavaScript、Python、Perl等等。

  var s ="hello";

  var i = 0;

  var b = true;

  弱類(lèi)型語(yǔ)言是數(shù)據(jù)類(lèi)型可以被忽略的語(yǔ)言。它與強(qiáng)類(lèi)型語(yǔ)言相反,一個(gè)變量可以賦不同數(shù)據(jù)類(lèi)型的值。一個(gè)變量的類(lèi)型是由其上下文決定的,效率更高。

  強(qiáng)類(lèi)型語(yǔ)言是必須強(qiáng)制確定數(shù)據(jù)類(lèi)型的語(yǔ)言,一旦一個(gè)變量被指定了某個(gè)數(shù)據(jù)類(lèi)型,如果不經(jīng)過(guò)強(qiáng)制轉(zhuǎn)換,那么它就永遠(yuǎn)是這種數(shù)據(jù)類(lèi)型。一個(gè)變量的類(lèi)型是申明的時(shí)候就已經(jīng)確定的,更安全。

  靜態(tài)語(yǔ)言由于強(qiáng)制聲明數(shù)據(jù)類(lèi)型,讓開(kāi)發(fā)工具(IDE)對(duì)代碼有很強(qiáng)的判斷能力,在實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯和開(kāi)發(fā)大型商業(yè)系統(tǒng)、以及那些聲明周期很長(zhǎng)的應(yīng)用中,開(kāi)發(fā)者可以依托強(qiáng)大的IDE來(lái)更高效、更安全地開(kāi)發(fā)。

  動(dòng)態(tài)語(yǔ)言思維不受約束,可以任意發(fā)揮,把更多的精力放在產(chǎn)品本身上;集中思考業(yè)務(wù)邏輯實(shí)現(xiàn),思考過(guò)程就是實(shí)現(xiàn)過(guò)程。

看完上述內(nèi)容,你們掌握各編程語(yǔ)言的用途及分類(lèi)是怎么樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI