程序->由一系列指令组成
指令包括输入,输出,基本运算,测试与分支,循环
低级语言:机器,汇编
高级语言:Java,c,c++,Python
l:c语言通过编译器一对多汇编,汇编通过汇编器一对一机器语言
编译语言c/c++:源代码-编译器-可执行文件-运行
解释性语言java:源代码-编译器-字节码-java虚拟机-解释执行字节码
解释性与编译性语言的优缺点:
时间效率:1.因为解释性语言是一行一行运行代码,每一行代码都会经历编译的过程,而编译性语言是将整个文件先进行编译生成可执行文件再运行因此会花费更多时间。
2.但是如果进行开发调试解释性语言可以逐行进行编译和解释,而另一个则是全部所以可以使调试周期更短
平台无关性:
1.编译形语言会将源码编译成针对某CPU的特定的机器代码,放在其他的系统需要重新编译。
2.解释形语言先编译成适合某CPU的中间代码,再通过虚拟机解释得到实现
假如两个系统一起运行某代码,编译形则需要生成两个专门的可执行文件,而解释形则可以一起运行。因为就是一行一行代码执行,所以解释形代码平台无关性更强。
自然语言:人类所说的语言,自然形成的
形式语言:编程语言之类的
syntax包括token的lexical和structure的grammar
用gcc源码编译时候加一个wall可以实现显示所有包括隐藏的warning