close

翻譯社之所以有那麼多種分歧的程式語言存在的原因是,編寫程式的初志其實也各不相同;新手與老手之間手藝的差距非常大,並且有許多語言對新手來講太難學;還有,不同程式之間的執行本錢(runtime cost)各不溝通。

目前發現了很多的程式說話,程式說話自己可能點竄以契合新需求,或是和其他的程式說話連系使用,儘管人們屢次試圖締造可以符合所有需求的通用程式說話,但以「符合所有需求」的標準來看,這些測驗考試都失敗了[起原請求]

一旦資料被肯定,機器必需被見告如何對這些資料進行處置。較簡單的指令可使用關鍵字或界說好的語法佈局來完成翻譯不同的說話操縱序列系統來獲得或組合這些語句。除此以外,一個語言中的其他指令也能夠用來節制處理的進程(例如分支、迴圈等)。 也就是說,開發時候已遠比執行時間寶貴。

幾十年後,電腦的價錢大幅度下跌,而電腦程式也越來越複雜。

但電腦不同,電腦「只做被奉告要做的事」,沒法理解程式設計者想要寫的程式。語言的界說、編程以及編程輸入的組合需完整界說程式履行時的外部特征。另外一方面,演算法的概念可以示意為虛擬碼,是交錯有天然語言和程式碼的程式說話,和其他人溝通時利用,此時就紛歧定要那麼正確。

人們在用天然說話溝通時,內容可以不明白,乃至小的錯誤,而聽的人依然可能理解說的人想要說的內容。

特點[編輯]

拜見[編輯]

參考文獻[編纂]

  1. ^ Ettinger翻譯社 James (2004) Jacquard's Web翻譯社 Oxford University Press
  2. ^ 說話系統簡介. .nuu.edu.tw. [2014-06-05]. 
  3. ^ C++語言漫談 (PDF). [2014-06-05]. 
  4. ^ MXL
  5. ^ HOPL: an interactive Roster of Programming Languages. Australia: Murdoch University. [1 June 2009]. This site lists 8512 languages. 
  6. ^ Abelson翻譯社 Sussman, and Sussman. Structure and Interpretation of Computer Programs. [3 March 2009]. 
  7. ^ Georgina Swan. COBOL turns 50. computerworld.com.au. 2009-09-21 [2013-10-19]. 
  8. ^ Ed Airey. 7 Myths of COBOL Debunked. developer.com. 2012-05-03 [2013-10-19]. 
  9. ^ Nicholas Enticknap. SSL/Computer Weekly IT salary survey: finance boom drives IT job growth. Computerweekly.com. [2013-06-14]. 
  10. ^ Counting programming languages by book sales. Radar.oreilly.com. 2 August 2006 [3 December 2010]. 
  11. ^ 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
  12. ^ Programming Language Popularity. langpop.com. 2013-10-25 [2014-01-02]. 
  13. ^ 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
  • 電腦高階程式說話的成長歷程資訊圖

高階程式語言可成長多功能的運用程式軟體,如:作業系統、工程計算機軟體、轉檔軟體、燒錄軟體、播放軟體、網頁設計…等翻譯

指令及流程節制[編纂]

對那些從事電腦科學的人來說,懂得程式設計說話是十分重要的,因為在現今所有的較量爭論都需要程式設計說話才能完成。

程式說話常常使程式設計師可以或許比利用機械說話更準確地表達他們所想表達的目標。

說話可以被分為靜態型態系統(statically typed systems),例如C++和Java,和動態型態系統(dynamically typed systems),例如Lisp,JavaScript,Tcl和Prolog。

一個程式中專門處置資料的那個系統被稱為程式語言的型態系統(type system);對型態系統的研究和設計被稱為型態理論(type theory)。前者可被進一步分為包括宣佈型態(manifest type)的說話,即每個變數和函式的型態都清晰地宣佈,或type-inferred說話(例如MUMPS,ML)。

每種程式設計說話可以被看作是一套包括語法、詞彙和寄義的正式規範。

參照機制和重用[編輯]

若是程式代碼是在履行時才即時翻譯,那麼這種翻譯機制就被稱作直譯。經直譯的程式履行速度常常比編譯的程式慢,但往往更具靈動性,因為它們可以或許與履行情況相互作用翻譯

目錄

  • 1 概論
  • 2 特點
    • 2.1 資料和資料佈局
    • 2.2 指令及流程節制
    • 2.3 參照機制和重用
  • 3 功能
    • 3.1 實體的傳輸連結
    • 3.2 應用程式的發展
  • 4 利用
    • 4.1 量測各程式說話的使用量
  • 5 歷史
  • 6 參見
  • 7 參考文獻
  • 8 延長浏覽
  • 9 外部連結


功能[編纂]

利用[編纂]

程式設計者操縱程式說話供給的抽象化來默示計算的相關概念,這些概念則是由很多最簡單位素(稱為說話基元英語language primitive)的鸠合所構成[6]翻譯程式設計就是指行使說話基元來撰寫新的程式,或是將舊程式改寫,配合新的應用或是新的環境。

程式說話供應界說片斷資料的構造化機制,以及在資猜中需主動進行的運算或是轉換。

大多數被普遍利用或經久不衰的說話,具有負責標準化的組織,經常接見會面來創造及發布該說話的正式定義,並接洽擴充功能或貫徹現有的界說。

有很多用於非凡用處的說話,只在特殊情形下利用。例如,PHP專門用來顯示網頁;Perl更合適文字處置;C說話被普遍用於作業系統和編譯器的開辟(所謂的系統編程)翻譯[4]

一種電腦說話讓程式設計師能夠準確地界說電腦所需要利用的資料,並正確地界說在不同環境下所該當採取的動作。程式說話(英語:programming language),是用來界說電腦程式的形式說話翻譯它是一種被標準化的交換技能,用來向電腦發出指令。 有些說話在特定的領域仍十分受迎接,例如COBOL在公司的資猜中心仍相當常用,多半是在大型較量爭論機上履行[7][8]Fortran經常使用在科學及工程利用,C語言經常使用在嵌入式運用及功課系統中等翻譯

某一種程式語言可能需要較多的時間進行開辟,另一種程式說話可能產生的程式碼較長,第三種程式語言可能在CPU中履行的時候較長。

很難去對照哪種程式語言的利用量最大,並且「使用量」一詞也很難界說。

  • 資料和資料佈局
  • 指令及流程節制
  • 參照機制和重用
  • 設計哲學

程式語言原本是被設計成專門利用在電腦上的,但它們也能夠用來定義演算法或資料結構翻譯正是因為如斯,程式設計師才會試圖使程式代碼更輕易浏覽翻譯

固然大多半的語言既可被編譯又可被解譯,但大多半僅在一種情況下可以或許優越履行。這類經常使用的使用技巧最早在1960年月末用於BCPL,編譯程式先編譯一個叫做「0代碼」的轉換程式(representation),然後再使用虛擬器轉換到可以執行於機器上的真實代碼。在一些編程系統中,程式要經過幾個階段的編譯,一般而言,後階段的編譯常常更接近機械語言。

這類成功的技巧以後又用於Pascal和P-code,和Smalltalk和二進位碼,在很多時辰,中央過渡的代碼常常是解譯,而不是編譯的。

透太低階程式說話或高階程式說話,將實體間接告竣傳輸連結或節制實體翻譯

量測各程式語言的利用量[編纂]

電腦程式語言多是以批次處理任務的體例履行,中央不需和使用者互動,也有多是由用戶在直譯器中指定執行特定的的程式翻譯若某一程式語言的是目標是在某一應用軟體(如Unix shell)或其他命令列介面執行其他程式,此程式說話會稱為手稿說話。

大大都說話還可以或許在內建的型態基礎上組合出複雜的資料構造型態(利用陣列,列表,堆疊,檔案等等)。物件導向說話(Object Oriented Language,又譯作「物件導向說話」)答應程式設計師定義新的資料型態,即物件(objects),和執行於該物件的函式(functions)和方法(methods翻譯

高階說話的呈現使得電腦程式設計語言不再過度地依賴某種特定的機械或環境。這是因為高階語言在分歧的平台上會被編譯成分歧的機器說話,而不是直接被機器執行。最早呈現的程式說話之一FORTRAN的一個首要目標,就是實現平台自力翻譯

功能性的說話一般允許變數直接使用履行時計較出的值,而不是指出該值可能貯存的記憶體位址。

除什麽時候和如何肯定運算式和型態的聯繫,另外一個主要的問題就是說話到底定義了哪些型態,和答應哪些型態作為運算式的值翻譯諸如C程式說話之類的低端說話允許程式定名記憶體位置、記憶體區域和編譯時的常量;ANSI C乃至允許運算式返回構造值(struct values)。

有很多不同的量測方式分歧程式說話利用的水平,不同的量測體式格局也有其各自的誤差:

實體的傳輸保持[編輯]

歷史[編輯]

現實世界中代表資訊的各類資料,例如名字、銀行帳號、器度以及同樣低真個二後設資料,都經過程式設計說話清算,成為高真個概念。

現代電腦內部的資料都只以二元體式格局貯存,即開-關模式(on-off)。

程式說話不成文規定:

參照的中間思想是必需有一種間接設計儲存空間的方式。使用這些代替的名字能讓程式更矯捷,並更具重用性。

大大都程式設計說話利用宏呼叫、進程呼喚或函式呼喚。最多見的方式是經由過程定名變數翻譯按照不同的語言,進一步的參照可以包孕指向其他貯存空間的指標翻譯還有一種近似的方法就是定名一組指令。

常見的資料結構:

這也得益於可以重用的程式代碼庫[13]

於是,新的整合、可視的開辟情況愈來愈風行。它們減少了所付出的時間、金錢(和腦細胞)翻譯只要輕敲幾個鍵,一整段代碼就能夠利用了。

1940年月當電腦剛剛問世的時刻,程式設計師必須手動節制電腦翻譯那時的電腦十分昂貴,獨一想到操縱程式設計說話來解決問題的人是德國工程師康拉德·楚澤。

良多編程說話需要用指令體例申明較量爭論的程式,而有些編程語言則屬於宣佈式編程,申明需要的後果,而不說明如何計較。

最早的程式說話是在電腦發明之前產生的,那時是用來節制提花織布機英語Jacquard loom主動演奏鋼琴的動作[1]。在電腦範疇已發現了上千分歧的編程語言,並且每一年仍有新的編程說話降生。

有些說話是用規格檔案界說,例如C說話的規格檔案也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011[3],而其他語言(像Perl)有一份主要的程式說話實現英語Programming language implementation檔案,視為是參考實現英語reference implementation

程式說話的描寫一般可以分為語法英語Syntax (programming languages)及語義翻譯語法是申明程式設計語言中,哪些符號或文字的組合體式格局是正確的,語義則是對於編程的解釋[2]

這些規範平常包括:

程式說話可透過機械、電腦來達成與完成人類需求的演算、功能與目的。

若是所使用的翻譯的機制是將所要翻譯的程式代碼作為一個整體翻譯,並以後履行內部格式,那麼這個翻譯進程就被成為編譯翻譯是以,一個編譯器是一個將人可浏覽的程式文字(叫做原始碼)作為輸入的資料,然後輸出履行檔(object code翻譯所輸出的執行檔可所以機械語言,由電腦的中心處置器直接履行,或者是某種模擬器的二進位代碼。

  • 計較傳授或描寫各程式語言冊本賣出的數目[10]翻譯
  • 佔計各程式說話今朝仍在利用程式碼的長度,不外可能會低估一些公開搜尋不輕易找到的程式說話[11]
    • 計算徵才廣告中提到各程式說話的次數[9]
    • 哄騙搜尋引擎計算找到分歧程式說話的次數。

    資料和資料結構[編輯]

    程式說話已超過上千種,大部分用在較量爭論範疇[5]翻譯 程式說話和其他人類利用的說話在精準度和完全性上有很大的差異。

    概論[編纂]

    利用程式的發展[編纂]

    langpop.com在2013年清算了分歧網站的資料,提出十大最受接待的語言如下:C說話、Java、PHP、JavaScript、C++、Python、Shell指令碼、Ruby、Objective-C及C♯.[12]翻譯



    文章來自: https://zh.wikipedia.org/wiki/%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88%E8%AA%9E%E8%A8%80有關翻譯的問題歡迎諮詢天成翻譯社
  • arrow
    arrow
      創作者介紹
      創作者 lawsonp736m7 的頭像
      lawsonp736m7

      這裡是和天成翻譯有關的地盤,歡迎到訪我的BLOG!

      lawsonp736m7 發表在 痞客邦 留言(0) 人氣()