回覆列表
-
1 # 易學程式設計
-
2 # 道法如流
開發一門語言不是非得熟悉機器語言(也就是2進位制,或者說熟悉cpu指令集)
現在作業系統已經幫你做好底層對接了,也無需開發組合語言。現在開發的語言一般指的是高階語言如c,go,cpp,java,javascript,python等。開發這些語言只要有編譯器以及虛擬機器(直譯器)即可。雖然不一定需要熟悉機器語言或CPU指令,當如果你懂的話會大有裨益。現在很多語言都有jit編譯為2進位制直接執行,這樣效率最高。
現在編譯器以及直譯器都是依賴作業系統的,基於系統提供的api開發編譯器即可。高階語言其實都有編譯的過程,只是有些是靜態提前編譯,有些是編譯2進位制機器碼,有些是執行時動態編譯,有些是編譯為位元組碼。靜態型別語言一般需要提前編譯,可以是機器碼或者位元組碼,指令碼語言在執行時編譯,也會變成直譯器認可的位元組碼。
所以,對於機器語言不一定非得熟悉,但對於編譯原理要非常熟悉。
-
3 # 華中股聖
我就開發了一種簡易的語言,用於物聯網,用串列埠讀寫資料,但只是公司內部用。底層用C語言實現,作業系統任意,硬體任意。完全不用懂組合語言
-
4 # 雲外飛鳥
我來答疑答,開發一門語言是否需要懂機器語言,答案是不一定,看你開發那種型別的語言,若是指令碼語言就不需要,若是要開發像C語言這種編譯型就需要,因為CPU只認識二進位制碼就是機器語言,開發編譯型語言就是開發編譯器,編譯器的工作就是把程式碼變成可執行程式,這個過程就是把原始檔程式碼透過一些演算法轉換成機器碼,關於編譯原理請自行百度,有龍書,虎書,鯨書,還有一本現代編譯原理,去看看吧,不過很難哦什麼語法分析器,詞法分析,語法分析樹,等。。。。看你能堅持下去不
需要的。
首先,程式語言是計算機的高階語言。
計算機是不能直接識別程式語言的。
也就是說,我們要將程式語言的源程式翻譯成機器語言(機器指令)後,計算機才能透過識別機器指令,執行我們程式設計師開發出的程式。
程式語言將程式原始碼轉換為可執行程式通常需要三個過程:
(1)編輯源程式,生成原始碼
(2)對源程式進行編譯(將符合程式語言語法的程式轉換為二進位制形式的目標程式)
(3)進行連線處理,生成一個可執行程式。