# 程式語言的種類 以下我們將與電腦溝通的途徑依據時間進行分類: | 世代序 | 名稱 | 敘述 | 溝通途徑 | 特性 | --- | --- | --- | --- | --- | | 1 | 機器語言 | 基本就是==二進制碼==。因為電腦內部訊息只有0和1兩種邏輯狀態,所以只要使用二進制碼就可以與電腦溝通。 | 人→電腦 | 速度最快;可攜性最差;可讀性最差。 | | | 2 | 組合語言 | 為了解決機器語言使用的不方便,在找到規律後,工程師以英文字、數字符號來重組機器語言,使其成為==有意義的語言==。寫好的組合語言將通過組譯器轉為機器語言供電腦閱讀。 | 人→組譯器→電腦 | 較機器語言科學且方便。需與電腦內部結構充分配合。 | 3 | 高階語言 | 基於==組合語言與底層的配合非一般人所能輕易理解的==,1950年代開始,許多大學及電腦公司依照需要開發出不同的編譯器,人們因此得以使用更簡單的語言設計程式。 | 人→編譯器/直譯器→電腦(大部分) | 依據各語言的導向及性質有所不同。 ## 機器語言 ==在電腦的控制器之中,只有`0`和`1`兩種訊號==——類似於電器的「關」、「開」狀態,電腦會通過低及高電位去作為`0`與`1`。通過這些「數位訊號」的輸入、輸出,電腦才能夠達到其所想做的事情。 因此,在最起初的程式設計,即是通過「機器人使用的語言」(二進制碼)直接與電腦溝通。 這種語言在使用不同的運算處理單元(CPU)時,有不同的寫法,這裡就不舉例。||~~這種語言是人寫的嗎?~~|| ## 組合語言 剛剛那個例子聽來十分拗口,對吧?||連工程師都那麼覺得了,何況是人?|| 由於對人而言,==這樣子的語言連半點可讀性都沒==,所以工程師通過尋找二進制碼的規律,將特定的幾個功能==以英文及數字代號表示==後,創造出了「組合語言」。例如使用`ADD`表示「相加」、`LDA`代表「讀取」、`MOV`代表「搬移」等。 至於電腦如何讀取呢?此時需要一個稱為「組譯器」(Assembler)將其翻譯回機器語言。 同樣的,組合語言在不同的CPU架構上有不同的寫法,主要能分成精簡指令集及複雜指令集。這邊就不舉例了。||~~主要是編者我也不太會。~~|| ## 高階語言 雖然組合語言已經變得比較能被人所理解,但仍有一個非常大的問題 ---  <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="創用 CC 授權條款" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">FRC機器人程式基本教材</span>由<span xmlns:cc="http://creativecommons.org/ns#" property="cc:attributionName">Cosmopard</span>製作,以<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">創用CC姓名標示-相同方式分享4.0國際授權條款</a>釋出。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up