编程语言-什么是高级语言?
文章福利:私藏已久的python書籍分享一波,附閱讀順序
高級編程語言’其實也是一個相對的概念(相對于低級語言),他倆的語言特性是相互襯托的。
在上一篇文章 ?編程語言-什么是低級語言? 中介紹了低級語言的種類及其特性,低級語言的一個很明顯的特征就是:執(zhí)行效率高,編寫麻煩(對程序員不友好),那么高級語言自然而然就要取其精華,罷黜糟粕,說人話就是使人們?nèi)菀椎膶C器發(fā)出干活指令,此時的目標就確定了:實現(xiàn)下圖中執(zhí)行過程
然而上述目標在很早之前就已經(jīng)實現(xiàn)了,像目前比較常見的C、C++、Java、Python.....這幾種高級語言實現(xiàn)思維上各有其特色,簡單的說下
C++
C++實現(xiàn)上述的目標方式是有一套自己的編譯器,編譯器就是將“高級語言”翻譯為“機器語言(低級語言)”的程序。簡要的說就是
源代碼 ---- 編譯器 ---- 匯編程序 ---- 操作硬件
當然c++的編譯器的這個程序根據(jù)實現(xiàn)的細節(jié)不同分為多種家族?
- GCC家族(Cygwin、Mingw32、DJGPP...)
- MS家族(MSC、MSQC、MSVC...)
- Borland家族(TC、BC、BCB...)
c++輸出:This is a C++ program.
#include <iostream> using namespace std; int main() {cout<<"This is a C++ program.\n"; getchar(); return 0; }Java
Java實現(xiàn)上述的目標方式是有JVM(Java Virtual Machine) 俗稱Java虛擬機,JVMhi會將Java代碼編譯轉(zhuǎn)化為符合JVM規(guī)范的.class文件(內(nèi)部為16進制代碼),然后JVM再將16進制代碼傳達給操作系統(tǒng)(大體邏輯是這樣)。有關(guān)JVM的介紹請查閱 深入理解Java虛擬機 –閱讀筆記(連載1) 無關(guān)性基石
標題Python
Python實現(xiàn)上述的目標方式是有其強大的解釋器(Interpreter),解釋器能夠把高級編程語言一行一行直接轉(zhuǎn)譯運行。
對比:
c++:c++程序需要寫完后再交給g++等編譯器再去編譯然后運行
Java:同樣是要寫完后讓虛擬機去執(zhí)行
(好比寫完中文后再用翻譯軟件全文翻譯后讓他人讀懂)
Python:即時解釋(編譯),效率相比上面兩個要高很多,就相當于身邊有個翻譯官,你說的每句話都實時的翻譯成其他語言,同聲傳譯。
高級編程語言讓使用者更多的關(guān)注程序本身,而不必去刻意關(guān)心操作硬件指令的機器碼(易編寫、維護),這也是高級語言之所以能發(fā)展到今天的不敗特性。
更多精彩內(nèi)容請關(guān)注 公眾號:數(shù)據(jù)與編程之美
總結(jié)
以上是生活随笔為你收集整理的编程语言-什么是高级语言?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dhtml_DHTML乌托邦:使用Jav
- 下一篇: synology nfs_如何为您的Sy