常用编程语言简介大全
文章目錄
- 一、計算機編程語言分類
- 二、高級語言分類
一、計算機編程語言分類
機器語言(面向機器)——>匯編語言(面向機器)——>高級語言(面向過程——>面向?qū)ο?#xff09;
(1)機器語言屬于低級語言。
由于計算機內(nèi)部只能接受二進制代碼,因此,用二進制代碼0和1描述的指令稱為機器指令。
全部機器指令的集合構(gòu)成計算機的機器語言,用機器語言編程的程序稱為目標程序。只有目標程序才能被計算機直接識別和執(zhí)行。
(2)匯編語言
實質(zhì)和機器語言相同,都是直接對硬件操作,只不過指令采用了英文縮寫的標識符,更容易識別和記憶。
(3)高級語言
高級語言是相對于匯編語言而言,編寫的程序不能直接被計算機識別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行。
常用編程語言及其用途
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:手機應(yīng)用、流行于非智能機時代;
Java Android:用于安卓開發(fā)應(yīng)用
GO:高性能服務(wù)器應(yīng)用,比較年輕
Erlang:高并發(fā)服務(wù)器應(yīng)用,多用于游戲
Python:Web、科學(xué)計算、運維
Ruby:Web
Perl:運維、文本處理,用的較少
Lisp:科研,一種邏輯語言,用于人工智能
Node:一個JavaScript運行環(huán)境(runtime)
Haskell:Haskell是一種標準化的、通用純函數(shù)編程語言,數(shù)學(xué)邏輯方面
Scala:一種類似Java的編程語言,集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性
JavaScript:前端,在node中可以做后端
HTML/CSS:標記語言,主要是給前端工程師構(gòu)建頁面使用
二、高級語言分類
(0)命令式語言 & 函數(shù)式語言 & 邏輯式語言
命令式語言的語義基礎(chǔ)是模擬“數(shù)據(jù)存儲/數(shù)據(jù)操作”的圖靈機可計算模型,十分符合現(xiàn)代計算機體系結(jié)構(gòu)的自然實現(xiàn)方式。其中產(chǎn)生操作的主要途徑是依賴語句或命令產(chǎn)生的副作用。現(xiàn)代流行的大多數(shù)語言都是這一類型,比如 Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C# 等,各種腳本語言也被看作是此種類型
函數(shù)式語言的語義基礎(chǔ)是基于數(shù)學(xué)函數(shù)概念的值映射的λ算子可計算模型。這種語言非常適合于進行人工智能等工作的計算。典型的函數(shù)式語言如 Lisp、Haskell、ML、Scheme 、F#等。
邏輯式語言的語義基礎(chǔ)是基于一組已知規(guī)則的形式邏輯系統(tǒng)。這種語言主要用在專家系統(tǒng)的實現(xiàn)中。最著名的邏輯式語言是 Prolog 。
(1)編譯型語言 & 解釋型語言 :兩者只是翻譯的時間不同
編譯型語言:由于程序執(zhí)行速度快,同等條件下對系統(tǒng)的要求比較低,因此像開發(fā)操作系統(tǒng)、大型應(yīng)用程序、數(shù)據(jù)庫系統(tǒng)等時都采用它,如 C、C++、Fortran、Pascal、Delphi 、匯編…
在程序執(zhí)行前,有一個單獨的編譯過程,將源程序—>機器語言,生成一個可執(zhí)行程序 .exe,使用的轉(zhuǎn)換工具稱編譯器。 以后再執(zhí)行這個程序時,就直接用exe文件,不用再進行翻譯了,所以效率較下者高。解釋型語言:運行速度較前者慢。如Python、JavaScript、VBScript、Tcl、Perl、Ruby、MATLAB …腳本語言!
每次執(zhí)行程序都要一邊轉(zhuǎn)換一邊執(zhí)行,用到哪些源代碼就將哪些源代碼轉(zhuǎn)換成機器碼,用不到的不進行任何處理。 每次執(zhí)行程序時可能使用不同的功能,這個時候需要轉(zhuǎn)換的源代碼也不一樣。 不會生成可執(zhí)行程序,使用的轉(zhuǎn)換工具稱解釋器。因為每次執(zhí)行程序都需要重新轉(zhuǎn)換源代碼,所以解釋型語言的執(zhí)行效率天生就低于編譯型語言,甚至存在數(shù)量級的差距。計算機的一些底層功能,或者關(guān)鍵算法,一般都使用 C/C++ 實現(xiàn),只有在應(yīng)用層面(比如網(wǎng)站開發(fā)、批處理、小工具等)才會使用解釋型語言。
有說JAVA是混合型,也有說是解釋型。 和 C# 都屬于半編譯半解釋型的語言,源代碼先轉(zhuǎn)換為中間文件(字節(jié)碼文件)再轉(zhuǎn)換。
(2)強類型語言(靜態(tài)語言) & 弱類型語言(動態(tài)語言)
強類型:如JAVA,C,C++,C#
優(yōu)點:靜態(tài)語言由于強制聲明數(shù)據(jù)類型,讓開發(fā)工具(IDE)對代碼有很強的判斷能力,在實現(xiàn)復(fù)雜的業(yè)務(wù)邏輯和開發(fā)大型商業(yè)系統(tǒng)、以及那些聲明周期很長的應(yīng)用中,開發(fā)者可以依托強大的IDE來更高效、更安全地開發(fā)。
弱類型:如超級腳本語言Python,Ruby…腳本語言JavaScript,VBScript,PHP,ASP,Perl,SQL,Shell…HTML…宏語言…
優(yōu)點:動態(tài)語言思維不受約束,可以任意發(fā)揮,把更多的精力放在產(chǎn)品本身上;集中思考業(yè)務(wù)邏輯實現(xiàn),思考過程就是實現(xiàn)過程。
(3)面向過程型 & 面向?qū)ο笮?/strong>
面向過程:C;Fortran語言主要用于編寫與數(shù)值計算有關(guān)的程序,廣泛應(yīng)用于科學(xué)和工程計算領(lǐng)域。
面向?qū)ο蟮陌l(fā)展有兩個方向:一種是純面向?qū)ο笳Z言,如Smalltalk、EIFFEL、JAVA、C# 等;另一種是混合型面向?qū)ο笳Z言,即在過程式語言及其它語言中加入類、繼承等成分,如C++、Python、 Objective-C等。
(4)腳本語言
又稱為擴建的語言,是為了縮短傳統(tǒng)的編寫-編譯-鏈接-運行過程而創(chuàng)建的計算機編程語言。
腳本語言(JavaScript,VBScript,Python,PHP,Perl,Ruby等)介于標記語言HTML和編程語言C,C++,Java,C#等之間。
辨別:
腳本語言的特點是語法簡單,一般以文本形式保存,并且不需要編譯成目標程序,在調(diào)用的時候直接解釋。這可以當做是腳本語言的判斷標準,比如道說JavaScript,你只需要用記事本新建一個Html文件,在里面加上一段腳本就可以了,在瀏覽器打開Html文件時自然會調(diào)版用JS腳本。總之你能用記事本寫出程序,不需要編譯環(huán)境權(quán)生成目標程序的基本上就是腳本語言。
(5)標記語言
常見HTML,XML…(一般分三類:標示性的,過程性的,描述性的)
是一種將文本以及文本相關(guān)的其他信息結(jié)合起來,展現(xiàn)出關(guān)于文檔結(jié)構(gòu)和數(shù)據(jù)處理細節(jié)的電腦文字編碼。
區(qū)別:
1、標記語言不用于向計算機發(fā)出指令,常用于格式化和鏈接。
2、腳本語言介于標記語言和編程語言之間,腳本語言腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。
3、編譯型語言寫的程序執(zhí)行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以后要運行的話就不用重新翻譯了,直接使用編譯的結(jié)果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執(zhí)行效率高。
總結(jié)
以上是生活随笔為你收集整理的常用编程语言简介大全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: crontab 每周五_crontab定
- 下一篇: python调用摄像头人脸识别代码_利用