選單

各程式語言用途及分類

常用程式語言彙總及其用途

C:作業系統、嵌入式、驅動開發

C++:圖形影象、科研、通訊、桌面軟體、遊戲、遊戲伺服器

C#:Windows桌面軟體、。NET Web、伺服器

Java: Java SE:跨平臺的桌面應用,Android;Java EE:企業級應用,web開發、伺服器後端;Java ME:手機應用、流行於非智慧機時代;Java Android:用於安卓開發應用

2019年 Java零基礎權威入學寶典

Java架構師/微服務/分散式/高併發/效能最佳化/原始碼解析-學習影片

GO:高效能伺服器應用,比較年輕

Erlang:高併發伺服器應用,多用於遊戲

Python:Web、科學計算、運維

Ruby:web

Perl:運維、文字處理,用的較少

Lisp:科研,一種邏輯語言,用於人工智慧

Node:一個JavaScript執行環境(runtime)

Haskell:Haskell是一種標準化的、通用純函式程式語言,數學邏輯方面

Scala:一種類似Java的程式語言,整合面向物件程式設計和函數語言程式設計的各種特性

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

HTML/CSS:標記語言,主要是給前端工程師構建頁面使用

各程式語言用途及分類

程式語言的分類

1、高階語言和低階語言:

各程式語言用途及分類

高階語言:

C、C++、Java、Python、Pascal、Lisp、Prolog、FoxPro、易語言等都是高階語言,相對於低階語言來說,高階語言採用易於識別和記憶的字元來作為關鍵字,也更接近人類的思維方式,編寫容易讀寫性好,開發效率更高。

a=a+b 的表達方式:

int a

int b

a=a+b

重點是,

高階語言是可移植的

,做少量修改甚至無需修改,即可將程式碼執行在不同平臺的計算機上。

低階語言(包括機器語言和組合語言) :

機器語言:

計算機硬體只能識別“斷開”和“閉合”兩種物理狀態,也就是0和1。使用機器指令效率最高,因為無需對指令進行翻譯。但是機器語言對人類不友好,一大串0和1,很難識別和記憶,且容易出錯。

但是對於機器來說,秒懂。

各程式語言用途及分類

組合語言:

組合語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。在組合語言中,用助記符(Mnemonics)代替機器指令的操操作碼,用地址符號(Symbol)或標號(Label)代替指令或運算元的地址。在不同的裝置中,組合語言對應著不同的機器語言指令集,透過彙編過程轉換成機器指令。普遍地說,特定的組合語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植。

組合語言採用人類容易記憶和識別的助記符來代表一些0和1的指令,比如AND代表加法。

a=a+b 的表達方式:

MOV AX,

2 MOV BX,

3 ADD AX,BX

越是低階的語言對機器越是友好,越是符合機器的思考方式,因此執行效率高。

越是高階的語言對人類越是友好,越是符合人類的思考方式,因此開發效率高。

2、編譯型語言和解釋型語言(相對於高階語言而言)。

高階語言的可移植性是基於編譯或者解釋這個過程,對人類友好的高階語言只有經過處理才能被作業系統識別並載入到計算機硬體上最終執行。

高階語言的編譯和解釋都是面向作業系統而言,並非面對計算機硬體。

各程式語言用途及分類

編譯型語言

編譯就是把一個事先編好的叫做“編譯程式”的機器語言程式安裝在計算機內,當需要執行高階語言程式時,編譯程式就把整個“高階語言的源程式”翻譯成“機器語言的目標程式”。

解釋型語言

高階語言進入計算機後,解釋程式一邊掃描一邊解釋,逐句輸入逐句翻譯,計算機一行一行執行,並不產生目標程式。

比如JAVA就是一種解釋型高階語言。

各程式語言用途及分類

3、強型別語言(靜態態語言)和弱型別語言(動態語言)

強型別語言(靜態語言):是編譯時變數的資料型別就可以確定的語言,大多數靜態語言要求在使用變數之前必須生命資料型別。比如Java、C、C++、C#等。

String s=“hello”; //String 型別的變數

boolean b=true; //boolean 型別的變數

int i=0; //int 型別的變數

弱型別語言(動態語言):是執行時才確定資料型別的語言,變數在使用之前無需申明型別,通常變數的值是被賦值的那個值的型別。比如Php、Asp、JavaScript、Python、Perl等等。

var s =“hello”;

var i = 0;

var b = true;

弱型別語言是資料型別可以被忽略的語言。它與強型別語言相反,一個變數可以賦不同資料型別的值。一個變數的型別是由其上下文決定的,效率更高。

強型別語言是必須強制確定資料型別的語言,一旦一個變數被指定了某個資料型別,如果不經過強制轉換,那麼它就永遠是這種資料型別。一個變數的型別是申明的時候就已經確定的,更安全。

靜態語言由於強制宣告資料型別,讓開發工具(IDE)對程式碼有很強的判斷能力,在實現複雜的業務邏輯和開發大型商業系統、以及那些宣告週期很長的應用中,開發者可以依託強大的IDE來更高效、更安全地開發。

動態語言思維不受約束,可以任意發揮,把更多的精力放在產品本身上;集中思考業務邏輯實現,思考過程就是實現過程。