发展历程
从开始在主机或终端机开发程序,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文件中将最基本的完整代码替你写出来,你只需要在需要修改的地方修改或者增加就可以完成很多功能。1
应用优势较早期程序设计的各个阶段都要用不同的软件来进行处理,如先用字处理软件编辑源程序,然后用链接程序进行函数、模块连接,再用编译程序进行编译,开发者必须在几种软件间来回切换操作。现在的编程开发软件将编辑、编译、调试等功能集成在一个桌面环境中,这样就大大方便了用户。
例如,BASIC语言在微软Office软件中可以使用,可以在微软Word文档中编写WordBasic程序。IDE为用户使用Visual Basic、Java和PowerBuilder等现代编程语言提供了方便。 不同的技术体系有不同的IDE。比如Visual Studio .NET可以称为C++、VB、C#等语言的集成开发环境,所以Visual Studio .NET可以叫做IDE。同样,Borland的JBuilder也是一个IDE,它是Java的IDE。Eclipse也是一个IDE,可以用于开发Java语言和C++语言。
IDE也常被用于开发HTML应用。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver、FrontPage,等等),因为很多项任务会自动生成。IDE集成代码编辑、代码生成、界面设计、调试、编译等功能,目前还融合了建模功能。
优点和缺点优点节省时间和精力。IDE的目的就是要让开发更加快捷方便,通过提供工具和各种性能来帮助开发者组织资源,减少失误,提供捷径。
建立统一标准。当一组程序员使用同一个开发环境时,就建立了统一的工作标准,当IDE提供预设的模板,或者不同团队分享代码库时,这一效果就更加明显了。
管理开发工作。首先,IDE提供文档工具,可以自动输入开发者评论,或者迫使开发者在不同区域编写评论。其次,IDE可以展示资源,更便于发现应用所处位置,无需在文件系统里面艰难的搜索。
缺点学习曲线问题。IDE基本上是比较复杂的工具,为了更好的熟练使用,需要一定的时间和耐心。
初学者的困难。对初学者来说,使用IDE来学习开发有相当的难度,不适合学习一种新语言时使用。
无法修复坏代码或设计。开发者不能完全依赖工具的便捷,还是必须保持专业水准和熟练度,开发的成果好坏主要还是看开发员的技术。
常见的IDEMicrosoft Visual StudioMicrosoft Visual Studio(简称VS)是微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台.如果你在做Windows的应用开发,那么使用Microsoft自己的开发工具肯定没错。Visual Studio产品包含C++、C#和VB.NET语言。还可以为Windows x86、Windows RT和Windows手机做开发。最新版被优化为可用于触摸,方便使用Microsoft Surface平板进行编程的开发者。开发者需要付费购买。
EclipseEclipse是著名的跨平台开源集成开发环境(IDE)。最初主要用来Java语言开发,目前亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性,所以许多软件开发商以Eclipse为框架开发自己的IDE。