回覆列表
-
1 # hpyywlzx2018
-
2 # 非著名程式設計師
我來寫個科普帖吧!我寫的應該儘量通俗易懂,能夠讓大家很容易的理解語言的"高階"和"低階"。
語言的高階是相對來說的!我把話解釋的簡單點,就是
人類越容易理解的語言就是高階語言,而機器越容易理解的語言就是低階語言!在程式設計的世界裡,低階語言是比較難得,而且執行效能是比較高,快的。我們都知道低階語言一般指的是機器語言,組合語言,而程式設計的最終目的,是讓機器執行我們寫的程式碼!在程式設計的世界裡,尤其是硬體,機器層面,邏輯只有 0 和 1,也就是二進位制,去控制機器!
而越是低階的語言就是越接近二進位制的指令,甚至是二進位制的指令,這樣機器特別容易理解,所以執行效率比較高,執行速度快!
而高階語言呢,是接近我們人類的語言,我們容易理解,但是機器可能就不容易理解了。
說白了,程式語言的“高階”是為能夠更方便、更專注的讓程式設計師做更多的事情,所以人們才會基於相對低階的程式語言去開發新的程式語言,以此來遮蔽掉一些底層的操作,這也是為什麼越來越多非計算機專業的同學可以零基礎的掌握程式設計這項技能,但真正去解決一些底層的問題,應稍顯困難了。
“高階”的語言,其實更像是我們說話一樣,但是這種語言有一個致命的缺點,就是執行效率不高,因為需要層層的進行解釋、翻譯,才能到最終的機器語言。
什麼意思呢?就是高階語言之所以效率低,是因為它必須轉化一層,先把高階語言轉化成低階語言,再去讓機器執行,而轉化這一步有一個東西叫:編譯器。它的作用就是把高階語言轉化成機器能夠識別的低階語言,再讓機器執行!多了一步操作,效率自然就低了!
高階語言的好處就是降低了程式設計的門檻,可以讓更多的人參與程式設計了。
高階語言不能說高階,是相對於低階語言來說的,低階語言例如組合語言是面向機器的語言,是和具體的計算機結合使用的,而高階語言有自己的一整套編譯系統,可以脫離具體的計算機,可移植性好,例如C/C++語言,這些語言屬於高階語言,同時又兼顧低階語言的一些特點,例如可以透過指標來直接操作記憶體,所以這些高階語言的執行效率很高。
當前很多程式設計師喜歡用集成了視覺化開發環境的高階語言,例如VB、C#,這些由微軟開發的整合開發環境功能很強大,同時又是基於事件驅動和麵向物件的開發套件,它們也是高階語言,因為他們的視覺化開發環境很強大,很多物件,函式都已經封裝好可以直接被使用,這些功能C/C++都不能比,因此更適合開發資訊管理類軟體。