美文网首页ThoughtWorks创新实验室程序员程序语言
编辑器,编译器与集成开发环境(IDE)

编辑器,编译器与集成开发环境(IDE)

作者: hylerrix | 来源:发表于2016-08-03 22:40 被阅读2825次

    引言

    为了了解自己在校内建立的编程讨论群里学长学姐学弟学妹的大致比例,在群里做了一个小调查,根据结果来看,处处都恰到好处地映射了我们学校男女的比例—— 2:1 。投票参与人数比例约为 1/8 ,还是有很大的发展空间哈。

    群内年级性别调查表

    好了切入技术正题,本文我们来浅谈一下编辑器,编译器和集成开发环境(IDE)的区别,并介绍几款常用的编辑器和 IDE,提前掌握开发环境搭建前的知识储备。

    编辑器

    编辑器的概念很简单,百度百科上这么写道:

    编辑器是软件程序,一般是指用来修改电脑档案的编写软件,但也有人称 PE2、HE4(汉书)……等文书软件为编辑器。常见的编辑器有文本编辑器、网页编辑器、源程序编辑器、图像编辑器,声音编辑器和视频编辑器等。

    当然在这里我们主要讲的是代码编辑器,一个好的编辑器可以节省开发时间,提高工作效率,它们都能提供非常方便易用的开发环境。你可以用它们来编写代码,查看源文件和文档等,简化你的工作。

    以下是一些常用的代码编辑器,每个不同的编辑器都有不尽相同的目标用户群体。

    NodePad++

    Notepad++ 是一款免费但优秀的代码编辑器,运行在 Windows 环境下,可以支持多种编程语言。它在 50 多种程序、脚本和标记语言上都有着语法高亮、代码折叠等功能。用户可以人为设置当前语言,它还支持实现一些编程语言的API。

    NodePad ++

    Vim

    Vim 是从 vi 发展出来的一个文本编辑器,在程序员中被广泛使用。它支持语法高亮、显示行号,这都是对程序员重要的辅助功能。用户还可以更换界面的主题颜色,减缓长期编程的疲劳感,让代码更加清晰。它可以自动检查你的拼写错误,提高你的工作效率,对于开发者是一个非常好的选择。

    Vim

    GNU Emacs

    Emacs 是一个轻便、可扩展、免费的编辑器,它比其它的编辑器要更强大,是一个整合环境,或可称它为集成开发环境。它可以处理文字,图像,高亮语法,将代码更直观地展现给开发者。Emacs 可以运行在大多数的操作系统上,而且它支持大多数常用的编程语言,可以自动对代码排版布局。Emacs用户可以根据自身的需要和偏好对编辑器进行定制。

    Emacs

    Sublime Test

    Sublime Text 是具有漂亮的用户界面、强大功能和优良性能的一款代码编辑器,你可以在 Windows、OS X 和 Linux 等主流操作系统上安装并使用。

    Sublime Text

    Atom

    Atom是免费开源的文本和代码编辑器,它是运行在 Atom Shell 上,底层依赖的架构是 Chromium(Google Chorome的开源项目)。没有人想浪费大量的时间在配置编辑器上,而在 Atom 上几乎所有的设置都可以通过设置面板来更改配置,简单易用,上手很快。

    ATOM

    编译器

    之前的三种程序设计语言概要介绍过机器语言、编译语言和高级语言的区别,而编译器所做的就是进行这三种语言的互相转换。大多数情况下,编译是从更高级的语言(高级语言、汇编语言)编译成低级语言(汇编语言、机器语言)。

    另一种情况是,从他人的可执行程序(低级语言)编译成高级语言,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。这个过程叫做反向编译。


    一个现代编译器的主要工作流程

    这里使用 GCC 编译器的相关概念作出探讨。

    GCC 编译器

    GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C 语言。后来 GCC 通过很快地扩展变得可以处理 C++ 甚至 Fortran、Pascal、Objective-C、Java、Ada、Go 以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。

    由于 gcc 是命令行程序,没有特定的 UI 界面,我们在命令行可以用 GCC 进行一个简单的 C 语言编译测试,输出一个 “Hello GCC!”。

    命令行的 GCC 编译过程测试

    集成开发环境( IDE )

    可以看到,编辑器是用来让程序员优雅的敲代码,编译器是用来将这些高级语言或汇编语言编译成计算机能直接识别并运行的机器语言。如果我们每次编辑完源程序都要在命令行依托编译器进行函数、模块的链接和编译的话岂不是很麻烦,于是集成开发环境的出现很快的完善了开发效率问题。

    集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。

    由于每个 IDE 的针对性不同,承载的编译器不同,不同的语言有时需要不同的IDE,这里介绍几个常用 IDE。

    Dev C++

    Dev-C++是一个 Windows 环境下开发 C/C++ 语言的集成开发环境(IDE),它是一款自由软件,遵守 GPL 许可协议分发源代码。它集合了 MinGW 等众多自由软件,并且可以取得最新版本的各种工具支持,而这一切工作都是来自全球的狂热者所做的工作。Dev-C++ 是 NOI、NOIP 等比赛的指定工具,缺点是调试(Debug)功能弱。由于起初开发 Dev-C++ 在开发完 4.9.9.2 版本后停止开发,所以现在正由其它公司更新开发,但都基于 4.9.9.2。Dev-C++ 的最新版是 5.11 版本。

    DEV C++

    Visual Stdio

    Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如 UML 工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括 Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework 和 Microsoft Silverlight 及 Windows Phone。

    Visual Stdio

    Eclipse

    Eclipse是一个界面友好,供各种用户使用的 IDE,它提供了一系列的工具帮助 Web 和 Java 应用程序的开发。尽管 Eclipse 是使用 Java 语言
    开发的,但它的用途并不限于 Java 语言。它还支持如 C / C++、JavaScript、Perl、PHP、Fortran、Ruby、Python,甚至 COBOL 语言。它提供很多功能来简化你的开发,内置的工具和 API 支持项目部署、运行和测试。

    Eclipse

    当然,如果你有你自己最喜欢的代码编辑器这里没有提到,欢迎留言。

    相关文章

      网友评论

      • 野味狼果:哇 刚刚正想了解编辑器和IDE的区别时 就搜到你的博客啦 :+1:
      • 柯西没科气:Dev现在应该很少人用了吧
        柯西没科气:@韩亦乐 你这样说也有道理
        hylerrix:@时光带走了i的想念 新手都在用 VC 或 DEV 吧,那还有什么常用的呢?VS 太重不适合新手我觉得。。
      • a1872a65346b:亲 跟您请教个问题 Dev-C++编译时出现 source file not complied 怎么解决呀
        hylerrix:@Vivin 抱歉回复晚了,截图更好吧。。希望能加我 QQ 好友细聊:429348384~

      本文标题:编辑器,编译器与集成开发环境(IDE)

      本文链接:https://www.haomeiwen.com/subject/ahcxsttx.html