計算機語言的發展,總體分為三個階段
第一代 機器語言 (相當於人類的原始階段)
第二代 匯編語言 (相當於人類的手工業階段)
第三代 高級語言 (相當於人類的工業階段)
第一代 機器語言
1、概念
機器語言是站在計算機的角度,說計算機能聽懂/理解的語言,而計算機能直接理解的就是二進制指令,所以機器語言就是直接用二進制編譯,這意味着機器語 言就是直接操作硬件的,因此機器語言屬於低級語言,此處的低級指的是底層、貼近計算機硬件(貼近代指需要了解計算機硬件細節、直接控制硬件)。
2、優點
計算機能夠直接識別,執行速度快。
3、缺點
學習難度大,編程效率低、貼近\依賴具體的硬件,跨平台性差。
第二代 匯編語言
1、概念
匯編語言僅僅是用一個英文標簽代替一組二進制指令,比起機器語言,匯編語言是一種進步;但是匯編語言的本質仍然是直接操作硬件,因此匯編語言仍然是比較低級\底層的語言、貼近計算機硬件
2、優點
相對於機器語言難度有所降低,執行效率高,但比機器語言要低
3、缺點
仍然是直接操作硬件,開發效率低。同樣依賴具體的硬件,跨平台性差
第三代 高級語言
1、概念
高級語言是站在人的角度,用人類的字符去編寫程序,而人類的字符是在向操作系統發送指令,而並非直接操作硬件,所以高級語言是與操作系統打交道,此處的高級指的是高層、開發者無序考慮硬件細節,因而開發效率可以得到極大的提升,但正因為高級語言離硬件較遠,更貼近人類語言,人類可以理解,而計算機則需要通過翻譯才能理解,所以執行效率會低於低級語言。
2、高級語言的分類
高級語言按照翻譯的方式不同,又分為兩種編譯型和解釋型
2.1、編譯型(類似於go,c++)
概念:類似於百度翻譯,是把程序所有的代碼編譯成計算機能識別的二進制指令,之后操作系統會拿着編譯好的二進制指令直接操作硬件
優點:執行效率高
缺點:開發效率低,跨平台性差
2.2、解釋型 (如python)
概念:類似於同聲翻譯,需要有一個解釋器,解釋器會讀取程序代碼,一邊翻譯一邊執行
優點:開發效率高、跨平台性強
缺點:執行效率低
補充:
儲存單位換算
比特位(bit):二進制位數
8bit = 1bytes
1024bytes = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB