我來寫個科普帖吧!我寫的應該盡量通俗易懂,能夠讓大家很容易的理解語言的"高級"和"低級"。
語言的高級是相對來說的!我把話解釋的簡單點,就是
人類越容易理解的語言就是高級語言,而機器越容易理解的語言就是低級語言!在編程的世界里,低級語言是比較難得,而且執行性能是比較高,快的。
我們都知道低級語言一般指的是機器語言,匯編語言,而編程的最終目的,是讓機器執行我們寫的代碼!在編程的世界里,尤其是硬件,機器層面,邏輯只有0和1,也就是二進制,去控制機器!
而越是低級的語言就是越接近二進制的指令,甚至是二進制的指令,這樣機器特別容易理解,所以執行效率比較高,執行速度快!
而高級語言呢,是接近我們人類的語言,我們容易理解,但是機器可能就不容易理解了。
說白了,編程語言的“高級”是為能夠更方便、更專注的讓程序員做更多的事情,所以人們才會基于相對低級的編程語言去開發新的編程語言,以此來屏蔽掉一些底層的操作,這也是為什么越來越多非計算機專業的同學可以零基礎的掌握編程這項技能,但真正去解決一些底層的問題,應稍顯困難了。
“高級”的語言,其實更像是我們說話一樣,但是這種語言有一個致命的缺點,就是運行效率不高,因為需要層層的進行解釋、翻譯,才能到最終的機器語言。
什么意思呢?就是高級語言之所以效率低,是因為它必須轉化一層,先把高級語言轉化成低級語言,再去讓機器執行,而轉化這一步有一個東西叫:編譯器。它的作用就是把高級語言轉化成機器能夠識別的低級語言,再讓機器執行!多了一步操作,效率自然就低了!
高級語言的好處就是降低了編程的門檻,可以讓更多的人參與編程了。