什麼是編程語言?

· 什麼是編程語言?

  提及編程語言,就必需要說計算機,明白了計算機的運行原理,才能明白什麼是編程語言。(爲了更容易理解,簡化不少細節,例如控制器,加法器等)程序員

  現代大多數計算機(包括咱們用的)都是用電信號來記錄信息,而如今的計算機只能識別兩種狀態的的信號,即高電平(高電壓,用 1 表示)和低電平(低電壓,用 0 表示),計算機用晶體管來儲存這種狀態,以此記錄信息。編程

如上圖中第二個和最後一個晶體管是高電平,其餘是低電平(你們要習慣電平這個術語,之後都會這麼說,其實就是電壓的狀態),這樣八個晶體管共同儲存了  01000001  這樣一段信息,轉換爲十進制爲數字 65,若是表明了一個字符,那麼根據ASSIIC碼轉換是 A。編程語言

  

  計算機也是機器,CPU 只負責計算,自己不具有智能。你輸入一條指令(instruction),它就運行一次,而後停下來,等待下一條指令。它和豆漿機、熱水器同樣要人來控制進行操做,既然計算機只能識別向上面同樣的一、0信號,是否是咱們控制它也要用相同的方式?學習

  

  事實上,還真是這樣的。計算機的核心CPU(中央處理器),有一套本身的指令手冊,叫作指令集。指令集是這個CPU所可以理解並執行的全部操做的集合,也就是說,CPU只能作指令集裏面有的操做,指令控制CPU作出反應。咱們使用吹風機的時候,上面會有幾個按鈕,打開關閉不一樣的按鈕吹風機會執行相應的操做,CPU也同樣,當你輸入指令時,它會進行相應的操做,這些指令都是二進制的,稱爲操做碼。假設如今設計一塊「CPU」,只能執行加減運算,只能對兩個固定的數操做,加的指令的操做碼爲 11111111,減的指令的操做碼爲 00000000。優化

當你給他指令爲加的指令,它會把A加b存在結果裏面,減也同理,這甚至簡單到不能稱爲一個CPU,只是演示指令是怎麼工做的。在計算機剛誕生的時候,程序員經過打孔的紙帶來向計算機輸入數據和指令,有孔是1,沒孔是0,這樣的的語言叫作機器語言,也就是二進制語言。spa

  

  對於人類來講,二進制程序是不可讀的,根本看不出來機器幹了什麼。這樣的語言操做起來極其不方便,上面的「CPU」只有兩個指令,而正常的CPU都是有不少指令的,很是難以理解,容易出錯,因此誕生了一種低級語言,也就是彙編語言(對,人類的進步就是由於懶)。彙編語言將繁瑣的指令操做,0和1,用字母代替,彙編語言是二進制指令的文本形式,與指令是一一對應的關係。例如 11111111 這樣的東西,用 add代替便可,只要還原成二進制,彙編語言就能夠被 CPU 直接執行,因此它是最底層的低級語言。彙編語言提升了控制計算機的效率,以及程序的可讀性,讓人能寫出更大的程序同時便於修改。翻譯

  

  人類在「懶」上的不斷追求,誕生了高級語言。高級語言的語法和結構更相似漢字或者普通英文,且因爲遠離對硬件的直接操做,使得通常人更容易學習。C/C++,C#,JAVA,Python,R,Go等等語言都是高級語言,高級語言編寫的程序叫作源程序,由於這種語言更接近人類的天然語言,因此必須經過翻譯來讓計算機明白,這一過程叫作編譯。編譯程序把一個源程序翻譯成目標程序的工做過程分爲五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱爲源程序分析,分析過程當中發現有語法錯誤,給出提示信息,這個過程,按照該語言的規則,將語句拆分紅一個個指令,再將指令轉換爲二進制,成爲計算機能夠識別的程序。設計

  

  編程語言就是操做計算機的控制器,對編程語言的原理和計算機工做的原理更好的理解有助於學習和使用語言,本文中有不少地方爲了便於理解,省略了不少概念,也有一些地方作了口頭化表述,只是但願幫助你們理解編程,早日入門編程。3d

對您有幫助的話請點個讚唄~~(左側小手手點贊)
本文由博客園A-CAT原創編輯,轉載請註明出處,謝謝!(點擊右側小火箭可快速返回頂部)blog

相關文章
相關標籤/搜索