科普必讀丨計算機編程的歷史演進:用 50 種程式語言告訴你!

2021-02-25 RoboEDU小旋風機器人

現在,無論是成年人還是孩子,學習編程都是非常HOT的,畢竟身處信息化爆炸的年代,這已然成為必備的社會技能,且將持續發展。

程式語言(programming language),是一種能夠控制計算機(或計算設備)的行為的人工語言。程式語言通過一套詞彙和語法規則,定義出結構和語義,用來向計算機(或計算設備)發出指令從而執行特定的任務。

很難去比較哪種程式語言的使用量最大,或者說哪種程式語言更受歡迎,因為某種程式語言可能是另外一種程式語言的編譯基礎,而且不同的場景下需要使用不同的程式語言。現在就讓我們來了解50 種不同的程式語言,看看計算機程式語言多年的歷史演進。

彙編語言本文中,為曾 Intel 8080 平臺的 8 位處理器編寫,這款處理器於 1974 年 4 月下旬發布。

Fortran 程式語言是 Formula Translation 的衍生版本。它是一種可編譯的通用命令式程式語言,特別適用於數值和科學計算。

Lisp 是最古老的程式語言家族,它既是命令式語言,又是函數式語言。Lisp 最初創建於 1958 年,當時是作為展示程序的實用模型發布的。在 20 世紀 70 年代和 80 年代,Lisp 家族成為人工智慧領域非常受歡迎的語言。

Cobol 是 COmmon Business Oriented Language 的縮寫,人們發明它是希望將其作為業務編程應用的通用語言。2019 年,Cobol 在銀行業和保險業中仍然應用廣泛。

BASIC是Beginner’s All-purpose Symbolic Instruction 的縮寫,是一種高級程式語言。這種語言的主要目標是容易使用。

Logo 語言很像 Lisp 語言,但更容易使用,這正是 Logo 被發明出來的原因,正如人們通常所認為的那樣,Logo 是「沒有圓括號的 Lisp 語言」。

B 語言現在已經被廢棄,但它曾扮演了一個重要角色,極大地促進了 C 語言的誕生,而現在 C 語言正被廣泛使用著。

Pascal 是一種命令式程式語言,它是為教學而設計的,其特點是語法清晰、嚴謹,有助於生成良好的程序結構。

Turbo Pascal 創建於 1983 年,是為 Pascal 程式語言打造的集成開發環境。Turbo Pascal 在 20 世紀 80 年代和 90 年代取得巨大成功。

Forth 是一種基於命令式堆棧的計算機程式語言,由 Charles H. Moore 在 20 世紀 60 年代創建,但它的第一個主要版本是在 1970 年發布的。這門語言在 1994 年被 ANSI 標準化,並且在 1997 年被 ISO 採用,2014 年它甚至迎來了一個新版本,也就是 Forth 2012。

貝爾實驗室的 Dennis Ritchie 和 Ken Thompson 在 1972 年開發 UNIX 時發明了 C 程式語言。Ken Thompson 之前已經發明了 B 語言。Dennis Ritchie 受到了 B 語言的啟發,決定發明一種新的語言,即 C 語言,在其中引入了類型概念。

Smalltalk 是一種面向對象的,具有反身性和動態類型的程式語言。當時主要是受到 Lisp 語言的啟發。Smalltalk 是最早一批具有集成開發環境的程式語言之一。

Prolog 是一種與人工智慧和計算語言學相關的邏輯程式語言。

ML 是 Meta Language 的縮寫,它是基於 Lisp 的函數式程式語言。ML 通常被認為是帶有類型的 Lisp 語言。

Scheme 創建於 1975 年,它是一種支持函數式和命令式的多範式程式語言。它是 Lisp 語言的 3 大變種之一,另外兩個變種 Common Lisp 和 Clojure 的誕生要晚得多。

SQL 是 Structured Query Language 的縮寫,它是操作關係型資料庫的標準化計算機語言。

C++ 和 C 語言同名,但是包含了 class(類)這個概念。C++ 語言正式命名為 C++ 是在 1983 年。

Ada 是一種面向對象的程式語言,從 20 世紀 80 年代早期開始開發,並於 1983 年發布正式版本,即 Ada 1983。「Ada」這個名字用來紀念 Ada Lovelace,她被認為很大可能是歷史上第一位女性計算機科學家。

Ada 通常用於實時系統和嵌入式系統,這些系統要求高度的可靠性和安全性。

Common Lisp 通常簡寫為 CL,是由 ANSI 標準化了的 Lisp 語言規範。

MATLAB 是「Matrix Laboratory」的縮寫,它是一種腳本語言,用於數值計算。MATLAB 在同名的開發環境中編寫。

Eiffel 是一種圍繞一種設計方法而設計的面向對象程式語言。Eiffel 基於當今非常流行的概念,如契約編程或重用等。

Objective-C 是一種反身式的面向對象程式語言。它是 C 程式語言的擴展,就像 C++ 一樣,但是和 C++ 又不一樣,特別是在動態消息分發或者動態加載方面與 C++ 很不一樣。

目前,它主要用於蘋果作業系統macOS 及其衍生的 iOS 系統中。

Erlang 這種程式語言支持多種範式:並發、實時和分布式。它獨具特色的層是基於參與者(actor)模型的,具有容錯和熱代碼更新功能,允許開發具有極高可用性的應用程式。

Perl 程式語言,是為更容易地處理基於文本的信息而創建的。Perl 是一種解釋性語言,它受到了 C 語言的控制結構和列印結構的啟發,同時也受到了 shell 腳本語言的啟發。

Caml 是 Categorical Abstract Machine Language 的縮寫,它是一種面向程序安全性和可靠性的通用程式語言。Caml 支持函數式、命令式和面向對象的編程風格。

Tcl 是 Tool Command Language 的縮寫,它是一種腳本語言。這種動態類型語言是跨平臺的、可擴展的、易於學習的,並且基於 12 條語法規則。Tcl 很容易與 C 程式語言交互。

Haskell 是一種函數式的程式語言,它基於 lambda 計算和組合邏輯。

Python 是一種解釋性程式語言,具有多範式、多平臺的特點。Python 支持結構化、函數式和面向對象的命令式編程。

近年, Python 非常流行,甚至在 2019 年成為最受歡迎的語言之一。

Visual Basic,簡稱為 VB,它是第三代事件程式語言,也是微軟創建的集成開發環境,用於其 COM 編程模型。

Lua 是一種反身式、命令式腳本語言,用於嵌入在其他應用程式中來擴展這些應用程式的功能。

由於對 Smalltalk 和 Lisp 的開發經歷感到失望,Yukihiro Matsumoto 於 1993 年開始用 Emacs 設計 Ruby 語言。

他在 1995 年發布了該語言的第一個版本。Ruby 是一種解釋性的、面向對象的多範式語言。

Java 是 一種面向對象的程式語言,它至今仍然是工業界最受歡迎和使用最多的語言。

你能夠使用 Java 做任何事情,從客戶端到 Web 應用無所不包;而且 Google 選擇 Java,用在 Android 作業系統上作為開發應用程式的語言,這又進一步擴展了 Java 能力。

JavaScript 是一種腳本語言,主要用於 Web 開發,但現在可以用於服務端,比如 Node.js。JavaScript 是面向原型的程式語言,這種語言裡的函數是第一類對象。

PHP 主要用於 Web,它是一種面向對象的命令式語言,能夠像其他任何解釋性語言一樣在本地運行。

Rebol 是一種高級腳本程式語言,建立在指代語義的基礎上,自稱為「消息傳遞語言」。

ActionScript 這種程式語言,可用於客戶端應用程式(例如 Adobe Flash 和 Adobe Flex)和伺服器(Flash 媒體伺服器,JRun 和 Macromedia Generator)。ActionScript 現在作為一種腳本語言,用於 Unity 圖形引擎之中。

D 是一種命令式、面向對象的多範式程式語言,用於系統編程。D 的發明受到許多語言的啟發,包括 C++、Java 和 Eiffel。儘管 D 語言有很多優點,但是它從未獲得其發明者所期望的成功。

C# 是微軟於 2000 年與 Sun 就 Java 語言發生爭執後創建的。C# 是一種面向對象的程式語言,用於 Microsoft.Net 平臺上的開發工作,該語言派生自 C++ 和 Java。

Groovy 是一種面向對象的程式語言,運行在 Java 平臺上。Groovy 是這個平臺的 Java 語言的替代品,受到了 Python 、 Ruby 或者是 Smalltalk 語言的啟發。

Scala 是一種多範式程式語言,被設計用於簡潔優雅地表示通用編程模型。Scala 採用靜態類型,集成了面向對象和函數式編程範式。

F# 是一種函數式、命令式和面向對象的程式語言,由微軟為其.NET 平臺而開發。F# 從 OCaml 程式語言衍生而來,而且與 OCaml 具有高度兼容性。這兩種程式語言與 ML 語言屬於同一種語系。

Windows PowerShell - 2006 年

Windows PowersShell 是由微軟開發的一套軟體,它包含了命令行接口、一種稱作 PowerShell 的腳本語言和一個開發包。從 Window 7 開始,PowerShell 就作為微軟作業系統的標配。

Clojure 是一種可編譯的、跨平臺的函數式程式語言,用於創建安全的和易分布式運行的程序。Clojure 是 Lisp 語言的 3 大變種之一。Clojure 可通過轉換,在 JVM、CLR、瀏覽器和 Node.js 上使用。

Go 是一種可編譯的、並髮式程式語言,受到了 C 和 Pascal 語言的啟發而發明的。這種語言是由谷歌開發的,它是從 Robert Griesemer、Rob Pike 和 Ken Thompson 最初提出的概念發展而來的。

Rust 是由 Mozilla 開發的一種多範式、可編譯的程式語言。Rust 被設計成為「安全的、並發的、實用的語言」,同時在某些方面支持純函數式編程風格、參與者模型、過程式編程以及面向對象編程。Rust 通常被描述為 C++ 的潛在繼承者之一。

art 是谷歌開發的一種 Web 程式語言。它最初的目的是要替換 JavaScript。目前,Dart 還沒有達到它的目標,開發人員更喜歡將 Dart 轉換成與現代所有瀏覽器兼容的 JavaScript 代碼,Dart 還可以用於服務端編程。

Kotlin 是一種面向對象的、函數式程式語言,它具有靜態類型,允許針對 Java 虛擬機、JavaScript 和本地的多種平臺進行編譯(多虧了 LLVM)。2017 年,谷歌繼 Java 之後,把 Kotlin 作為 Android 官方支持的第二種程式語言。

Ceylon 是由Red Hat創建出來的,它是一種高級開源程式語言,具有強類型和靜態類型。它的語法和 Java 的很像。它能編譯為 Java 字節碼或者 JavaScript。

TypeScript 是由微軟開發的免費開源的程式語言,旨在提升 JavaScript 代碼的開發效率,保證 JavaScript 代碼的安全性。TypeScript 語言是 JavaScript 的一個超集,被轉換成 JavaScript,這樣任何 Web 瀏覽器或 JavaScript 引擎都可以解釋它。

Julia 是一種高級的、強大的和動態的程式語言,用於科學計算,熟悉其他開發環境(如 MATLAB、R 或者 Python)的用戶應該很了解 Julia 的語法。

Swift 是一種可編譯的、多範式的對象程式語言,其設計目標是簡單、高性能和安全。它是由蘋果公司開發的開源項目,這使得它與 Objective-C 一起成為了開發移動 iOS 應用程式的解決方案。

相關焦點

  • 計算機編程的歷史演進:用 50 種程式語言寫「Hello,World!」程序
    甚至還出現了一種衡量標準,叫做 TTHW,用於評估程式設計師用新的程式語言實現一段「Hello, World!」程序並成功運行所花費的時間 。但現在,如果我問你,你可以用多少種不同的程式語言編寫「Hello,World!」,你會給出怎樣的回答?為幫你回憶起來,我會向你展示怎樣用 50 種不同的程式語言編寫「Hello,World!」程序。
  • 用 50 種程式語言寫「Hello,World!」程序
    在成長中,程式設計師通常會使用多種程式語言,大部分程式設計師甚至實現過十幾種」Hello,World!」版本。甚至還出現了一種衡量標準,叫做 TTHW,用於評估程式設計師用新的程式語言實現一段「Hello, World!」程序並成功運行所花費的時間 。
  • 用 50 種程式語言寫「Hello,World!」
    甚至還出現了一種衡量標準,叫做 TTHW,用於評估程式設計師用新的程式語言實現一段「Hello, World!」程序並成功運行所花費的時間 。但現在,如果我問你,你可以用多少種不同的程式語言編寫「Hello,World!」,你會給出怎樣的回答?為幫你回憶起來,我會向你展示怎樣用 50 種不同的程式語言編寫「Hello,World!」程序。
  • 計算機程式語言
    它是計算機的設計者通過計算機的硬體結構賦予計算機的操作功能,比如彙編語言(assembly language)。機器語言具有靈活、直接執行和速度快等特點。高級語言比較容易識記和理解,像C B語言等。語言分類編輯機器語言用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。
  • 什麼是計算機編程?
    國外的一位前端開發工程師寫了一篇科普介紹的文章,發布在 freeCodeCamp 專欄(https://www.freecodecamp.org/news/),帶大家認識什麼是計算機編程,什麼是軟體開發。文章很不錯,一起編程將它翻譯成中文,希望更多人讀到,從而有勇氣跨入編程的大門!
  • 50 種不同程式語言的「Hello World」,你知多少?
    通常程式設計師會使用多種程式語言,多的甚至實現了十幾種。還有一種稱為TTHW(Time to 「Hello, World!」)的方法,來衡量程式設計師創建一個新的「Hello, World!」程序的時間。你可以用多少種不同的語言編寫一個「Hello, World!」程序,你的答案是什麼?讓我們在計算機編程的世界裡回顧一翻。
  • 簡談計算機和程式語言的發展史
    對計算機講機器語言太麻煩了,還容易出錯,萬一多輸入了一個0或者少輸入了一個1,那意思可能完全變了。研究計算機的前輩大牛們覺的機器語言太不好用了,也不知道折騰了多久,搗鼓出了彙編語言。如果用彙編語言對計算機說,把11和22進行相加,那就容易多了。
  • 程式語言中分號「;」的簡明歷史
    原文:https://medium.com/better-programming/a-brief-history-of-the-8efda9dde2b8翻譯:前端外文精選在本文中,我將簡要介紹在計算機程式語言中使用分號(許多計算機科學入門學生的禍根)的歷史。
  • 計算機程式語言的發展簡史,人工智慧與雲計算程式語言!
    學習一兩門計算機程式語言也如當初學習英文一樣的火熱,隨著人工智慧AI和雲計算的不斷發展,Python語言和Scala語言已經成為這兩個領域裡面最為火熱的程式語言了,可以預知未來學習計算機程式語言的人也一樣會如同學習英文一樣的成為一種新常態,並且成為一種穩定的常態。以下筆者將以自己的學習認知,簡單的闡述一下計算機程式語言的發展。
  • 編程高手必須會的5種程式語言,進來看看你會幾種?
    導讀:編程高手必須會的5種程式語言,進來看看你會幾種?其實小編覺得學習程式語言之前,首先要搞清楚「程式語言」這個概念。給大家舉個例子,很小的時候,父母就教我們開口說話,也教我們如何理解別人講話的意思。同樣,我們也可以通過」語言「來控制計算機,讓計算機為我們做事情,這樣的語言就叫做程式語言。程式語言也有固定的格式和詞彙,我們必須經過學習才會使用,才能控制計算機。那麼我們今天就來介紹其中的五種語言,小夥伴們隨著小編一起來看吧!
  • 如何快速學習計算機程式語言
    如何快速學習計算機程式語言呢?這是很多零基礎同學想要知道的答案。隨著網際網路的飛速發展,程式設計師的工資越來越高,很多人想加入程式設計師的隊列,想要快速掌握編程技術。那麼應該如何快速學習計算機程式語言呢?1、首先應該知道自己為什麼學習計算機程式語言,如果只是盲目的追求高薪,對電腦程式沒有濃厚的興趣,那麼零基礎想要快速學習計算機程式語言是非常困難的。想計算機程式語言,應該擁有濃厚的興趣,再加上堅持不懈的精神,這樣才能更快地學習程式語言。
  • PLC編程的5種程式語言介紹
    PLC的軟體程式語言與一般計算機語言相比,具有明顯的特點,它既不同於高級語言,也不同於一般的彙編語言
  • 少兒編程僅僅是學一種計算機語言嗎?極客晨星告訴你遠不止這些
    少兒編程僅僅是學一種計算機語言嗎?極客晨星告訴你遠不止這些   賈伯斯曾說過:「人人都應該學習一門計算機語言,因為它將教會你如何思考」。
  • 2017年最流行的10種計算機程式語言
    年輕人學習程式語言的熱情是比較高的,所以這個問題在學習計算機科學或者其他程式語言相關專業的同學們中比較常見。
  • 程式語言發展70年,50種不同語言輸出「Hello World」,你知多少?
    大半個世紀以來,不斷出現的程式語言為開發者解決了哪些難題?其存在又有怎樣的特性?本文將以「Hello World」為例,來呈現50種程式語言。當我們學習一門程式語言時,都是從「HELLO,WORLD!」開始。所有程式設計師在其職業生涯中,都至少接觸過一個經典的「HELLO,WORLD!」程序。通常程式設計師會使用多種程式語言,多的甚至實現了十幾種。
  • plc程式語言有幾種?plc常用的程式語言
    正如新手剛開始接觸PLC,它的軟體程式語言與一般計算機語言相比,具有明顯的特點,它既不同於高級語言,也不同於一般的彙編語言,它既要滿足易於編寫又要滿足易於調試的要求。早期的PLC僅支持梯形圖程式語言和指令表程式語言,現根據國際電工委員會制定PLC編程支持的語言包括以下五種:梯形圖Delete(LD)、指令表Delete(IL)、功能模塊圖Delete(FBD)、順序功能流程圖Delete(SFC)及結構化文本Delete(ST)。
  • 【世界上最全的程式語言大集合】計算機各程式語言介紹
    一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的數據,並精確地定義在不同情況下所應當採取的行動。最早的程式語言是在電腦發明之後產生的,當時是用來控制提花織布機及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的程式語言,而且每年仍有新的程式語言誕生。很多程式語言需要用指令方式說明計算的程序,而有些程式語言則屬於聲明式編程,說明需要的結果,而不說明如何計算。程式語言的描述一般可以分為語法及語義。語
  • 學習計算機程式語言最好的方法是什麼?
    你一定可以找到自己的學習方式,別人的經驗,不一定適合你。唯一可以肯定的是:學習程式語言,學習技術,一定要多練習,練習,練習,再練習,沒有代碼量,一切都是扯淡。那麼,問題來了,怎麼才能找到適合自己的方式呢?想想你中學怎麼學習的、大學怎麼學習的、空閒時間感興趣的東西怎麼學習的,分析這些過往的學習經歷,有助於你找到自己的學習方式。
  • stm32用什麼語言編程
    打開APP stm32用什麼語言編程 發表於 2017-10-10 16:50:53 它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的數據,並精確地定義在不同情況下所應當採取的行動。   程式語言俗稱「計算機語言」,種類非常的多,總的來說可以分成機器語言、彙編語言、高級語言三大類。
  • 1949-2019,70 年 50 種不同程式語言的「Hello World」大盤點!
    本文將以「Hello World」為例,花樣呈現 50 種程式語言。通常程式設計師會使用多種程式語言,多的甚至實現了十幾種。還有一種稱為TTHW(Time to 「Hello, World!」)的方法,來衡量程式設計師創建一個新的「Hello, World!」程序的時間。你可以用多少種不同的語言編寫一個「Hello, World!」程序,你的答案是什麼?讓我們在計算機編程的世界裡回顧一翻。