-
1 # GottQ
-
2 # 漢字谷主
確實是很難的,想用漢語作為一種全新的程式語言,編寫作業系統和做相應cpu指令集、架構等,必須對現在的計算機架構,做出顛覆性的變革。
現在計算機架構,自計算機在美國誕生之初,採用的是二進位制,計算邏輯、儲存方式、指令編寫等等,到現在都沒有什麼改變,只是處理速度大幅提升。
為了更方便計算機的程式設計學習,從彙編、Basic、Pascal、C、C++、Java、Python等程式語言不斷的發展,但程式設計的核心思想並沒有太大的變化美國的二進位制計算機標準一統全球后,世界上就很少人去做些基礎研究了,包括作業系統、高階語言等。大學的計算機課程:作業系統、計算機結構,還是用二十年前的教材。
不破不立!
想用漢語作為一種全新的程式語言,編寫作業系統和做相應cpu指令集、架構等,可以設想如下研究方向:
1、 漢字可以濃縮成200個標準的漢字程式碼,再把這些程式碼變成一個一個標準的命令集。
2、 拋棄二進位制架構,採用三進位制計算機(前蘇聯有過樣機),對於計算速度大幅提升、儲存空間擴充套件、增加邏輯判斷選項等有極大的好處,這種架構更適合中文漢字的思考方式。
3、 利用漢語的優勢,包括語音識別、神經網路等優勢,形成有統一、標準、高效、共享的程式碼庫。
4、 解放程式設計師的手,透過語音來程式設計,透過接收語音指令,給出最優程式碼模組,實現所要功能。
5、 未來是物聯網、人工智慧、神經網路等萬物互聯的世界,這些對網路安全的要求非常高,漢字密匙優勢也出超英文。
漢字程式設計不是不行,需要做更多的基礎研究!
-
3 # 曲勝平420
我不是太專業,但是這個問題也有點理解。
首先,cpu的指令集和架構跟語言一點關係沒有,指令集與架構是電路設計的事,架構確定了,核心電路就確定了,然後指令集就當然確定了。目前的架構以x86, arm為主,也有其他小眾架構。
第二,用中文做新的程式語言,要看怎麼定義這個新。做一個新的程式設計模型,程式設計思想,比較困難。比如,c是面向過程程式設計,c++則是面向物件程式設計。早期VB也是面向過程,到了VB.net才改成面向物件程式設計,他倆除了關鍵詞字面相同,簡直就是完全不同的兩種語言。單純模仿人家現有的思路,在編譯器上沒有新的演算法突破,沒有突出的特點不能算新的。如果僅僅是做一箇中文關鍵詞的程式語言相對來說很簡單,只要把現有的編譯器關鍵詞漢化一下就好,就是個翻譯,或者做個類似宏定義。
用中文編寫作業系統不是不可以,中文作業系統大家都見過用過,所以我們討論的是系統核心,不談介面。核心有個要求就是穩健,高效。穩健講邏輯正確可靠,高效要求程式碼短小精悍。用ASCII碼,每個字元用一個位元組,而Unicode或者GB 2312-80則需要佔用多個位元組,甚至不是固定位元組數,系統要去做更多的判斷如何解釋這些位元組,這樣效率就比較低下。有人說中文版Windows比英文版慢就是這個道理。不過核心中很少涉及到字串操作,主要是裝置管理,任務排程程式碼,同時現在的作業系統都使用固定2位元組長度的Unicode編碼格式,所以現在用Unicode編碼做系統核心也沒有問題,或者現在已經這麼做了,windows的API都改成了Unicode格式了。
回覆列表
這問的是什麼問題…起碼對你問題裡的專有名詞稍微作個瞭解再問出來吧…先談CPU架構,CPU架構不屬於軟體範疇,它屬於硬體設計的領域,和程式設計沒什麼關係。再看CPU指令集,它其實是內嵌在CPU裡的長短不一的微程式碼,用於實現各種各樣的CPU操作或操作組合。其實無論對系統程式還是CPU指令集微程式碼,能夠被機器識別的語言叫做機器語言,就是一串0和1的組合,沒有例外。也就是說,無論你採用什麼程式語言,最終透過編譯器編譯出來的都是機器語言,一串0和1。最效率的方法當然是直接編寫機器語言,當然絕對不會有人這麼來寫程式。因為機器語言對於人來說可讀性太差,幾乎無法排錯。所以後來出現了彙編,用幾個關鍵詞來描述程式的行為,將指令和資料區分開,增強了可讀性。後來更高階的語言出現,比如C,更接近自然語言,即人理解起來更加的容易,這樣進一步降低程式設計門檻。但是無論你用什麼語言,最終都會被翻譯成機器語言,這個意義上,所有的程式語言其實殊途同歸。用漢語程式設計其實換湯不換藥,都是描述的程式行為,畢竟底層只認識0和1,它連字母都不認識,更別談漢字了。