编译器和集成开发环境的区别
编译器 在书本上定义为以某一种程序设计语言所编写的程序作为翻译或加工的对象,将它翻译成与之等价的另一种语言的程序。
集成开发环境 在维基百科定义为一种辅助程序开发人员开发软件的应用软件,在开发工具内部就可以辅助编写源代码文本、并编译打包成为可用的程序,有些甚至可以设计图形接口。
从上面两个关键词的定义可以看出编译器和集成开发环境的关系是集成开发环境包含了编译器,也就是说编译器是集成开发环境的子集。
# 有哪些是集成开发环境呢?
在市面上有许许多多的集成开发环境,闭源的代表有 JetBrains,开源的代表则就有 Eclipse,除了这两家外还有微软等等许多。
- JetBrains
JetBrains 是一家捷克的软件开发公司,开发了很多有名的大家耳熟能详的集成开发环境,其中我们最熟悉的莫过于 idea 了,这是一款主要用于 Java 编程语言开发,除了 idea 还有好多其他语言的集成开发环境,如下:
集成开发环境 | 主要功能 |
---|---|
AppCode | Swift 和 Objective-C IDE 开发工具 |
CLion | 跨平台的 C/C++ IDE 开发工具,支持 C++11 、C++14、libc++以及 Boost。 |
DataGrip | 一款数据库客户端工具 |
GoLand | Go 语言的集成开发环境。 |
PhpStorm | PHP IDE 开发工具。 |
PyCharm | 一款结合了 Django 框架的 Python IDE 开发工具。 |
Rider | 一款快速,功能强大,跨平台的 .NET IDE 开发工具。 |
RubyMine | 一套强大的 Ruby on Rails IDE 开发工具。 |
WebStorm | JavaScript 的开发工具。 |
- Eclipse
Eclipse 最初是由 IBM 公司开发的替代商业软件 Visual Age for Java 的下一代 IDE 开发环境,2001 年 11 月贡献给开源社区,现在它由非营利软件供应商联盟 Eclipse 基金会(Eclipse Foundation)管理。
# VS Code 是不是 IDE 呢?
这时候可能会有一个问题那就是我们日常使用的最多比较轻便小巧的工具 VS Code 是不是 IDE 呢?
VS Code 其实并不是一款 IDE 而是一款由微软领导开发的一款跨平台的免费源代码编辑器。
相较于 IDE 编辑器更加的小巧轻便,但是在很多的地方却没有 IDE 来的那么省心。
在使用 VS Code 开发的时候我们如果不进行任何的配置而直接使用的话,我的使用的将是一个有语法高亮、代码格式化、快捷操作等等基础源代码编辑功能的编辑器,就好像在使用一个专门对代码书写优化过的 Word。
如果需要编辑完代码后远行代码并进行调试的话还需要配置相关的插件以及对应的编译器,比如我要远行一个 C 语言的代码,我则需要先下载一个运行 C 语言的插件,他可以为 VS Code 提供图形界面运行按钮到应编译命令之间的链接,之后还要下载对应的 C 语言编译器如 GCC,在完成上述步骤之后 VS Code 才能实现运行 C 语言代码和调试。
对应的编辑器除了 VS Code 以外还有许多,但有一个奇怪的现象是他们大多都是开源的,其中有如下:
- Atom (目前已经停止了开发,因为这个的主导者是 GitHub,但后来 GitHub 给 微软收购了,微软自己本就有一个 VS Code,所以在收购 GitHub 后没几年就取消了这个项目
- Emacs
- vi/Vim/Neovim
- Notepad++
- Sublime Text
# 编译器都有哪些?
通过上面的了解可以知道其实我们日常使用到的直接编辑代码、并运行代码、调试代码的工具其实都不是编译器,那么编译器的真面目其实是什么呢?其实在上面介绍编辑器的时候我们已经稍微提到了那就是 GCC 这一类的工具。
这一类工具一般都是没有图形界面而是通过命令进行交互的,各个语言对应的常用的编译器如下:
语言 | 编译器 |
---|---|
C | GCC/Clang |
C++ | GCC/Clang |
GO | gc/gccgo |
Python | CPython |
Java | javac |