IDE、编辑器、编译器、解释器、调试器

1. IDE(integrated)

集成开发环境,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。

常见IDE:

  • 微软 Visual Studio(VS)
  • NetBeans:(主要用于Java开发)是跨平台的IDE,支持Windows,Linux,OS X和Solaris等多种平台。
  • PyCharm:著名Python IDE,还支持如JavaScript等其他Web开发语言。
  • Code::Blocks:免费开源的自由软件,是一款支持高度定制跨平台IDE

ref: https://baijiahao.baidu.com/s?id=1596921669367023584&wfr=spider&for=pc

2. 编辑器

常用的代码编辑器有:Notepad++,EditPlus,vim,Sublime Text,WebStorm ,HBuilder,GNU Emacs,ATOM,Windows记事本等等…

 

3. 编译器

把源代码(高级语言)转换成(翻译)低级语言的程序。

源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。

 

4. 解释器

把一行行转译,再运行。运行速度较慢。比如Java、Perl、Python、basic、C#、PHP、Ruby、MATLAB等等。

解释器其实也包括编译过程,只是这个编译过程没有生成目标代码。Python解释器有很多种,包括:CPython,IPython,PyPy,常用是CPython

Python解释器由编译器和虚拟机构成,编译器将源代码转换成字节码,然后再通过Python虚拟机来逐行执行这些字节码。

1. 执行.py文件,此时启动python解释器 ——》

2.编译器将源文件解释成字节码——》

3.虚拟机将字节码转化成机器语言,与操作系统交互——》

4.程序运行结束后,将字节码存到pyc文件,便于后续继续执行。

 

解释器优缺点:优点是比较容易让用户实现自己跨平台的代码,比如Java,php等,同一套代码可以在几乎所有的操作系统上执行,而无需根据操作系统做修改。缺点是由于程序不需要编译,程序在运行时才翻译成机器语言,每执行 一次都要翻译一次,造成执行效率比较低。这也是为什么python编译的时候很慢,C程序编译起来很快的原因。

编译器优缺点:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差。编译器的目的就是生成目标代码再由连接器生成可执行的机器码,这样的话需要根据不同的操作系统编制代码,虽然有像Qt这样的源代码级跨平台的编程工具库,但在不同的平台上仍然需要重新编译连接成可执行文件,但其执行效率要远远高于解释运行的程序。