回覆列表
  • 1 # null

    計算機語言是由人語翻譯成計算機語言。計算機只能讀懂1或者0。不管是true還是false,不管是或還是與,不管是中文還是英文,不管存在硬盤裡還是讀到記憶體裡,都是1或者0。

    所以對於硬體,只是開和閉。問題在於開可以用1代表,閉可以用0代表,但是更復雜的比如說用一堆開或閉也就是01010101或者更長的一段二進位制編碼代表一個字,或者一個標點符號,或者代表一個命令,刪或者寫或者讀,這個規則就是機器語言,也就是二進位制。這個規則是硬體和資料規定的。

    所以所有的高階語言都將翻譯成機器語言,計算機的硬碟,處理器,記憶體等才能明白要做什麼工作。

    組合語言是低階語言,它將上述的那些機器語言存在一個表裡,用英文代替01010101這樣的機器語言,從而產生了程式碼。

    c語言是面對過程語言,從c語言中記憶體的限制十分重要,從c語言中十分明瞭程式的執行步驟,包括記憶體機制。它也是用類似表的東西,翻譯成機器語言的,這就是"編譯"。

    而java是用c語言寫的基本執行原理,再用jar進行封裝。java是先編譯,再解釋的。先編譯成jdk能理解的基本命令,再由c語言寫的基本執行原理解釋的。

    所以,從上可以看出,越基本,越底層,原理越簡單,實現越複雜。

    自創編譯語言要了解硬體原理,機器語言。設計表,翻譯。或者直接用一個程式語言寫一個編譯器,或者直譯器,使用原本的程式語言的編譯或解釋功能。避免硬體原理和機器語言的門檻。

    但即使是java這種用語言寫出的語言,依然涉及記憶體問題,即使它有垃圾回收。也依然有多執行緒要處理。而語言要考慮效能,硬體,市場,難易,優點,環境的問題。

    效能快不快,比如說最近都再說Python拍森語言很慢。雖然沒用過,但是知道它很暴力,很簡單,這是必然的,因為封裝更多使程式設計更容易,而實際上執行的遠不止寫的那一點程式碼,背後有更復雜的底層處理,當然慢一點,不過沒有說的那麼嚇人。

    比如硬體,java就是考慮到這一點,它的編譯class再解釋,可以在多平臺使用。無論是手機還是電腦,windows還是linux。

    市場的話,就像php,即使它稱為世界上最美的語言,也會遭到所有程式設計師鄙視,但它針對後臺開發,更快更簡潔。依然有忠實使用者。

    最簡單的當然就是JavaScript,它有瀏覽器做直譯器,有瀏覽器就能寫程式碼。

    go語言聽說自帶高併發,聽起來嚇人,但這可是有點呢,java處理高併發是很費勁的。

    環境指的是有多少人維護這個語言,寫出開源的工具包,拿來用就可以的,java的環境就是各種jdr包,各種solr多寶mycat這種,有好多人開發出容易實用的框架,JavaScript最典型的就是jQuery。

    最後說一個容易實現的自創語言,(勉強算是吧)。就像把安卓拿來自己開發ui就稱為自己的系統那種。把JavaScript封裝成框架,就像easyui或者layui那種。引個自己寫的js直接用吧!

  • 2 # 江河2016

    1. 定義語言規則,如:關鍵詞、識別符號、運算子、分支語法、迴圈語法等。

    2.開發語言解析或編譯工具,能將語言程式碼翻譯成可執行的二進位制機器碼

    走完上述兩步就自創好了,簡單吧?

    至於是否能成功推廣,就取決於其語言特性和生態環境了。

    祝你成功!

  • 3 # 電子設計學堂

    這個是可以的,但是前提是你要有紮實的C/C++基礎,下面我用自己的觀點為你分析下如何去建立自己的計算機語言。

    首先

    其實創作一套簡單的計算機語言還是比較簡單的,但是要創作一套複雜的系統就很複雜了。我們都瞭解在C語言中有個宏定義#define操作,其實我們將自己的語法,無論是中文或者英文或者數字或者特殊的識別符號號等等。這些我們都可以用宏定義將我們自己的語言和C語言相對應。

    然後

    進行宏定義後我們將定義好的檔案進行動態封裝處理,這樣我們在今後的程式設計中直接呼叫這些檔案就可以實現相應的功能了。

  • 中秋節和大豐收的關聯?
  • 欣可來是西藥嗎,主要功效是什麼?