回覆列表
  • 1 # 發發發狗

    一、面向機器的語言

    最開始的時候,每種計算機都有自己的機器指令。例如,某種型號的計算機用8位二進位制資訊10001010表示加法指令,等等。所以用這種機器語言進行程式設計是很累的工作,而且程式碼難以閱讀和理解,還有就是可能同樣的任務,不同的計算機之間指令有所不同。後來用一些簡單的符號來代替二進位制指令,但組合語言仍是面向機器的語言,需針對不同的機器來編寫不同的程式碼。習慣上稱機器語言、組合語言為低階語言。

    二、面向過程語言

    20世紀60年代出現了過程設計語言,如c語言等。語言把程式碼組成叫做過程或函式的塊,每個塊的目標是完成某個任務。這樣的語言的好處是,不必再去考慮機器指令的細節,過程語言的語法更接近人們的自然語言,人們只需按照自己的意圖來編寫各個函式,而習慣上稱過程語言為高階語言。

    三、面嚮物件語言

    對於許多應用型問題,人們希望寫出易維護、易拓展、易複用的程式程式碼。過程語言只有解決問題的過程(方法),而沒有指明物件。那麼因此面對物件語言的一個簡單理念就是:需完成某種任務時,首先想到,誰去完成任務,即那個物件去完成任務;提到資料,首先想到這個資料是哪個物件的。

  • 2 # 呵呵96064

    計算機語言的發展主要分為三個階段。

    一. 機器語言

    第一代計算機語言稱為機器語言。機器語言就是 0/1 程式碼。計算機只能識別 0 和 1。在計算機內部,無論是一部電影還是一首歌曲或是一張圖片,最終儲存的都是 0/1 程式碼,因為 CPU 只能執行 0/1 程式碼。那麼這是不是就意味著我們程式設計一定要用 0/1 程式碼呢?

    首先這麼編寫肯定是可以的,但是這樣太麻煩,而且很不好理解,所以後來就出現了組合語言。

    二. 組合語言

    組合語言就是將一串很枯燥無味的機器語言轉化成一個英文單詞。比如說:

    add 1, 2;

    add 就是一個英文單詞,這樣看起來就稍微有一些含義了,即 1 和 2 相加。這個就是組合語言。

    如果直接用機器語言編寫的話,這幾乎是無法實現的。因為用機器語言太難記憶了,也沒人能看得懂。所以後來就設計出了第二種語言,即將 0/1 程式碼翻譯為英文單詞,這些英文單詞直接對應著一串 0/1 指令。這個就是組合語言。

    透過專門的軟體就可以將這些英文單詞轉化成 0/1 程式碼並由計算機執行,這種專門起翻譯的作用的軟體叫作編譯器。

    這些英文單詞和與它們對應的 0/1 程式碼之間的對應關係,以及語言的語法,在編寫這個軟體的時候就已經寫在裡面了。我們只要透過編譯器就可以將這些都轉化成 0/1 程式碼。這樣大大方便了我們對程式的編寫。

    三. 高階語言

    組合語言之後又出現了第三代語言。第三代語言又叫“高階語言”。高階語言的發展分為兩個階段,以 1980 年為分界線,前一階段屬於結構化語言或者稱為面向過程的語言,後一階段屬於面向物件的語言。

    什麼叫面向過程,什麼叫面向物件?這是很難解釋的一個問題,所以這個問題大家現在先不要考慮。等到將來你們學完C語言、C++、Java 或者 C# 之後才有可能理解。因為這個需要比較。

    總之,面向過程語言中最經典、最重要的就是C語言。Fortran、Basic 和 Pascal 語言基本上已經很少有人使用了。但是C語言一直在用,因為C語言是計算機領域最重要的一門語言。但是C語言也有缺陷,它的缺陷只有在學完面嚮物件語言之後才能體會到。

    所以從 20 世紀 80 年代開始又產生了另外一種“以面向物件”為思想的語言,其中最重要、最複雜的就是 C++。C++ 從易用性和安全性兩個方面對C語言進行了升級。C++ 是一種較複雜、難學的語言,但是一旦學會了則非常有用。

    因為 C++ 太複雜,所以後來就對 C++ 進行了改裝,產生了兩種語言,一個是 Java,另一個是 C#。

    Java 語言是現在最流行的語言之一。C# 則是微軟公司看 Java 很流行而寫的一個與 Java 語法相似的語言。因為 Java 和 C# 幾乎是一模一樣的,所以你只需要學習其中的一種語言就可以了。

  • 中秋節和大豐收的關聯?
  • 西部計劃志願者到底有沒有前途?