什麼是編程語言

編程語言俗稱“計算機語言”,種類非常的多,總的來說可以分成機器語言、彙編語言、高級語言三大類。電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 目前通用的編程語言有兩種形式:彙編語言和高級語言。

編程語言的目的是使用人類語言去控制計算機,告訴計算機我們要做的事情。人類語言易於理解,容易學習,開發效率高。

目前流行的編程語言有C語言、C++、Java、C#、PHP、JavaScript等,每種語言都有自己擅長的方面,例如:
C語言是較早開發的一種高級語言,後來的很多語言都是基於C語言進行設計的;
Java和C#不但可以用來開發軟件,還可以用來開發網站後臺程序;
PHP主要用來開發網站後臺程序;
JavaScript主要負責網站的前端工作。

編程語言類似於人類語言,我們很容易就能理解它的意思。但在計算機底層硬件,所有的數據都是以1和0兩個高低電平來表示,計算機只能識別這兩個電平。那麼,如何才能將“人類語言”轉換成“0&1語言”呢?這就是編程語言的重點。

每種編程語言都有一套詳細的規範,說明該語言如何被轉換成機器語言(0和1序列),我們稱之爲語法。語法說明了編程語言有多少個“單詞”和“句子”,分別有什麼用。

每種語言都有對應的編譯器,編譯器能夠識別“單詞”和“句子”,將編程語言“翻譯”成機器能識別的語言,即0和1序列。這個過程稱爲編譯。

所有的編程語言都是一個原理,使用人類能讀懂的語言來編寫源代碼,再利用編譯器將源代碼編譯成機器能讀懂的語言(0和1序列),稱爲目標代碼。

編程語言是這樣一套規範,它規定了編譯器按照什麼樣的語法將源代碼編譯成目標代碼。


編程語言種類


彙編語言

彙編語言的實質和機器語言是相同的,都是直接對硬件操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。彙編程序通常由三部分組成:指令、僞指令和宏指令。彙編程序的每一句指令只能對應實際操作過程中的一個很細微的動作。例如移動、自增,因此彙編源程序一般比較冗長、複雜、容易出錯,而且使用彙編語言編程需要有更多的計算機專業知識,但彙編語言的優點也是顯而易見的,用彙編語言所能完成的操作不是一般高級語言所能夠實現的,而且源程序經彙編生成的可執行文件不僅比較小,而且執行速度很快。


腳本語言


腳本語言(Script language,scripting language,scripting programming language)是爲了縮短傳統的編寫-編譯-鏈接-運行(edit-compile-link-run)過程而創建的計算機編程語言。此命名起源於一個腳本“screenplay”,每次運行都會使對話框逐字重複。
早期的腳本語言經常被稱爲批量處理語言或工作控制語言。一個腳本通常是解釋運行而非編譯。
雖然許多腳本語言都超越了計算機簡單任務自動化的領域,成熟到可以編寫精巧的程序,但仍然還是被稱爲腳本。幾乎所有計算機系統的各個層次都有一種腳本語言。包括操作系統層,如計算機遊戲,網絡應用程序,字處理文檔,網絡軟件等。在許多方面,高級編程語言和腳本語言之間互相交叉,二者之間沒有明確的界限。
腳本編程速度更快,且腳本文件明顯小於如同類C程序文件。這種靈活性是以執行效率爲代價的。腳本通常是解釋執行的,速度可能很慢,且運行時更耗內存。在很多案例中,如編寫一些數十行的小腳本,它所帶來的編寫優勢就遠遠超過了運行時的劣勢,尤其是在當前程序員工資趨高和硬件成本趨低時。
腳本語言是一種解釋性的語言,例如Python 、vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件的形式存在.


機器語言


由於計算機內部只能接受二進制代碼,因此,用二進制代碼0和1描述的指令稱爲機器指令,全部機器指令的集合構成計算機的機器語言,用機器語言編程的程序稱爲目標程序。只有目標程序才能被計算機直接識別和執行。但是機器語言編寫的程序無明顯特徵,難以記憶,不便閱讀和書寫,且依賴於具體機種,侷限性很大,機器語言屬於低級語言。


高級語言


高級語言是大多數編程者的選擇。和彙編語言相比,它不但將許多相關的機器指令合成爲單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於彙編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,像最簡單的編程語言PASCAL語言也屬於高級語言。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分爲兩類:
解釋類:執行方式類似於我們日常生活中的“同聲翻譯”,應用程序源代碼一邊由相應語言的解釋器“翻譯”成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。如較早時期的Qbasic語言。
編譯類:編譯是指在應用源程序執行之前,就將程序源代碼“翻譯”成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .obj,也就是OBJ文件)才能執行,只有目標文件而沒有源代碼,修改很不方便。

發佈了52 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章