跳轉到內容

軟體工程/工具/IDE 簡介

來自華夏公益教科書
Anjuta,一個針對 GNOME 環境的 C 和 C++ IDE

一個整合開發環境 (IDE)(也稱為整合設計環境整合除錯環境)是一個軟體應用程式,它為計算機程式設計師提供全面的軟體開發設施。IDE 通常包含

  • 一個原始碼編輯器
  • 一個編譯器和/或一個直譯器
  • 構建自動化工具
  • 一個偵錯程式

有時,版本控制系統和各種工具被整合在一起,以簡化 GUI 的構建。許多現代 IDE 還擁有一個類瀏覽器、一個物件檢查器和一個類層次結構圖,用於面向物件軟體開發。[1]

IDE 的設計旨在透過提供緊密結合且使用者介面相似的元件來最大限度地提高程式設計師的生產力。這意味著程式設計師需要進行更少的模式切換,而不是使用離散的開發程式。但是,由於 IDE 本身是一個複雜的軟體,因此這種更高的生產力只有在經過長時間的學習過程後才會出現。

通常,IDE 專注於特定程式語言,允許提供最符合該語言程式設計正規化的功能集。但是,也有一些多語言 IDE,例如 Eclipse、ActiveState Komodo、最近版本的 NetBeans、Microsoft Visual Studio、WinDev 和 Xcode。

IDE 通常會呈現一個單一程式,其中進行所有開發。該程式通常提供許多功能,用於編寫、修改、編譯、部署和除錯軟體。其目標是抽象化將命令列實用程式組合在一起以形成一個連貫單元所需的配置,這在理論上可以減少學習語言的時間,並提高開發人員的生產力。人們還認為,緊密整合開發任務可以進一步提高生產力。例如,可以在編寫程式碼時編譯程式碼,從而提供有關語法錯誤的即時反饋。雖然大多數現代 IDE 都是圖形化的,但在視窗系統(如 Microsoft Windows 或 X11)出現之前使用的 IDE 都是基於文字的,使用功能鍵或熱鍵來執行各種任務(Turbo Pascal 是一個常見的例子)。這與使用 vi、GCC 或 make 等無關工具進行軟體開發形成對比。

GNU Emacs,一個可擴充套件的編輯器,通常用作類 Unix 系統上的 IDE

IDE 最初是在透過控制檯或終端進行開發時成為可能的。早期系統無法支援一個 IDE,因為程式是使用流程圖準備的,在將它們提交給編譯器之前,用穿孔卡片(或紙帶等)輸入程式。Dartmouth BASIC 是第一個使用 IDE 建立的語言(也是第一個設計用於在控制檯或終端前使用)。它的 IDE(Dartmouth 時間共享系統的一部分)是基於命令的,因此看起來不像當今流行的選單驅動、圖形化 IDE。但是,它以與現代 IDE 一致的方式集成了編輯、檔案管理、編譯、除錯和執行。

Keyboard Maestro [2]

Maestro I 是 Softlab Munich 的一款產品,是世界上第一個用於軟體的整合開發環境[3] 1975 年。Maestro I 安裝在全球 22,000 名程式設計師的電腦上。截至 1989 年,德意志聯邦共和國存在 6,000 個安裝。在 20 世紀 70 年代和 80 年代,Maestro I 無疑是該領域的全球領導者。今天,最後一個 Maestro I 可以是在阿靈頓的資訊科技博物館中找到。

Softbench 是第一個採用外掛概念的 IDE 之一。1995 年,《計算機週報》評論說,開發人員對使用 IDE 並不歡迎,因為它會限制他們的創造力。

視覺化程式設計

[編輯 | 編輯原始碼]

視覺化程式設計是一種使用場景,在這種場景中通常需要 IDE。視覺化 IDE 允許使用者透過移動程式設計構建塊或程式碼節點來建立新的應用程式,以建立流程圖或結構圖,然後對其進行編譯或解釋。這些流程圖通常基於統一建模語言。

這種介面已經透過樂高 Mindstorms 系統普及,並且正在被許多希望利用自定義瀏覽器(如 Mozilla 中的瀏覽器)功能的公司積極採用。KTechlab 支援 flowcode,是一個流行的開源 IDE 和模擬器,用於開發微控制器軟體。視覺化程式設計還負責分散式程式設計的功能(參見 LabVIEW 和 EICASLAB 軟體)。一個早期的視覺化程式設計系統 Max,是根據模擬合成器設計建模的,自 1980 年代以來一直被用於開發即時音樂表演軟體。另一個早期的例子是 Prograph,這是一個最初為 Macintosh 開發的資料流系統。圖形化程式設計環境“Grape”用於程式設計 qfix 機器人套件。

這種方法也用於專業軟體中,例如 Openlab,其中終端使用者希望擁有完整程式語言的靈活性,而無需與傳統程式語言相關的傳統學習曲線。

Mindscript 是一個開源視覺化程式設計系統,它擴充套件了密碼學、資料庫介面的功能。

語言支援

[編輯 | 編輯原始碼]

一些 IDE 支援多種語言,例如 Eclipse 或 NetBeans(均基於 Java),或 MonoDevelop(基於 C#)。

對替代語言的支援通常由外掛提供,允許將它們同時安裝在同一個 IDE 上。例如,Eclipse 和 Netbeans 為 C/C++、Ada、Perl、Python、Ruby 和 PHP 等語言提供外掛。

不同計算平臺的態度

[編輯 | 編輯原始碼]

許多 Unix 程式設計師認為,傳統的命令列 POSIX 工具構成一個 IDE,Template:Who 儘管它具有不同的介面風格,並且在 Unix 環境下執行。許多程式設計師仍然使用 makefile 及其派生工具。此外,許多 Unix 程式設計師使用 Emacs 或 Vim,它們集成了對許多標準 Unix 構建工具的支援。資料顯示偵錯程式旨在成為許多基於文字的偵錯程式標準工具的先進圖形前端。

在各種 Microsoft Windows 平臺上,很少使用命令列工具進行開發。因此,存在許多商業和非商業解決方案,但是它們各自具有不同的設計,通常會造成不相容性。大多數主要的 Windows 編譯器供應商仍然提供其命令列工具的免費副本,包括 Microsoft(Visual C++、平臺 SDK、Microsoft .NET Framework SDK、nmake 實用程式)、Embarcadero Technologies(bcc32 編譯器、make 實用程式)。

此外,免費軟體 GNU 工具(gcc、gdb、GNU make)在許多平臺上都可用,包括 Windows 等。

IDE 一直在 Apple Macintosh 的 Mac OS 上很受歡迎,可以追溯到 1980 年代中期 Macintosh Programmer's Workshop、Turbo Pascal、THINK Pascal 和 THINK C 環境。目前,Mac OS X 程式設計師可以選擇有限的 IDE,包括 Xcode 等原生 IDE、CodeWarrior 等舊 IDE,以及 Eclipse 和 Netbeans 等開源工具。ActiveState Komodo 是一個在 Mac OS 上支援的專有 IDE。

參考文獻

[編輯 | 編輯原始碼]
  1. Dana Nourie (2005-03-24). "整合開發環境入門". Sun Microsystems, Inc. Retrieved 2008-09-09.
  2. 圖片來源:阿靈頓資訊科技博物館
  3. "互動式程式設計作為系統熱潮" 來自《計算機週刊》(德語)
華夏公益教科書