‘高级编程语言’其实亦是一个相对的概念(相针对低级语言),他俩的语言特性是相互衬托的。
在上一篇文案 编程语言-什么是低级语言? 中间商绍了低级语言的种类及其特性,低级语言的一个很显著的特征便是:执行效率高,编写麻烦(对程序员不友好),那样高级语言自然而然就要取其精华,罢黜糟粕,说人话便是使人们容易的对设备发出干活指令,此时的目的就确定了:实现下图中执行过程
然而以上目的在很早之前就已然实现了,像日前比较平常的C、C++、Java、Python.....这几种高级语言实现思维上各有其特殊,简单的说下
C++
C++实现以上的目的方式是有一套自己的编译器,编译器便是将“高级语言”翻译为“设备语言(低级语言)”的程序。简要地便是
源代码 ---- 编译器 ---- 汇编程序 ---- 操作硬件
当然c++的编译器的这个程序按照实现的细节区别分为多种家族 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实现以上的目的方式是有JVM(Java Virtual Machine) 俗叫作Java虚拟机,JVMhi会将Java代码编译转化为符合JVM规范的.class文件(内部为16进制代码),而后JVM再将16进制代码传达给操作系统(大体规律是这般)。相关JVM的介绍请查阅 深入理解Java虚拟机 –阅读笔记(连载1) 无关性基石
Python
Python实现以上的目的方式是有其强大的解释器(Interpreter),解释器能够把高级编程语言一行一行直接转译运行。
对比:
c++:c++程序必须写完后再交给g++等编译器再去编译而后运行
Java:一样是要写完后让虚拟机去执行
(好比写完中文后再用翻译软件全文翻译后让他人读懂)
Python:即时解释(编译),效率相比上面两个要高非常多,就相当于身边有个翻译官,你说的每句话都实时地翻译成其他语言,同声传译。
高级编程语言让运用者更加多的关注程序本身,而不必去刻意关心操作硬件指令的设备码(易编写、守护),这亦是高级语言之因此能发展到今天的不败特性。
更加多精彩内容请关注 公众号:数据与编程之美
|