1. 程式人生 > >指令碼語言和程式語言的區別

指令碼語言和程式語言的區別

程式語言 計算機語言的種類非常的多,總的來說可以分成機器語言,組合語言,高階語言三大類。

  1. 計算機所能識別的語言只有機器語言,即由0和1構成的程式碼。但通常人們程式設計時,不採用機器語言,因為它非常難於記憶和識別。
  2. 組合語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的識別符號,更容易識別和記憶。它同樣需要程式設計者將每一步具體的操作用命令的形式寫出來。彙編程式通常由三部分組成:指令、偽指令和巨集指令。彙編程式的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此彙編源程式一般比較冗長、複雜、容易出錯,而且使用匯編語言程式設計需要有更多的計算機專業知識,但組合語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高階語言所能實現的,而且源程式經彙編生成的可執行檔案不僅比較小,而且執行速度很快。
  3. 高階語言是目前絕大多數程式設計者的選擇。和組合語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆疊、暫存器等,這樣就大大簡化了程式中的指令。同時,由於省略了很多細節,程式設計者也就不需要有太多的專業知識。
    高階語言主要是相對於組合語言而言,它並不是特指某一種具體的語言,而是包括了很多程式語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。 像最簡單的程式語言PASCAL語言也屬於高階語言.
    高階語言所編制的程式不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
  4. 解釋類:執行方式類似於我們日常生活中的“同聲翻譯”,應用程式原始碼一邊由相應語言的直譯器“翻譯”成目的碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行檔案,應用程式不能脫離其直譯器,但這種方式比較靈活,可以動態地調整、修改應用程式。
  5. 編譯類:編譯是指在應用源程式執行之前,就將程式原始碼“翻譯”成目的碼(機器語言),因此其目標程式可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程式一旦需要修改,必須先修改原始碼,再重新編譯生成新的目標檔案(* .OBJ)才能執行,只有目標檔案而沒有原始碼,修改很不方便。現在大多數的程式語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。

相關推薦

指令碼語言程式語言區別

程式語言 計算機語言的種類非常的多,總的來說可以分成機器語言,組合語言,高階語言三大類。 計算機所能識別的語言只有機器語言,即由0和1構成的程式碼。但通常人們程式設計時,不採用機器語言,因為它非常難

編譯性語言解釋性語言區別

編譯性:就是一次性將所有的程式編譯成二進位制檔案,然後再讀取(編譯成二進位制檔案是因為計算機只能識別二進位制),執行速度快,但是開發效率很慢,因為如果出現bug的話,檔案就需要重新編制,這種語言他不能跨平臺,就是說如果在Linux平臺下開發的程式,在Windows下不能直接使用,如C語言,C++。

動態語言靜態語言區別

靜態語言(強型別語言) 靜態語言是在編譯時變數的資料型別即可確定的語言,多數靜態型別語言要求在使用變數之前必須宣告資料型別。 例如:C++、Java、Delphi、C#等。 動態語言(弱型別語言) 動態語言是在執行時確定資料型別的語言。變數使用之前

程式設計師視角程式語言角度看【中醫】:一種生命健康程式語言

開篇,我們來問幾個問題,相信是個程式都知道: 比如,0,1 代表什麼?比如,A,B,C,D,E 代表什麼? 0,1是數值,是二進位制位; ABCDE是符號,可以作為變數。 如果不懂,可以繼續看下面的虛擬碼: vA=""; vB=""; vC=""; vD=""; vE="";

計算機程式語言的發展歷史

計算機的發展歷史 在第二次世界大戰中,美國政府尋求計算機以開發潛在的戰略價值。這促進了計算機的研究與發展。1944年霍華德.艾肯(1900-1973)研製出全電子計算器,為美國海軍繪製彈道圖。這臺簡稱 Mark I 的機器有半個足球場大,內含500英里的電線,使

H5 遊戲主流引擎程式語言

引言: 最近微信新版本,主推小程式中的小遊戲模組,一個 “跳一跳” 的 H5 遊戲瞬間爆火,雖然很多傳言說 H5 真正盈利的時機未到,因為它的突出作品大多是簡單的小遊戲,好玩但不吸引付費。然而,H5 遊戲巨大流量和強大的日活躍還是可以轉化為利潤的。最近

徹底明白編譯型解釋型、動態語言靜態語言區別

編譯型和解釋型的區別 先來看看編譯型語言定義: 編譯型語言首先是將原始碼編譯生成機器指令,再由機器執行機器碼 (二進位制)。 再來看看解釋型語言的定義: 解釋型語言的原始碼不是直接翻譯成機器指令,而是先翻譯成中間程式碼,再由直譯器對

談談計算機程式語言

總有人和我說計算機真神祕,程式語言很難學,各種不懂。個人感覺其實如果不是去研究那些複雜的演算法,基礎的程式語言還是很容易學習的。很多童鞋們在學習程式語言的時候沒有搞清楚來龍去脈,只是簡單死記語法,沒有站在計算機的全域性角度來學習計算機語言。工欲善其事,必先利其器,這裡我說說

為什麼中國開發不出流行的作業系統程式語言

# 為什麼中國開發不出流行的作業系統和程式語言 Stitch/2020-2-21 ## 引子 知乎有兩個帖子很有意思, [中國能不能寫出作業系統?](https://www.zhihu.com/question/274446721/answer/377395235) [中國為什麼沒有自己的程式語言](

深入理解計算機系統(3.1)------匯編語言機器語言

找到 生產 有著 shu 符號 ces pc機 高效率 機器語言   《深入理解計算機系統》第三章——程序的機器級表示。作者首先講解了匯編代碼和機器代碼的關系,闡述了匯編承上啟下的作用;接著從機器語言IA32著手,分別講述了如何存儲數據、如何訪問數據

編譯性語言解釋性語言

我們知道,任何程式語言編寫的程式歸根到底都是由底層機器的機器程式碼(01序列)執行的,無論是編譯型語言還是解釋型語言。而任何高階程式語言程式的原始碼都是一個字元序列,這個字元序列到底層的01序列是通過編譯器或解析器經過多次轉換完成的。 圖1 程式語言的層次結構    

編碼的奧祕:高階語言低階語言

轉自:《編碼的奧祕》    第二十四章               用機器碼程式設計就像用牙籤吃東西,刺的塊很小且做起來很費力,吃一頓飯要花很長時間。同樣,每個機器碼位元組只是完成可以想像得到的最小

編譯性語言解釋性語言的不同

javascrip class vm虛擬機 -- .... 編譯 .class 解釋執行 ava --------------------編譯性語言(c,c++...)----------------------- 系統會生成中間文件(例如:.obj,.class...)

C語言程式語言發展史

以銅為鑑,可正衣冠;以古為鑑,可知興替;以人為鑑,可明得失。 前言 瞭解和學習一門語言、一個系統乃至方方面面的任何東西時,如果不知道其歷史和現狀而只是一上來就一味地悶頭苦學,你就很容易“一葉障目不見泰山”。 如此這般火急火燎的就上手苦幹,私以為

程式碼生成器技術亂彈十三,郎騎竹馬來,高階語言超級語言

        在自然界,類似於男生女生的概念是很

C語言程式語言科技 c語言中的= = =有什麼區別?(精華篇)

一等賦,二等於。 C語言中,很多初學者經常會弄混 = 與 == 。我們從小學習數學時就知道“ = ”是 “等於”的意思,可是在C語言中,“ = ”就不是等於的意思了。 我寫了如下的C語言程式碼: 在上述C語言程式碼中,整型變數 a 的初始值是0。在兩個 if 語句判

作業系統中的中斷陷阱、以及程式語言中的異常區別

在閱讀作業系統概念聖經書導論部分中,學習到了中斷和陷阱,同時聯絡到高階語言中的異常處理,下面我們介紹他們的概念。   陷阱 計算機有兩種執行模式:使用者態, 核心態。 其中作業系統執行在核心態,在核心態中,作業系統具有對所有硬體的完全訪問許可權,可以使機器執行任何指令;相反

關於編譯性語言、解釋性語言指令碼語言,動態語言,靜態語言區別

//'1'高電平  '0'低電平 // 0 1 10 11  100 101 110 111 //5+6 機器語言 //010010101010100101 //100101010010101010 //010101010100101010 //組合語

buildcompile的區別[程式語言]

Use Project|Compile project to compile all files in the current project that have changed since the last build into a new executable file,. dynamic link l

Python程式設計基礎(一)程式語言是什麼?編譯型語言解釋型語言區別|Python是什麼?

程式語言是什麼? 其實,程式指的就是一系列指令,用來告訴計算機做什麼,而編寫程式的關鍵在於,我們需要用計算機可以理解的語言來提供這些指令。 雖然藉助 Siri(Apple)、Google Now(Android)、Cortana(Microsoft)等技術,我們可以使用漢語直接告訴計算機做什麼,比如“Siri