集成开发环境

集成开发环境（Integrated Development Environment，简称IDE，也称为Integration Design Environment、Integration Debugging Environment）是一种辅助程式开发人员开发软体的应用软体，在开发工具内部就可以辅助编写原始码文本、并编译打包成为可用的程序，有些甚至可以设计图形介面。

IDE通常包括程式语言编辑器、自动构建工具、通常还包括除错器。有些IDE包含编译器／直译器，如微软的Microsoft Visual Studio，有些则不包含，如Eclipse、SharpDevelop等，这些IDE是通过调用第三方编译器来实现代码的编译工作的。有时IDE还会包含版本控制系统和一些可以设计图形用户界面的工具。许多支援物件导向的现代化IDE还包括了类别浏览器、物件检视器、物件结构图。虽然目前有一些IDE支援多种程式语言（例如Eclipse、NetBeans、Microsoft Visual Studio），但是一般而言，IDE主要还是针对特定的程式语言而量身打造（例如Visual Basic）。

当人们开始在主机或终端机进行开发时，IDE最初有了实现的可能。早期的程式语言在送进编译器处理之前，必须要先经过流程图、撰写表格、打卡，所以当时并不需要IDE。Basic是第一个有IDE的程式语言，同时也是第一个可以直接在主机或终端机前开发程式，他的IDE（Dartmouth Time Sharing System的一部份）是采取命令列的方式，并不像现代的IDE使用选单和图形化。但是他良好的整合了编辑、档案、管理、编译、除错、执行等功能，符合现代化IDE的特性。

今天，IDE这个词和一些没有关连性的命令列工具（像vi、emacs、make）是一种对照，虽然你可以把Unix当成是一个IDE，但是多数的程式开发人员会把IDE当成是一个可以完成各种开发工作的一个程式，这个IDE程式提供许多的功能，例如：制作、修改、编译、发布、除错。IDE的想法是把各种命令列的开发工具结合起来，提供一个抽象化的工具，来减少学习程式语言的时间，增加开发人员的生产力，同时也将各种开发工作做更密切的整合，来提高生产力，例如在写程式的时候就直接做编译，一发现有语法上的错误就立即回应。虽然现代的IDE多数是图形化的，但是IDE在视窗系统（windowing system，例如Microsoft Windows或X Window System）出现前就已经开始使用，在当时IDE是纯文字模式，透过功能键和热键来从事各项工作，例如Turbo Pascal就是一个例子。

近几年来，最有意思的发展是Eclipse和NetBeans这类开放原始码IDE的出现和流行，在结合开放原始码的精神—开放、可扩张之下，激发了人们成立社群以延伸这些IDE的能力，让这些IDE也能支援其他程式语言和其他的应用。

视觉化程式设计也越来越重要，所谓的视觉化程式设计和Visual Basic或Visual C++并不同，支援视觉化程式设计的IDE可以让开发人员直接移动程式单元来建立流程图和结构图，然后直接做编译或直译，这一类的流程图通常是以UML为基础。

这样的界面因为乐高的Mindstorms开始普及，一些公司也开始透过浏览器Mozilla和分散式程式设计（LabVIEW）往这方面努力。从1980年代开始，第一个视觉化程式设计系统—Max，就是以类比合成器的设计为榜样，同时被用来开发即时音乐演出软体。

这种方法也被用在专业软体，例如Openlab，这类的使用者需要完整程式设计语言的弹性，并不想要传统的学习曲线。

视觉化程式设计语言有另一个半免费和开放原始码的替代品－Mindscript，具有加密系统和连结资料库等等。

微软的Visual Basic是早期的典型的可视化开发环境。后来的包括Borland公司的Delphi等。

可视化开发环境的特点是“控件组装”。很多控件都是自己象画图一样组装起来的，开发环境解决了很多例行的、标准化的代码，比起非可视化的开发环境来说，更加直观，开发速度快，效率高。

以Delphi为例：Delphi包含了程序代码文件（.PAS）和控件布局文件（.dfm），当你在画布（FORM）上拖放一个按钮（BUTTON）时，Delphi开发环境会自动创建一个DFM文件标明BUTTON位置，并且自动在PAS文件中将最基本的完整代码替你写出来，你只需要在需要修改的地方修改或者增加就可以完成很多功能。