# 編程語言是什么?
## 概念

人和人交流溝通所使用的的語言叫做自然語言,例如漢語,英語。

所謂的編程語言,其實就是人和計算機交流的語言。
與自然語言不同, 編程語言有極其嚴格的語法和準確沒有歧義的語義。通過編程語言編寫程序交由計算機去執行與通過自然語言編寫文章給其他人閱讀本質其實一樣。
學習編程語言和學習自然語言的方法也類似。

學習自然語言會先學習語法,字,詞,句,閱讀文章,最后模仿寫文章。

編程語言也是先學習語法,關鍵字,語句,然后閱讀別人編寫的代碼,最后模仿編寫自己的代碼。
自然語言一般都會有成千上萬的字和詞,要掌握一門自然語言需要數年時間。而編程語言通常只有幾十個關鍵字,幾個流程控制語句,所以從量上來說,編程語言比自然語言要容易學得多,要掌握一門編程語言通常只需要數月時間。
## 分類
編程語言一般分為機器語言,匯編語言和高級語言,或者說是編程語言經歷的三個階段。
### 1. 機器語言

能夠直接被計算機識別的指令稱為機器語言。
機器指令就是一串二進制數,`010110101`。它的優點是能夠直接操作計算機的最底層的動作。缺點是人類難以記憶和閱讀,學習成本高,需要熟知計算機的物理原理,目前只有各大芯片廠商的技術人員使用機器語言進行編程外,絕大部分程序員使用的是高級語言。
### 2. 匯編語言

匯編語言本質上就是機器語言,只不過為了閱讀和書寫,給不同的指令加上了簡短的助記符。例如使用`ADD`表示加,`SUB`表示減。但它的學習成本依然很高,只有少數對計算機硬件熟悉的程序員在使用。
### 3. 高級語言

因為機器語言,匯編語言都是直接操作計算機底層的運算器的微小步驟,要實現我們看起來的簡單功能例如在屏幕打印一行文字,需要大量代碼。因此機器語言和匯編語言也稱為低級語言。通過低級語言編寫程序非常繁復,所以為了更好的利用計算機,計算機科學家發明了高級語言。
高級語言并不是特指一種語言,在計算機技術的發展歷程中出現了很多高級語言,其中大名鼎鼎的C,JAVA,PYTHON都是高級語言。
高級語言是對低級語言的封裝,高級語言編寫的代碼是給人類閱讀的,計算機不能直接識別,需要通過翻譯成機器碼然后交給計算機執行。
~~~
- 第1章 編程基礎
- 零基礎能學Python嗎?
- 編程語言是什么
- 編譯型與解釋型編程語言的區別
- python是什么?
- 學python能干什么?
- 第2章 python開發環境搭建
- windows下安裝python
- cmd命令行工具
- 環境變量如何設置?
- 如何運行python程序?
- 學習神器Jupyter lab
- 第3章 基本數據類型
- 基本數據類型概述
- 變量的定義和使用
- 整數類型
- 浮點數類型
- 算術運算符
- 賦值運算符
- 字符串類型
- 字符串常用方法
- 字符串格式化
- 列表類型
- 元組類型
- 可變與不可變類型
- 深淺拷貝
- 集合類型
- 字典類型
- 布爾型
- NoneType
- 第4章 程序流程控制
- 程序結構
- if分支語句
- while條件循環
- for循環
- 循環控制關鍵字
- 異常處理
- 第5章函數與代碼復用
- 函數的定義和調用
- 函數的參數
- 函數的返回值
- lambda函數
- 變量作用域
- python內建函數
- 第6章 面向對象
- 類和對象
- 屬性
- 方法
- 繼承
- super()函數
- 多態
- 私有化
- 自省與反射機制
- 第7章 模塊和包
- 模塊
- 包
- 第三方庫
- 第8章 文件IO操作
- 文件概述
- 字符編碼
- 字節類型
- python讀取文件
- python寫文件
- 文件指針