計算機程式語言的發展簡史,人工智慧與雲計算程式語言!

2020-12-04 專注物聯網知識

引言

在如今信息發達的時代,科技日新月異,計算機和Internet網絡的發展也成為人們日常生活的重要部分。學習一兩門計算機程式語言也如當初學習英文一樣的火熱,隨著人工智慧AI和雲計算的不斷發展,Python語言和Scala語言已經成為這兩個領域裡面最為火熱的程式語言了,可以預知未來學習計算機程式語言的人也一樣會如同學習英文一樣的成為一種新常態,並且成為一種穩定的常態。以下筆者將以自己的學習認知,簡單的闡述一下計算機程式語言的發展。

@雲主宰蒼穹—計算機程式語言發展

程式語言簡介

計算機語言,英文名Computer Language,或者Programming Language,指的是人與計算機進行交互的一種語言,就如我們學習外語一樣的,只是一種形式工具,主要與計算機交流的是我們的思想,將我們自己的思想以計算機能識別的語言賦予他,就形成了程序。

而實現我們的思想的一系列的問題的就是向計算機發送指令,對於通信的雙方而言,指令的格式,組成字符,數字數據,語法等一系列的標準就很重要了,而我們學習的就是這一系列的標準,從而能將自己的思想賦予計算機,讓計算機能智能化、自動化的為我們服務。隨著這一思想的不斷演化發展,就逐步形成了一種新的語言,即就是計算機語言!

1946年,於賓夕法尼亞大學,莫克利(JohnW.Mauchly)和艾克特(J.PresperEckert)發明了世界上第一臺通用計算機,命名為「ENIAC」。那時候程式設計師必須手動控制計算機,當時唯一想到利用程序設計語言來解決問題的人是德國工程師楚澤(konradzuse)。

@雲主宰蒼穹—人工智慧AI

計算機語言發展簡史

計算機是一系列的硬體構成的能完成強大功能的一個結合體,他唯一能夠識別的就是邏輯運算,即0和1,所以最初的計算機交互語言是以二進位的機器語言,由於太難理解與記憶,人們就定義了一系列的助記符幫助理解與記憶,就逐漸產生了彙編語言,但是彙編還是不好理解與記憶,就逐漸發展了高級語言。隨著C、Fortran等結構化高級語言的誕生,使程式設計師可以離開機器層次,通過更加抽象的層次來表達自己的思想,同時也誕生的三種重要控制結構,即就是順序結構、選擇結構、循環結構,以及一些基本數據類型都能夠很好的讓程式設計師以接近問題本質的方式去描述、抽象問題。但隨著需要處理的問題規模的不斷擴大,一般的程序設計模型無法克服錯誤隨著代碼的擴大而級數般的擴大,這個時候就出現了一種新的思考程序設計方式和程序設計模型,即就是面向對象程序設計,同時也誕生了一批支持這種設計模型的計算機語言,例如C++、Java、Python等。

簡而言之,計算機語言從最初的機器語言(二進位),發展到使用助記符的彙編語言,再到更易理解的高級語言,包括C、C++、Java、C#、Python等等。電腦程式的設計模型從結構化的編程,再到面向對象的編程。當然計算機只能識別二進位語言,那麼很明顯在其他計算機語言與機器語言之間就有著一個橋梁,起著翻譯一樣的功能,使得通信雙方能夠交流,而這個翻譯官就是編譯器。而由於編譯的原理不一樣,我們將計算機語言分為編譯性語言(例如C、C++)和解釋性語言(Shell、Python)。

@雲主宰蒼穹—常用計算機程式語言

第一代計算機程式語言

第一代的計算機語言就是機器語言,即就是0\1組成的代碼,人們通過0\1與計算機進行交互與數據交換,這樣的編程實在是太難,對於大多數人來說都是十分的困難的,隨著其時間的發展,就逐步演化了第二代計算機語言。不過這是計算機的基礎,因為計算機硬體只能識別0\1的二進位,無論後面的計算機語言如何發展,最總在計算機內能夠執行的只能是0\1的二進位編碼,故而後面所有的計算機語言都需要一個翻譯的東西,將其翻譯為二進位的編碼執行,這個起著翻譯官作用的就是編譯器!

第二代計算機程式語言

由於第一代計算機語言的學習難度係數極高,就發展出使用一些助記符來幫助人們編程,這就是第二代程式語言——彙編語言,使人們與計算機進行交流溝通時便捷一些,人們學習編程起來也比較容易,這種使用英文助記符來幫助人們進行編程,再由編譯器翻譯為0\1的代碼,這樣計算機就能識別了。但是隨著信息技術的不斷發展,彙編語言已經不能夠滿足大部分人們的需求,就催生了第三代計算機程式語言。

@雲主宰蒼穹—雲計算

第三代計算機程式語言

所謂的第三代計算機程式語言,就是大家經常熟知的一些程式語言。而對於計算機高級語言的發展分為兩個階段,以 1980 年為分界線,前一階段屬於結構化語言或者稱為面向過程的語言,後一階段屬於面向對象的語言。

然而對於什麼叫面向過程,什麼叫面向對象?這是很難解釋的一個問題,故而暫時不需要深入理解,簡單來說就是編程時的兩種設計思想。

面向過程語言中最經典、最重要的就是C語言。Fortran、Basic 和 Pascal 語言基本上已經很少有人使用了。但是C語言一直在用,因為C語言是計算機領域最重要的一門語言,其在liunx編程和嵌入式編程有極大的地位。但是C語言也有缺陷,它的缺陷只有在學完面向對象語言之後才能體會到。

故而從 20 世紀 80 年代開始又產生了另外一種「以面向對象」為思想的語言,其中最重要、最複雜的就是 C++。C++ 從易用性和安全性兩個方面對C語言進行了升級。C++ 是一種較複雜、難學的語言,但是一旦學會了則非常有用。因為 C++ 太複雜,所以後來就對 C++ 進行了改裝,產生了兩種語言,一個是 Java,另一個是 C#。Java 語言是現在最流行的語言之一。C# 則是微軟公司看 Java 很流行而寫的一個與 Java 語法相似的語言。因為 Java 和 C# 幾乎是一模一樣的,所以你只需要學習其中的一種語言就可以了。

同時隨著近年來的人工智慧和雲計算的火熱發展,Python語言和Scala語言成為人工智慧和雲計算Hadoop框架的重要程式語言,逐漸成為時代的主流程式語言。在計算機的領域裡,還有一些專用的計算機程式語言,不如網頁設計的三要素:HTML、CSS和JavaScript ,這三者就是專用的計算機程式語言。

@雲主宰蒼穹—Hadoop生態圈

相關焦點

  • 最適合兒童的程式語言 - Python
    Python就是一門程式語言。什麼叫程式語言?我們知道我們經常用的電腦,裡面裝的作業系統,軟體,以及我們使用的手機,裡面裝的各種應用,還有生活中的智能電視,智能手錶,掃地機器人等等裡面其實最基礎的就是程序。程序就是一段一段指令,跟計算機進行交流的語言,描述計算機該使用什麼數據,該做什麼。
  • Python 程式語言的發展簡史
    1982年,Guido從阿姆斯特丹大學獲得了數學和計算機碩士學位。然而,儘管他算得上是一位數學家,但他更加享受計算機帶來的樂趣。用他的話說,儘管擁有數學和計算機雙料資質,他總趨向於做計算機相關的工作,並熱衷於做任何和編程相關的活兒。在那個時候,Guido接觸並使用過諸如Pascal、C、 Fortran等語言。這些語言的基本設計原則是讓機器能更快運行。
  • 最適合人工智慧開發的程式語言優缺點對比
    就像大多數軟體應用程式的開發一樣,開發人員也在使用多種語言來編寫人工智慧項目,但是現在還沒有任何一種完美的程式語言是可以完全速配人工智慧項目的。程式語言的選擇往往取決於對人工智慧應用程式的期望功能。關於最佳人工智慧程式語言的爭論從未停止,所以本文就來比較5種人工智慧項目最常用的程式語言,並列出它們的優缺點。
  • Python成程式語言首選,人工智慧是其最大推力
    2018年,python程式語言榮獲「年度程式語言」稱號!在2018年獲得了最多的排行積分,贏得了3.62%佔比,其次是VisualBasic .NET和Java。Python如今確實已經成為大型程式語言的一部分。
  • 電腦入門程式語言
    今天和大家介紹一下電腦入門編程學什麼語言更合適。首選python語言,python 是一門開源免費、通用型的腳本程式語言,現在社會上會python語言的人很吃香的。它上手簡單,功能強大,堅持「極簡主義」。
  • 編程培訓學什麼計算機語言比較好
    網際網路企業在最近這幾年有不錯的發展,網際網路技術不僅僅可以給年輕人帶來高額的薪水,還可以讓年輕人解決很多問題,因此有不少年輕人都想要學習編程。編程培訓也就成為熱門課程了,有很多人都在學習編程技術,而學習編程的話,就必須要學習計算計算機語言,學什麼語言比較好呢?
  • TIOBE發布的2018年終計算機程式語言流行度排行
    TIOBE發布的2018年終計算機程式語言流行度排行今年終計算機程式語言流行度排行剛發布,我看了一下,python漲勢明顯啊,我估計再過幾年python藉助人工智慧的發展,隨時準備超越c。那麼python的缺點是什麼呢?
  • 戲說程式語言發展史
    (期待地搓手手……)隨著人工智慧時代的來臨,編程也成為了社會的學習大熱門。到底編程是什麼呢?編程就是我們人類,將需解決的問題的思路、方法和手段,通過計算機或者某種智能設備能夠理解的形式,寫出來!這就是編程啦!不懂?!?!沒關係!
  • 人工智慧的產生源於古代人類對計算機編程幻想的各種可能性
    人工智慧領域發展到現在,不得不佩服人工智慧作為人類智慧源泉的地位。前不久看到阿爾法狗處於對弈狀態的時候,我就想如果阿爾法狗能夠戰勝人類,或許我們也可以順便把一些深度學習方面的科普知識講講,那麼人工智慧究竟是什麼呢?人工智慧的產生源於古代人類通過計算機編程了解或者說是幻想了各種可能性,現在的人工智慧基本上是以人類的思考模式來思考問題,依據人類與世界相通的物理學來研究世界。
  • 量子編程取得突破:量子計算機的第一種直觀語言
    #量子計算機對人類發展的影響#量子計算機的編程變得越來越容易:蘇黎世聯邦理工學院的計算機科學家設計了第一種程式語言,可以像傳統計算機一樣簡單、可靠、安全地對量子計算機進行編程。ETH智能系統實驗室(SRI)的計算機科學教授Martin Vechev說:「對量子計算機進行編程仍然是研究人員面臨的挑戰,這就是為什麼我如此興奮,以至於我們現在可以繼續蘇黎世ETH對量子計算機和程式語言的發展。」他認為:「與現有語言相比,我們的量子程式語言Silq使程式設計師能夠更好地利用量子計算機的潛力,因為代碼對於程式設計師而言更緊湊,更快,更直觀並且更易於理解。」
  • 世界程式語言排行榜
    請注意這個排行榜只是反映某個程式語言的熱門程度,並不能說明一門程式語言好不好,或者一門語言所編寫的代碼數量多少。本文引用地址:http://www.eepw.com.cn/article/269656.htm  該指數可以用來檢查你的編程技能是否仍然是最新的或作出什麼開始建立一個新的軟體系統時,程式語言應採取的戰略決策。在 TIOBE 指數的定義可以在這裡找到。
  • 研究生能否通過自學精通兩門程式語言
    首先,程式語言本身的難度並不高,程式語言作為一種操作計算資源的工具,簡單易用是一個大的發展趨勢,所以自學程式語言並掌握其基本語法是完全可行的,同時掌握多門程式語言也比較常見,但是如果想形成自身的編程思想,同時能夠使用程式語言來完成具體場景下的開發任務,這通常需要一個積累的過程。
  • Python 摘得TIOBE 2020年度程式語言
    Python 摘得TIOBE 2020年度程式語言 TIOBE 最新發布了 1 月程式語言排行榜,揭曉了 2020 年度比較受歡迎的程式語言,其中,Python 以 2.01% 的正增長榮獲 2020 年度 TIOBE 程式語言獎!
  • 開發者眼中的程式語言……
    因為有了一定的面向過程的基礎後,初學者可以在日後嘗試過渡到面向對象等的高階語言體系。 網友cameron007的看法:   「Pascal的偉大之處在於使得C語言以一種更易懂更易讀的方式發展開來。」
  • 非計算機專業的同學在學習編程時,除了程式語言還需要學什麼
    首先,對於想自學編程的同學來說,在學習程式語言的過程中,還需要同步學習很多內容,具體的學習內容要結合自己的主攻方向,比如學習C語言的同學如果想往嵌入式方向發展,就需要按照嵌入式開發的要求學習相關的知識。
  • 量子計算機算力那麼強,它使用什麼程式語言?
    我們現在用的普通計算機上面的應用程式都是通過特定的程式語言進行開發出來的,那如果量子計算機出現我們應該用什麼編程式設計師進行編程呢?近日,蘇黎世聯邦理工學院的計算機科學家為量子計算機設計了第一種程式語言,可以像傳統計算機那樣簡單、可靠和安全地為量子計算機編程,這種程式語言被命名為Silq。Silq允許程式設計師更好地利用量子計算機的潛力,而且它的代碼更緊湊,更快,更直觀,更容易理解。程式設計師怎麼對它進行編程呢?
  • 量子計算機領域內第一種高級程式語言 Silq 誕生
    近日,蘇黎世聯邦理工學院的計算機科學界人士在程式語言領域取得了重要突破:計算機科學教授 Martin Vechev 與他的團隊設計出了量子計算機領域內第一種高級程式語言 Silq,它能夠像傳統計算機語言一樣簡單、安全又可靠。
  • 為什麼說Python是人工智慧和機器學習的首選程式語言?
    有很多程式語言都可用於人工智慧(AI)或機器學習(ML)項目,如Java,C#等。但在所有這些程式語言中,Python似乎是最受歡迎的語言之一,這主要是因為開發人員可以輕鬆地使用Python處理複雜的編碼挑戰。
  • 學生如何在大學學習程式語言
    如果您想知道應用程式和軟體程序的製作方式,那麼成為電腦程式員是適合您的正確職業道路。它充滿了樂趣,並為您帶來了廣泛的機會。攻讀計算機科學或自學程序設計大學學位的大多數學生通常會感到困難,而有些人則認為它很有創造力和樂趣。
  • 程式語言新寵兒——Julia誕生記
    讓我們來一同走進它:為什麼要創建Julia程式語言?用一句話來說,因為我們求知若渴、不斷追求。我們希望傳統的程式語言像Python一樣適用,像R語言一樣適用於統計,像Perl一樣適用於字符串處理,像線性代數Matlab一樣強大,像DOS命令一樣擅長粘合程序。這似乎看起來簡單易學,但是想要讓黑客樂意去迎合它卻不是簡單之事。我們希望它具有互動性且能夠被編譯。像C語言一樣運行速度之快?