集成开发环境
此條目没有列出任何参考或来源。 (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文件中将最基本的完整代码替你写出来,你只需要在需要修改的地方修改或者增加就可以完成很多功能。
参考文献