集成开发环境

集成开发环境（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、Spyder）。

歷史 
当人们开始在主机或终端机进行开发时，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文件中将最基本的完整代码替你写出来，你只需要在需要修改的地方修改或者增加就可以完成很多功能。

参考文献

参见 

 整合開發環境列表
 軟件開發工具包（SDK）
 工具程式
 軟件工程
 軟件工程主題列表
 電腦輔助軟件工程
 快速應用程序開發

程序设计工具