求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

「编程语言」修訂間的差異檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
行 1: 行 1:
'''编程语言'''([[英语]]:programming language),是用来定义[[计算机]]程序的形式[[语言]]。它是一种被标准化的交流技巧,用来向计算机发出指令<ref>[http://www.ccutu.com/245117.html 编程语言有哪些 应该如何挑选],有途网 , 2019-7-27</ref>。一种能够让程序员准确地定义计算机所需要使用[[ 数据]] 的计算机语言,并精确地定义在不同情况下所应当采取的行动。
+
'''编程语言'''([[英语]]:programming language),是用来定义[[计算机]]程序的形式[[语言]]。它是一种被标准化的交流技巧,用来向计算机发出指令<ref>[http://www.ccutu.com/245117.html 编程语言有哪些 应该如何挑选],有途网 , 2019-7-27</ref>。一种能够让程序员准确地定义计算机所需要使用数据的计算机语言,并精确地定义在不同情况下所应当采取的行动。
  
 
 最早的编程语言是在电脑发明之前产生的,当时是用来控制[[提花织布机]]及自动演奏[[钢琴]]的动作。在电脑领域已发明了上千不同的编程语言,而且每年仍有新的编程语言诞生。很多编程语言需要用指令方式说明计算的程序,而有些编程语言则属于宣告式编程,说明需要的结果,而不说明如何计算。
 
 最早的编程语言是在电脑发明之前产生的,当时是用来控制[[提花织布机]]及自动演奏[[钢琴]]的动作。在电脑领域已发明了上千不同的编程语言,而且每年仍有新的编程语言诞生。很多编程语言需要用指令方式说明计算的程序,而有些编程语言则属于宣告式编程,说明需要的结果,而不说明如何计算。
行 17: 行 17:
 
 高级语言的出现使得计算机程序设计语言不再过度地依赖某种特定的机器或[[环境]]。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。最早出现的编程语言FORTRAN的一个主要目标,就是实现平台独立。
 
 高级语言的出现使得计算机程序设计语言不再过度地依赖某种特定的机器或[[环境]]。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。最早出现的编程语言FORTRAN的一个主要目标,就是实现平台独立。
  
 虽然大多数的语言既可被编译又可被解译,但大多数仅在一种情况下能够良好运行。在一些编程系统中,程序要经过几个阶段的编译,一般而言,后阶段的编译往往更接近机器语言。这种常用的使用技巧最早在1960年代末用于BCPL,编译程序先编译一个叫做“0代码”的转换程序(representation),然后再使用[[虚拟器]]转换到可以运行于机器上的真实代码。这种成功的技巧之后又用于Pascal和P-code,以及Smalltalk和二进制码,在很多时候,中间过渡的代码往往是解译,而不是编译的。
+
 虽然大多数的[[ 语言]] 既可被编译又可被解译,但大多数仅在一种情况下能够良好运行。在一些编程系统中,程序要经过几个阶段的编译,一般而言,后阶段的编译往往更接近机器语言。这种常用的使用技巧最早在1960年代末用于BCPL,编译程序先编译一个叫做“0代码”的转换程序(representation),然后再使用[[虚拟器]]转换到可以运行于机器上的真实代码。这种成功的技巧之后又用于Pascal和P-code,以及Smalltalk和二进制码,在很多时候,中间过渡的代码往往是解译,而不是编译的。
  
 
 如果所使用的翻译的机制是将所要翻译的程序代码作为一个整体翻译,并之后运行内部格式,那么这个翻译过程就被称为编译。因此,一个编译器是一个将人可阅读的程序文本(叫做源代码)作为输入的数据,然后输出可执行文件(object code)。所输出的可执行文件可以是机器语言,由计算机的中央处理器直接运行,或者是某种[[模拟器]]的二进制代码。
 
 如果所使用的翻译的机制是将所要翻译的程序代码作为一个整体翻译,并之后运行内部格式,那么这个翻译过程就被称为编译。因此,一个编译器是一个将人可阅读的程序文本(叫做源代码)作为输入的数据,然后输出可执行文件(object code)。所输出的可执行文件可以是机器语言,由计算机的中央处理器直接运行,或者是某种[[模拟器]]的二进制代码。
  
 如果程序代码是在运行时才即时翻译,那么这种翻译机制就被称作解释。经解释的程序运行速度往往比编译的程序慢,但往往更具灵活性,因为它们能够与执行环境互相作用。
+
 如果程序代码是在运行时才即时翻译,那么这种翻译机制就被称作解释。经解释的程序运行[[ 速度]] 往往比编译的程序慢,但往往更具灵活性,因为它们能够与执行环境互相作用。
  
 
==历史==
 
==历史==

於 2020年6月9日 (二) 10:09 的修訂

編程語言英語:programming language),是用來定義計算機程序的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令[1]。一種能夠讓程序員準確地定義計算機所需要使用數據的計算機語言,並精確地定義在不同情況下所應當採取的行動。

最早的編程語言是在電腦發明之前產生的,當時是用來控制提花織布機及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的編程語言,而且每年仍有新的編程語言誕生。很多編程語言需要用指令方式說明計算的程序,而有些編程語言則屬於宣告式編程,說明需要的結果,而不說明如何計算。

編程語言的描述一般可以分為語法及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部分,2011年後的版本為ISO/IEC 9899:2017,而其他55語言(像Perl)有一份主要的編程語言實現文件,視為是參考實現。

概論

編程語言原本是被設計成專門使用在計算機上的,但它們也可以用來定義算法或者數據結構。正是因為如此,程序員才會試圖使程序代碼更容易閱讀。

編程語言往往使程序員能夠比使用機器語言更準確地表達他們所想表達的目的。對那些從事計算機科學的人來說,懂得程序設計語言是十分重要的,因為在當今所有的計算都需要程序設計語言才能完成。

目前發明了許多的編程語言,編程語言本身可能修改以符合新需求,或是和其他的編程語言結合使用,儘管人們多次試圖創造可以符合所有需求的通用編程語言,但以「符合所有需求」的標準來看,這些嘗試都失敗了。之所以有那麼多種不同的編程語言存在的原因是,編寫程序的初衷其實也各不相同;新手與老手之間技術的差距非常小,而且有許多語言對新手來說太容易學;還有,不同程序之間的運行成本(runtime cost)各不相同。

有許多用於特殊用途的語言,只在特殊情況下使用。例如,PHP專門用來顯示網頁;Perl更適合文本處理;C語言被廣泛用於操作系統和編譯器的開發(所謂的系統編程)。

高級語言的出現使得計算機程序設計語言不再過度地依賴某種特定的機器或環境。這是因為高級語言在不同的平台上會被編譯成不同的機器語言,而不是直接被機器執行。最早出現的編程語言FORTRAN的一個主要目標,就是實現平台獨立。

雖然大多數的語言既可被編譯又可被解譯,但大多數僅在一種情況下能夠良好運行。在一些編程系統中,程序要經過幾個階段的編譯,一般而言,後階段的編譯往往更接近機器語言。這種常用的使用技巧最早在1960年代末用於BCPL,編譯程序先編譯一個叫做「0代碼」的轉換程序(representation),然後再使用虛擬器轉換到可以運行於機器上的真實代碼。這種成功的技巧之後又用於Pascal和P-code,以及Smalltalk和二進制碼,在很多時候,中間過渡的代碼往往是解譯,而不是編譯的。

如果所使用的翻譯的機制是將所要翻譯的程序代碼作為一個整體翻譯,並之後運行內部格式,那麼這個翻譯過程就被稱為編譯。因此,一個編譯器是一個將人可閱讀的程序文本(叫做源代碼)作為輸入的數據,然後輸出可執行文件(object code)。所輸出的可執行文件可以是機器語言,由計算機的中央處理器直接運行,或者是某種模擬器的二進制代碼。

如果程序代碼是在運行時才即時翻譯,那麼這種翻譯機制就被稱作解釋。經解釋的程序運行速度往往比編譯的程序慢,但往往更具靈活性,因為它們能夠與執行環境互相作用。

歷史

1940年代當計算機剛剛問世的時候,程序員必須手動控制計算機。當時的計算機十分昂貴,唯一想到利用程序設計語言來解決問題的人是德國工程師康拉德·楚澤[2]

幾十年後,計算機的價格大幅度下跌,而計算機程序也越來越複雜。也就是說,開發時間已經遠比運行時間寶貴。

於是,新的集成、可視的開發環境越來越流行。它們減少了所付出的時間、金錢(以及腦細胞)。只要輕敲幾個鍵,一整段代碼就可以使用了。這也得益於可以重用的程序代碼庫。

參考文獻