為什麼需要這麼多程式語言?
學程式設計的過程中,總是有小夥伴糾結我到底是該學C語言呢?還是Python呢?或者學Java?
那到底為什麼程式設計需要這麼多程式語言呢?
程式語言的起源是怎樣的?
其實程式語言並不是一開始就有這麼豐富以及好用的語言的,而是經過幾十年的發展才逐漸有今天這樣多樣的語言。
迄今為止,我們一般認為程式語言的發展主要有三個階段:
1、機器語言
2、組合語言
3、高階語言
1、機器語言
機器語言是第一代機器語言,是0和1程式碼。因為計算機的CPU只能識別0和1,所以最初程式設計用的就是0和1。
比較典型的裝置是雅卡爾提花機的織布機:
我們可以看到,寫程式碼就是要在紙上打孔,這樣寫程式不僅很麻煩,而且程式還不好理解,我們也只看到了一個個的洞,不知道這是幹嘛的。
為了能讓我們在偷懶情況下,更好完成工作,科學家們經過不斷地摸索試驗,使得程式設計進入了下一個階段——彙編程式設計。
組合語言
組合語言相對於機器語言有什麼差別呢?首先就是彙編能讓人更好理解了。
比如表示3+2,機器語言可能是10111100 00000011 00000010。
而彙編就可以寫成add 3, 2。
add表示加,後面是兩個數字。
這樣只要懂一點英文單詞,就能夠明白這個語句的意思。
組合語言就是將以前機器語言的命令,用一些簡單的英文單詞來表示,這樣不僅很直觀,對程式設計人員的要求也大大降低了。
但是用匯編語言寫的程式不能直接在計算機上執行的,需要經過編譯器,把組合語言轉換成機器語言。
所以科學家們創造了一個接近人類語言習慣的程式語言——高階語言。
高階語言
高階語言的表達方式和人類語言的表達方式很接近了,而且也沒有那麼多的英文單詞需要去記了。
高階語言的種類有很多C、C++、Python、Java等等。
每種高階語言都至少有一個編譯器,編譯器就是把對應的語言轉換成機器語言。 迄今為止,程式語言發展最高的是高階語言。
也許過幾年、幾十年,說不定有更好的語言出現,我們也期待有更好的語言出現。
那麼為什麼要有那麼多的程式語言呢?
1、應用領域不同,
導致需要不同的編譯效率和程式碼質量以及執行速度的要求。
2、使用的領域不同,
導致側重點不同。
比如:PHP是面對應用領域的開發語言,要求快速看到效果,就不太在乎比C語言多損耗了點編譯效能和多整合一些庫了。
所以,它最大特點就是:把N多常用的庫都整合進來了,用起來就簡單的多。
但這並不能說明PHP就比C語言好,只是對開發者友好而已,只是他們用的領域不同。
3、開發時間決定
比如:PHP重要的是應用,應該在短時間內開發出應用,那就不能從頭到尾的寫,否則內容太多。
所以學習什麼和實際怎麼使用之間還有一個篩選的過程。
4、體驗度、友好性決定
C語言程式設計經常會被報告指標不能讀和寫!
PHP,不會動不動彈出指標錯誤的那種恐怖視窗,因為它做了很多包容性好的異常處理。
但這並不能說明PHP就比C語言好,也不能說明C語言比PHP好。在他們各自擅長的領域,他們比誰都好。
每門語言因為自己定位在不同的應用領域,所以它的編譯器,即使語法功能沒做得那麼智慧和強大,也不會去升級,否則就失去了它的應用定位。
其實這麼多的語言,程式設計思想上沒什麼區別。只要掌握程式設計思想,一切語言都通了。
本文來源:老九學堂,作者:大雄
-END-
/*免責宣告:整理文章為傳播相關技術,版權歸原作者所有,如有侵權,請聯絡刪除*/
點選下方連結,送你超海量學習資源!
【乾貨】海量學習資源,你想要的我這裡都有!