功能性的說話一般許可變數直接使用執行時較量爭論出的值,而不是指出該值可能貯存的記憶體位址。
除何時和若何確定運算式和型態的聯繫,另外一個主要的問題就是說話到底界說了哪些型態,和允許哪些型態作為運算式的值翻譯諸如C程式說話之類的低端說話許可程式命名記憶體位置、記憶體區域和編譯時的常量;ANSI C甚至許可運算式返回結構值(struct values)。 因此,一個編譯器是一個將人可浏覽的程式文字(叫做原始碼)作為輸入的資料,然後輸出履行檔(object code)翻譯所輸出的執行檔可所以機械說話,由電腦的中央處理器直接履行,或者是某種摹擬器的二進位代碼。
若是所利用的翻譯的機制是將所要翻譯的程式代碼作為一個整體翻譯,並之後履行內部格局,那麼這個翻譯進程就被成為編譯。
現代電腦內部的資料都只以二元方式貯存,即開-關模式(on-off)。現實世界中代表資訊的各種資料,例如名字、銀行帳號、器量和一樣低真個二後設資料,都經過程式設計說話清算,成為高真個概念。
程式設計者行使程式說話供給的抽象化來表示計算的相幹概念,這些概念則是由很多最簡單元素(稱為說話基元)的鸠合所構成[6]翻譯程式設計就是指利用說話基元來撰寫新的程式,或是將舊程式改寫,合營新的運用或是新的情況。 程式語言提供界說片段資料的結構化機制,和在資猜中需主動進行的運算或是轉換。
大多半被普遍利用或經久不衰的說話,具有負責標準化的組織,常常接見會面來締造及發布該說話的正式界說,並討論擴充功能或貫徹現有的界說。
最早的程式說話是在電腦發現之前產生的,其時是用來節制提花織布機及主動吹奏鋼琴的動作[1]。許多編程說話需要用指令方式說明較量爭論的程式,而有些編程說話則屬於宣佈式編程,申明需要的成效,而不申明如何計較。
在電腦範疇已發現了上千不同的編程說話,並且每年仍有新的編程說話誕生。
程式說話可透過機械、電腦來達成與完成人類需求的演算、功能與目的。
語法是說明程式設計說話中,哪些符號或文字的組合方式是准確的,語義則是對於編程的诠釋[2]翻譯有些語言是用規格檔案定義,例如C說話的規格檔案也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011[3],而其他說話(像Perl)有一份主要的程式說話實現檔案,視為是參考實現。 程式說話的描述一般可以分為語法及語義。
在一些編程系統中,程式要經由幾個階段的編譯,一般而言,後階段的編譯常常更接近機械語言。這類常用的利用技能最早在1960年月末用於BCPL,編譯程式先編譯一個叫做「0代碼」的轉換程式(representation),然後再利用虛擬器轉換到可以履行於機器上的真實代碼翻譯這類成功的技能以後又用於Pascal和P-code,以及Smalltalk和二進位碼,在許多時候,中央過渡的代碼常常是解譯,而不是編譯的翻譯 固然大多半的語言既可被編譯又可被解譯,但大大都僅在一種環境下可以或許優越執行。
前者可被進一步分為包括宣告型態(manifest type)的說話,即每一個變數和函式的型態都清晰地宣佈,或type-inferred說話(例如MUMPS,ML)翻譯 一個程式中專門處理資料的那個系統被稱為程式說話的型態系統(type system);對型態系統的研究和設計被稱為型態理論(type theory)翻譯說話可以被分為靜態型態系統(statically typed systems),例如C++和Java,和動態型態系統(dynamically typed systems),例如Lisp,JavaScript,Tcl和Prolog。
程式說話本來是被設計成專門利用在電腦上的,但它們也能夠用來界說演算法或者資料構造。恰是因為如斯,程式設計師才會試圖使程式代碼更輕易浏覽翻譯 高階程式語言可發展多功能的利用程式軟體,如:功課系統、工程計算機軟體、轉檔軟體、燒錄軟體、播放軟體、網頁設計…等。 於是,新的整合、可視的開辟環境越來越風行。它們削減了所支付的時候、金錢(和腦細胞)。指令及流程節制[編纂]
還有一種雷同的方式就是定名一組指令。
參照的中間思惟是必需有一種間接設計貯存空間的方式翻譯最多見的方式是通過定名變數翻譯憑據分歧的說話,進一步的參照可以包括指向其他貯存空間的指標。大多半程式設計說話利用宏呼喚、過程呼叫或函式呼喚。使用這些代替的名字能讓程式更靈動,並更具重用性。
有很多分歧的量測體式格局分歧程式語言利用的程度,分歧的量測體例也有其各自的誤差:參照機制和重用[編纂]
langpop.com在2013年收拾整頓了分歧網站的資料,提出十大最受迎接的說話以下:C說話、Java、PHP、JavaScript、C++、Python、Shell指令碼、Ruby、Objective-C及C♯.[12]。
|
|
|
|
- 法式設計說話
- 人工語言
- 較量爭論機手藝
利用程式的成長[編纂]
若某一程式說話的是目標是在某一利用軟體(如Unix shell)或其他命令列介面履行其他程式,此程式說話會稱為手稿語言翻譯
電腦程式說話多是以批次處理使命的體式格局執行,中央不需和利用者互動,也有多是由用戶在直譯器中指定執行特定的的程式。 程式語言不成文規定:特點[編纂]
某一種程式語言可能需要較多的時候進行開辟,另一種程式說話可能產生的程式碼較長,第三種程式說話可能在CPU中執行的時候較長。
很難去對照哪種程式說話的使用量最大,並且「利用量」一詞也很難定義。有些說話在特定的範疇仍十分受接待,例如COBOL在公司的資估中心仍相當常用,多半是在大型較量爭論機上履行[7][8],Fortran經常使用在科學及工程應用,C語言經常使用在嵌入式利用及功課系統中等。 透太低階程式說話或高階程式說話,將實體間接達成傳輸貫穿連接或節制實體翻譯
大多數說話還可以或許在內建的型態基礎上組合出複雜的資料佈局型態(利用陣列,列表,堆疊,檔案等等)翻譯物件導向語言(Object Oriented Language,又譯作「物件導向說話」)許可程式設計師界說新的資料型態,即物件(objects),和執行於該物件的函式(functions)和方式(methods)。 每種程式設計說話可以被看做是一套包括語法、辭彙和寄義的正式規範翻譯 常見的資料佈局: 今朝發明了很多的程式說話,程式說話本身可能點竄以相符新需求,或是和其他的程式說話連系利用,儘管人們屢次試圖締造可以符合所有需求的通用程式語言,但以「符合所有需求」的標準來看,這些測驗考試都失敗了翻譯實體的傳輸連結[編輯]
拜見[編纂]
參考文獻[編纂]
- ^ Ettinger翻譯社 James (2004) Jacquard's Web翻譯社 Oxford University Press
- ^ 說話系統簡介. .nuu.edu.tw. [2014-06-05].
- ^ C++說話閑談 (PDF). [2014-06-05].
- ^ MXL
- ^ HOPL: an interactive Roster of Programming Languages. Australia: Murdoch University. [1 June 2009].
This site lists 8512 languages.
- ^ Abelson翻譯社 Sussman, and Sussman. Structure and Interpretation of Computer Programs. [3 March 2009].
- ^ Georgina Swan. COBOL turns 50. computerworld.com.au. 2009-09-21 [2013-10-19].
- ^ Ed Airey. 7 Myths of COBOL Debunked. developer.com. 2012-05-03 [2013-10-19].
- ^ Nicholas Enticknap. SSL/Computer Weekly IT salary survey: finance boom drives IT job growth. Computerweekly.com. [2013-06-14].
- ^ Counting programming languages by book sales. Radar.oreilly.com. 2 August 2006 [3 December 2010].
- ^ Bieman, J.M.; Murdock, V.翻譯社 Finding code on the World Wide Web: a preliminary investigation翻譯社 Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation, 2001
- ^ Programming Language Popularity. langpop.com. 2013-10-25 [2014-01-02].
- ^ Steven R. Fischer翻譯社. A history of language,. Reaktion Books,. 2003,. ISBN 186189080X.
延伸閱讀[編輯]
- Abelson, Harold; Sussman, Gerald Jay. Structure and Interpretation of Computer Programs 2nd. MIT Press. 1996.
- Raphael Finkel: Advanced Programming Language Design翻譯社 Addison Wesley 1995.
- Daniel P. Friedman翻譯社 Mitchell Wand翻譯社 Christopher T. Haynes: Essentials of Programming Languages翻譯社 The MIT Press 2001.
- Maurizio Gabbrielli and Simone Martini: "Programming Languages: Principles and Paradigms", Springer, 2010.
- David Gelernter翻譯社 Suresh Jagannathan: Programming Linguistics, The MIT Press 1990.
- Ellis Horowitz (ed.): Programming Languages, a Grand Tour (3rd ed.), 1987.
- Ellis Horowitz: Fundamentals of Programming Languages, 1989.
- Shriram Krishnamurthi: Programming Languages: Application and Interpretation, online publication.
- Bruce J. MacLennan: Principles of Programming Languages: Design, Evaluation, and Implementation翻譯社 Oxford University Press 1999.
- John C. Mitchell: Concepts in Programming Languages, Cambridge University Press 2002.
- Benjamin C. Pierce: Types and Programming Languages翻譯社 The MIT Press 2002.
- Terrence W. Pratt and Marvin V. Zelkowitz: Programming Languages: Design and Implementation (4th ed.), Prentice Hall 2000.
- Peter H. Salus. Handbook of Programming Languages (4 vols.). Macmillan 1998.
- Ravi Sethi: Programming Languages: Concepts and Constructs, 2nd ed., Addison-Wesley 1996.
- Michael L. Scott: Programming Language Pragmatics, Morgan Kaufmann Publishers 2005.
- Robert W. Sebesta: Concepts of Programming Languages, 9th ed., Addison Wesley 2009.
- Franklyn Turbak and David Gifford with Mark Sheldon: Design Concepts in Programming Languages, The MIT Press 2009.
- Peter Van Roy and Seif Haridi. Concepts, Techniques, and Models of Computer Programming, The MIT Press 2004.
- David A. Watt. Programming Language Concepts and Paradigms. Prentice Hall 1990.
- David A. Watt and Muffy Thomas. Programming Language Syntax and Semantics. Prentice Hall 1991.
- David A. Watt. Programming Language Processors. Prentice Hall 1993.
- David A. Watt. Programming Language Design Concepts. John Wiley & Sons 2004.
外部保持[編纂]
- 開放式目次計劃中和Computer Programming Languages相幹的內容
- 開放式目次打算中和程式語言相幹的內容
- Syntax Patterns for Various Languages
- 電腦高階程式說話的發展歷程資訊圖
- 資料和資料結構
- 指令及流程節制
- 參照機制和重用
- 設計哲學
資料和資料構造[編輯]
也就是說,開辟時間已遠比執行時間名貴翻譯
幾十年後,電腦的價錢大幅度下跌,而電腦程式也愈來愈複雜。
量測各程式說話的利用量[編纂]
功能[編輯]
程式說話和其他人類利用的語言在精準度和完整性上有很大的差別翻譯
程式說話已跨越上千種,大部分用在計算範疇[5]。
但電腦分歧,電腦「只做被告知要做的事」,沒法理解程式設計者想要寫的程式。說話的定義、編程和編程輸入的組合需完全界說程式履行時的外部特征翻譯另一方面,演算法的概念可以透露表現為虛擬碼,是交叉有天然說話和程式碼的程式說話,和其他人溝通時利用,此時就不一定要那麼切確。 人們在用天然語言溝通時,內容可以不明白,甚至小的毛病,而聽的人仍然可能理講解的人想要說的內容。
高階說話的泛起使得電腦程式設計說話不再過度地依賴某種特定的機械或情況。這是因為高階說話在不同的平台上會被編譯成分歧的機械語言,而不是直接被機器履行。最早呈現的程式說話之一FORTRAN的一個首要目標,就是實現平台自力。
有很多用於特殊用處的說話,只在非凡環境下使用。一種電腦說話讓程式設計師可以或許準確地界說電腦所需要利用的資料,並正確地界說在不同情形下所該當採取的動作。程式語言(英語:programming language),是用來界說電腦程式的情勢說話翻譯它是一種被標準化的交流技巧,用來向電腦發出指令。 一旦資料被肯定,機器必需被告知若何對這些資料進行處置懲罰。較簡單的指令可使用關鍵字或界說好的語法佈局來完成翻譯分歧的說話利用序列系統來取得或組合這些語句。概論[編輯]
例如,PHP專門用來顯示網頁;Perl更合適文字處置懲罰;C說話被廣泛用於作業系統和編譯器的開辟(所謂的系統編程)翻譯[4]
程式說話常常使程式設計師可以或許比利用機械說話更準確地表達他們所想表達的目標翻譯對那些從事電腦科學的人來講,曉得程式設計說話是十分主要的,因為在當今所有的計算都需要程式設計說話才能完成。
若是程式代碼是在履行時才即時翻譯,那麼這類翻譯機制就被稱作直譯。經直譯的程式履行速度往往比編譯的程式慢,但常常更具天真性,因為它們能夠與履行環境互相感化。
歷史[編纂]
目錄
- 1 概論
- 2 特點
- 2.1 資料和資料佈局
- 2.2 指令及流程控制
- 2.3 參照機制和重用
- 3 功能
- 3.1 實體的傳輸貫穿連接
- 3.2 利用程式的成長
- 4 利用
- 4.1 量測各程式語言的利用量
- 5 歷史
- 6 拜見
- 7 參考文獻
- 8 延伸閱讀
- 9 外部保持
這些規範平日包括:
使用[編纂]
本篇文章引用自此: https://zh.wikipedia.org/wiki/%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88%E8%AA%9E%E8%A8%80有關翻譯的問題歡迎諮詢天成翻譯社
留言列表