低級程式語言

係指形式上類似實際指令集架構，唔會點抽象化嘅程式語言，例如係機械語言同組合語言噉。

低級語言嘅其中一個重大缺點就係可讀性低得好交關，另外就係可移植性更加低，每一個系列嘅處理器都有自己嘅低級程式語言；因為噉，人喺廿世紀中開始就有喺度創造高級程式語言，用形式上類似人表達問題嘅易睇嘅寫法來表達想電腦做嘅運算，最先打破低級語言嘅壟斷嘅高級語言係科研用嘅 Fortran，後來由 C 打破寫操作系統淨係用得低級語言嘅恁法。再後期出現嘅例子包括 Python 同埋 Java 呀噉。

話雖如此，有啲嘢用高級語言會做唔到，或者要完全控制用幾多時間行某一般碼，喺呢啲少數情況下，低級語言仍然係有必要。

機械語言 

機械語言係最似電腦內部嘅實際運算嗰種程式語言，即係最低級嗰隻程式語言－淨係用 1同 0嘅二進制數字嚟表達嗮所有嘢，而組成一段機械碼嘅數字會包含嗮「要用啲乜嘢數據」同「要做啲乜嘢作業」等嘅資訊。

舉個例說明：假想依家有款機械語言，
款語言嘅每段命令都由 18 個數字組成，呢 18 個數字每一個都一係 1 一係 0，
最頭嗰 7 個數字用二進制表達數據 A，
跟住嗰 7 個數字用二進制表達數據 B，
最尾嗰 4 個數字就表達要做乜－0000 代表加，0001 代表減等等。
於是喺用呢種語言寫成嘅源碼入面，「0000011 0000100 0000」呢段碼係叫電腦計 3加 4嘅結果出嚟。

上便個例子當然係誇張咗啦。雖然機械語言理論上係二進制，但係其實通常唔會直接寫或者睇二進制。早喺1980年代，寫同輸入機械語言都已經係十六進制嘅天下，二進制基本上淨係分析啲行動碼嘅時候先會真係用到。現實上嘅處理器，一般來講，如果係 ｢立即定址｣啲數值亦都唔會橫跨字節同字節之間，所以正常唔會有需要將寫嘅嘢拆成二進制來分析。

睇機械語言嘅時候亦都一般唔會直接睇數字，而係用監督程式或者除錯器入面嘅內置反組合功能，將機械語言反譯成組合語言來睇，所以就算好似上便個例子噉刁鑽，睇嘅時候都只係機拆，唔使人手拆。

組合語言 

組合語言就係透過 ｢記憶語法｣符號化咗嘅機械語言。除咗巨集同 directives等等少數例外之外，大部分嘅記憶語法同機械語言有直接對應。雖然係咁，組合語言仍然係一種經過刻意設計嘅產物，唔係話機械語言係點就局住組合語言一定會點。

高級程式語言

攷 

程式語言