回覆列表
  • 1 # 飛天老師

    程式設計語言的發展,主要經歷三個階段:

    機器語言組合語言高階語言(不管是幾代的,統稱)

    我們現在用來開發軟體的程式設計語言,絕大多數用的都是高階語言。高階語言有上百種,比如C、C++、PHP、Java、Python、JS等等。

    而涉及驅動程式開發,以及微控制器等等,有些可能用到組合語言。組合語言執行速度比高階語言的快,但開發效率低於高階語言。

    不管是組合語言,還是高階語言,都需要經過編譯器(或直譯器)的編譯(或解釋),才能讓計算機執行。

    機器語言,是唯一的一種,能夠被機器識別,並能直接執行的低階語言。

    在沒有編譯器(直譯器)的年代,是用機器語言、透過打孔來編寫程式的!機器語言雖然執行速度最快,但因用機器語言開發軟體,是極其繁雜的,而且出錯了也不容易排查,因而,用機器語言開發軟體,效率是最低的!
  • 2 # 桔子數碼

    機器語言

    計算機的硬體作為一種電路元件,它的輸出和輸入只能是有電或者沒電,也就是所說的高電平和低電平,所以計算機傳遞的資料是由“0” 和“1”組成的二進位制數,所以說二進位制的語言是計算機語言的本質。計算機發明之初,人們為了去控制計算機完成自己的任務或者專案,只能去編寫“0”、“ 1”這樣的二進位制數字串去控制電腦,其實就是控制計算機硬體的高低電平或通路開路,這種語言就是機器語言。直觀上看,機器語言十分晦澀難懂,其中的含義往往要透過查表或者手冊才能理解, 使用的時候非常痛苦,尤其當你需要修改已經完成的程式時,這種看起來無序的機器語言會讓你無從下手,也很難找到程式的錯誤。而且,不同計算機的執行環境不同,指令方式操作方式也不盡相同,所以當你在這種機器語言就有了特定性,只能在特定的計算機上執行,而一旦換了機器就需要重新程式設計,這極大的降低了程式的使用和推廣效率。但由於機器語言具有特定性,完美適配特定型號的計算機,故而執行效率遠遠高過其他語言。機器語言,也就是第一代程式語言。

    組合語言

    不難看出機器語言作為一種程式語言, 靈活性較差可閱讀性也很差,為了減輕機器語言帶給軟體工程師的不適應,人們對機器語言進行了升級和改進:用一些容易理解和記憶的字母,單詞來代替一個特定的指令。透過這種方法,人們很容易去閱讀 已經完成的程式或者理解程式正在執行的功能,對現有程式的bug修復以及運營維護都變得更加簡單方便,這種語言就是我們所說的組合語言, 即第二代計算機語言。

    比起機器語言,組合語言具有更高的機器相關性,更加便於記憶和書寫,但又同時保留了機器語言高速度和高效率的特點。組合語言仍是面向機器的語言,很難從其程式碼上理解程式設計意圖,設計出來的程式不易被移植,故不像其他大多數的高階計算機語言一樣被廣泛應用。所以在高階語言高度發展的今天,它通常被用在底層,通常是程式最佳化或硬體操作的場合

  • 3 # Sean段

    實際上自從有計算機程式語言之後,編譯器就一直存在。只是現在很多編譯器已經整合到了IDE中,類似微軟的Visual Studio等等。之前的編譯器是命令列的,像GCC就是比較有名的Unix下命令列編譯器。

    所以沒有編譯器的時代基本是遠古時代,直接用機器語言來控制計算機。在IDE還不是太普遍的時候,基本上就是在文字編輯器中寫程式碼,例如VIM這類的命令列編輯器或者notepad這類有圖形介面的編輯器。

  • 中秋節和大豐收的關聯?
  • 在工作中,怎麼和志同道合的異性相處?