本節簡單的給大家說一說 Java 和C語言的關係和發展歷程。
首先呢,大家知道,程式語言的發展,其實是經過了三個比較大的階段階段,那就是:組合語言 –> 程序導向語言 ->物件導向語言。
組合語言由於其難度太大,需要記憶的語句命令過多,但是其對計算機底層的控制和操作能力還是很強大的,由於學習成本太大,效率較低,已經不作為現在計算機系的重點教學了。
C語言可以作為程序導向語言的一種代表,算是一種比較純正的程序導向語言了。而程序導向的語言也稱為結構化程式設計語言,是高階語言的一種。在程序導向程式設計中,問題被看作一系列需要完成的任務,函數則用於完成這些任務,解決問題的焦點集中於函數。所以說C語言的基本單位也是函數。
程序導向的概念最早由 E.W.Dijikstra 在 1965 年提出,它的主要觀點是採用自頂向下、逐步求精的程式設計方法,使用三種基本控制結構構造程式,即任何程式都可由順序、選擇(if-else、switch-case)、迴圈(for、while、do-while)三種基本控制結構構造。
程序導向語言的最大的優勢就是適合模組化設計。一個程式可以分解為多個函數,通過函數呼叫過程,使得可以用一條函數呼叫語句實現函數所完成的複雜運算過程。
這種方法使得可以將一個複雜問題的解決過程分解為較為簡單的幾個子問題的解決過程:
-
首先通過編寫函數用語句描述解決每一個子問題的解決過程的步驟;
-
然後可以用一條函數凋用語句描述解決某個予問題的過程的步驟;
-
最後在一個主程式中用多條函數呼叫語句描述解決分解為多個子問題的複雜問題的解決過程的步驟。
但是當我們在開發新系統諸如此類的問題時,我們開始肯定不清楚這個系統完工後的架構是怎麼樣的,所以說,利用模組化設計的語言,就很難對開發出來的系統進行調整(或者工作量會很大)。在此類諸多問題的壓力下,物件導向語言便體現出了其獨一無二的優勢。