開發一門語言不是非得熟悉機器語言(也就是2進制,或者說熟悉cpu指令集)
現在操作系統已經幫你做好底層對接了,也無需開發匯編語言。現在開發的語言一般指的是高級語言如c,go,cpp,java,javascript,python等。開發這些語言只要有編譯器以及虛擬機(解釋器)即可。雖然不一定需要熟悉機器語言或CPU指令,當如果你懂的話會大有裨益。現在很多語言都有jit編譯為2進制直接運行,這樣效率最高。
現在編譯器以及解釋器都是依賴操作系統的,基于系統提供的api開發編譯器即可。高級語言其實都有編譯的過程,只是有些是靜態提前編譯,有些是編譯2進制機器碼,有些是運行時動態編譯,有些是編譯為字節碼。靜態類型語言一般需要提前編譯,可以是機器碼或者字節碼,腳本語言在運行時編譯,也會變成解釋器認可的字節碼。
所以,對于機器語言不一定非得熟悉,但對于編譯原理要非常熟悉。