集成开发环境
此条目没有列出任何参考或来源。 (2021年4月2日) |
“集成开发环境”的各地常用名称 | |
---|---|
中国大陆 | 集成开发环境 |
台湾 | 整合开发环境 |
港澳 | 整合开发环境 |
软件开发 |
---|
核心行动 |
范式与模式 |
方法论与框架 |
支持行为 |
实践 |
工具 |
标准与知识体系 |
集成开发环境(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文件中将最基本的完整代码替你写出来,你只需要在需要修改的地方修改或者增加就可以完成很多功能。
参考文献