複製鏈接
請複製以下鏈接發送給好友

程序語言

鎖定
程序語言是用來定義計算機指令執行流程的形式化語言。每種程序語言都包含一整套詞彙和語法規範。這些規範通常包括數據類型數據結構、指令類型和指令控制、調用機制和庫函數以及不成文的規定(如遞進書寫、變量命名等)。
大多數程序語言都能夠組合出複雜的數據結構(如鏈表堆棧、文件等)。面向對象的程序語言還允許程序員定義新的數據結構(如“對象”)。 [1] 
中文名
程序語言
外文名
Programming Language
定    義
計算機指令執行流程的形式化語言
規    範
數據類型和數據結構等
語    種
C,C++等
應用學科
計算機原理

程序語言發展趨勢

計算機語言與自然語言很相似,自然語言雖然方言很多,但是主體結構幾千年來變化很少。近十多年來程序語言發展的成績主要體現在設計框架和設計工具的改進方面。例如,微軟公司的.NET Framework框架中有超過1萬個類和10萬個方法(子程序)。例如,目前的程序集成開發環境(IDE)包含了無數強大的功能,如指令彩色顯示,指令和函數提示,錯誤提示,自動遞進,自動收縮,集成調試器和編譯器等。與此相比,程序語言本身的改進並不明顯。
在程序語言發展歷史中,語言抽象級別不斷提高,語言表現力越來越強大.這樣就可以用更少的代碼完成更多的工作。早期程序員使用匯編語言編程,接着使用面向過程的程序語言(如Pascal、C等),然後發展到面向對象的程序語言(如C++、Java、C#等)。隨着因特網的發展,網絡動態程序語言(如PHP、Python等)得到了廣泛應用,這種趨勢目前還在繼續發展。
程序語言的主要發展趨勢是:聲明式編程風格,如Prolog、SQL,、函數式編程等;動態程序語言,如PHPPython等;以及多核CPU環境下的並行編程,如UPC、Go等。隨着程序語言的發展,各種語言之間的邊界變得越來越模糊。 [1] 

程序語言基本組成

指令及指令流程控制
程序由多條語句組成,一個語句就是一條指令(可以包含多個操作)。語句有規定的關鍵字(命令)和語法結構,程序語言利用串行的方法編寫程序語句。語言中的控制指令(如順序、選擇、循環、調用等)可以改變程序的執行流程,用來控制計算機的處理過程。
程序語言基本組成
程序語言雖然千差萬別,但是程序語言基本成分不外以下4種:一是數據成分,它用來描述程序中數據的類型,如數值字符等;二是運算成分,它用來描述程序中所包含的各種運算,如四則運算、邏輯運算等;三是控制成分,它用來控制程序語句的執行流程,如選擇、循環、調用等;四是傳輸成分,用來表達程序中數據的傳輸,如實參與形參、返回值等。 [1] 

程序語言類型

程序語言的分類方法
程序語言有多種分類方法,大部分程序語言都是算法描述型語言,如C/C++Java等,還有一部分是數據描述型語言,如HTML等標記語言。按照編程技術難易程度可分為低級語言(機器語言、彙編語言)和高級語言;按照程序語言設計風格可分為命令式語言(過程化語言)、結構化語言、面嚮對象語言、函數式語言、腳本語言等;按照語言應用領域可分為通用程序語言(GPPL)和專用程序語言(DSL);按照程序執行方式,可分為解釋型語言(如JavaScript、Python、Perl、R等),編譯型語言(如C/C++等),編譯+解釋型語言(如Java、PHP等)。
機器語言
機器語言是以二進制代碼表示的指令集合,是計算機唯一能直接識別和執行的語言。機器語言的優點是佔用內存少、執行速度快,缺點是難編寫、難閲讀、難修改、難移植。
彙編語言
彙編語言是將機器語言的二進制代碼指令用簡單符號(助記符)表示的一種語言。因此彙編語言與機器語言本質上是相同的,都可以直接對計算機硬件設備進行操作。彙編語言編程需要對計算機硬件結構有所瞭解,這無疑大大增加了編程難度。但是彙編語言生成的可執行文件很小,而且執行速度很快。因此,工業控制領域經常採用彙編語言進行編程。彙編語言與計算機硬件設備(主要是CPU)相關,不同系列CPU(如ARM與Intel的CPU)的機器指令不同,因此它們的彙編語言也不同。
高級程序語言
高級語言將計算機內部的許多相關機器操作指令,合併成一條高級程序指令,並且屏蔽了具體操作細節(如內存分配、寄存器使用等),這樣大大簡化了程序指令,使編程者不需要專業知識就可以進行編程。高級程序語言便於人們閲讀、修改和調試,而且移植性強,因此高級程序語言已成為目前普遍使用的編程語言。 [1] 
參考資料
  • 1.    唐良榮,唐建湘,範豐仙,易建勳編著,計算機導論:計算思維和應用技術,清華大學出版社,2015.06,42-44