各編程語言的用途及分類是怎么樣的,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、響應(yīng)式網(wǎng)站開發(fā)、程序開發(fā)、微網(wǎng)站、成都微信小程序等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運(yùn)作于一體,具備承接不同規(guī)模與類型的建設(shè)項目的能力。
常用編程語言匯總及其用途
C:操作系統(tǒng)、嵌入式、驅(qū)動開發(fā)
C++:圖形圖像、科研、通信、桌面軟件、游戲、游戲服務(wù)器
C#:Windows桌面軟件、.NET Web、服務(wù)器
Java: Java SE:跨平臺的桌面應(yīng)用,Android;Java EE:企業(yè)級應(yīng)用,web開發(fā)、服務(wù)器后端;Java ME:手機(jī)應(yīng)用、流行于非智能機(jī)時代;Java Android:用于安卓開發(fā)應(yīng)用
GO:高性能服務(wù)器應(yīng)用,比較年輕
Erlang:高并發(fā)服務(wù)器應(yīng)用,多用于游戲
Python:Web、科學(xué)計算、運(yùn)維
Ruby:web
Perl:運(yùn)維、文本處理,用的較少
Lisp:科研,一種邏輯語言,用于人工智能
Node:一個JavaScript運(yùn)行環(huán)境(runtime)
Haskell:Haskell是一種標(biāo)準(zhǔn)化的、通用純函數(shù)編程語言,數(shù)學(xué)邏輯方面
Scala:一種類似Java的編程語言,集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性
Javascript:前端,在node中可以做后端
HTML/CSS:標(biāo)記語言,主要是給前端工程師構(gòu)建頁面使用
編程語言的分類
1、高級語言和低級語言:
高級語言: C、C++、Java、Python、Pascal、Lisp、Prolog、FoxPro、易語言等都是高級語言,相對于低級語言來說,高級語言采用易于識別和記憶的字符來作為關(guān)鍵字,也更接近人類的思維方式,編寫容易讀寫性好,開發(fā)效率更高。
a=a+b 的表達(dá)方式:
int a;
int b;
a=a+b;
重點是,高級語言是可移植的,做少量修改甚至無需修改,即可將代碼運(yùn)行在不同平臺的計算機(jī)上。
低級語言(包括機(jī)器語言和匯編語言) :
機(jī)器語言:
計算機(jī)硬件只能識別“斷開”和“閉合”兩種物理狀態(tài),也就是0和1。使用機(jī)器指令效率最高,因為無需對指令進(jìn)行翻譯。但是機(jī)器語言對人類不友好,一大串0和1,很難識別和記憶,且容易出錯。
但是對于機(jī)器來說,秒懂。
匯編語言:
匯編語言(assembly language)是一種用于電子計算機(jī)、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符(Mnemonics)代替機(jī)器指令的操操作碼,用地址符號(Symbol)或標(biāo)號(Label)代替指令或操作數(shù)的地址。在不同的設(shè)備中,匯編語言對應(yīng)著不同的機(jī)器語言指令集,通過匯編過程轉(zhuǎn)換成機(jī)器指令。普遍地說,特定的匯編語言和特定的機(jī)器語言指令集是一一對應(yīng)的,不同平臺之間不可直接移植。
匯編語言采用人類容易記憶和識別的助記符來代表一些0和1的指令,比如AND代表加法。
a=a+b 的表達(dá)方式:
MOV AX,2
MOV BX,3
ADD AX,BX
越是低級的語言對機(jī)器越是友好,越是符合機(jī)器的思考方式,因此執(zhí)行效率高。
越是高級的語言對人類越是友好,越是符合人類的思考方式,因此開發(fā)效率高。
2、編譯型語言和解釋型語言(相對于高級語言而言)。
高級語言的可移植性是基于編譯或者解釋這個過程,對人類友好的高級語言只有經(jīng)過處理才能被操作系統(tǒng)識別并加載到計算機(jī)硬件上最終執(zhí)行。
高級語言的編譯和解釋都是面向操作系統(tǒng)而言,并非面對計算機(jī)硬件。
編譯型語言
編譯就是把一個事先編好的叫做“編譯程序”的機(jī)器語言程序安裝在計算機(jī)內(nèi),當(dāng)需要執(zhí)行高級語言程序時,編譯程序就把整個“高級語言的源程序”翻譯成“機(jī)器語言的目標(biāo)程序”。
解釋型語言
高級語言進(jìn)入計算機(jī)后,解釋程序一邊掃描一邊解釋,逐句輸入逐句翻譯,計算機(jī)一行一行執(zhí)行,并不產(chǎn)生目標(biāo)程序。
比如JAVA就是一種解釋型高級語言。
3、強(qiáng)類型語言(靜態(tài)態(tài)語言)和弱類型語言(動態(tài)語言)
強(qiáng)類型語言(靜態(tài)語言):是編譯時變量的數(shù)據(jù)類型就可以確定的語言,大多數(shù)靜態(tài)語言要求在使用變量之前必須生命數(shù)據(jù)類型。比如Java、C、C++、C#等。
String s="hello"; //String 類型的變量
boolean b=true; //boolean 類型的變量
int i=0; //int 類型的變量
弱類型語言(動態(tài)語言):是運(yùn)行時才確定數(shù)據(jù)類型的語言,變量在使用之前無需申明類型,通常變量的值是被賦值的那個值的類型。比如Php、Asp、JavaScript、Python、Perl等等。
var s ="hello";
var i = 0;
var b = true;
弱類型語言是數(shù)據(jù)類型可以被忽略的語言。它與強(qiáng)類型語言相反,一個變量可以賦不同數(shù)據(jù)類型的值。一個變量的類型是由其上下文決定的,效率更高。
強(qiáng)類型語言是必須強(qiáng)制確定數(shù)據(jù)類型的語言,一旦一個變量被指定了某個數(shù)據(jù)類型,如果不經(jīng)過強(qiáng)制轉(zhuǎn)換,那么它就永遠(yuǎn)是這種數(shù)據(jù)類型。一個變量的類型是申明的時候就已經(jīng)確定的,更安全。
靜態(tài)語言由于強(qiáng)制聲明數(shù)據(jù)類型,讓開發(fā)工具(IDE)對代碼有很強(qiáng)的判斷能力,在實現(xiàn)復(fù)雜的業(yè)務(wù)邏輯和開發(fā)大型商業(yè)系統(tǒng)、以及那些聲明周期很長的應(yīng)用中,開發(fā)者可以依托強(qiáng)大的IDE來更高效、更安全地開發(fā)。
動態(tài)語言思維不受約束,可以任意發(fā)揮,把更多的精力放在產(chǎn)品本身上;集中思考業(yè)務(wù)邏輯實現(xiàn),思考過程就是實現(xiàn)過程。
看完上述內(nèi)容,你們掌握各編程語言的用途及分類是怎么樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!