統合開発環境

統合されたユーザーエクスペリエンスを提供するソフトウェア開発ツール

デスクトップ オペレーティング システム上で実行される統合開発環境

統合開発環境IDE)は、ソフトウェア開発のための比較的包括的な機能セットを提供するソフトウェアです。IDEは、 viGDBGCCmakeなどの個別のツールを使用するのではなく、一貫したユーザーエクスペリエンスで開発機能を提供することで、生産性を向上させることを目的としています

IDE は通常、少なくとも、ソースコード編集ソース管理ビルド自動化デバッグをサポートします。 IDE には、コンパイラランタイム環境バージョン管理システムなどの統合ツールのサポートが含まれる場合もありますが、そのようなツールは IDE にバンドルされている場合もあります。 一部の IDE は、グラフィカル ユーザー インターフェイス(GUI) を構築するための特別なサポートを提供します。 多くの IDE は、クラス ブラウザーオブジェクト ブラウザーなどの機能を通じてオブジェクト指向プログラミングをサポートします。 通常、IDE は 1 つ以上のプログラミング言語に対して特別なサポートを提供し、言語に合わせた機能を可能にします。 一部の IDE は、追加の言語をサポートするように拡張できます。

一部のIDEはアプリケーションとして実装されていますが、一部のIDEはライブラリとして実装されており、多くの場合、特定のソフトウェアプラットフォーム向けに設計されています。例えば、EclipseはIDEエクスペリエンスを提供するプラグインが多数存在するプラットフォームですが、コアアプリケーションにはそのようなプラグインはありません。[a]

現代のIDEはGUIを提供していますが、WindowsX Window System(X11)のようなウィンドウシステムが利用可能になる前からIDEは存在していました。例えば、DOS用のTurbo Pascalは、フルスクリーンのテキストベースのユーザーエクスペリエンスを提供していました。

歴史

IDE は当初、コンソールまたはターミナル経由で開発を行うときに可能になりました。初期のシステムでは、プログラムがパンチカード紙テープなどを経由してコンパイラアセンブラに送信されていたため、IDE をサポートできませんでした。Dartmouth BASIC はIDE で作成された最初の言語でした (また、コンソールまたはターミナルの前に座って使用するために設計された最初の言語でもありました)。[要出典]その IDE ( Dartmouth Time-Sharing Systemの一部) はコマンドベースであったため、グラフィカル ユーザー インターフェイスの登場後に人気となったメニュー駆動型のグラフィカル IDE とは似ても似つきません。ただし、編集、ファイル管理、コンパイル、デバッグ、実行が現代の IDE と一貫性のある方法で統合されていました。

Maestro IはミュンヘンのSoftlab社が開発した世界初のソフトウェア統合開発環境[1]です。Maestro Iは世界中で22,000人のプログラマーに導入され、1989年までにドイツ連邦共和国には6,000台が導入されました。Maestroは1970年代から1980年代にかけて、この分野における世界的リーダーであったと言えるでしょう。現在、最後のMaestro Iの1台がテキサス州アーリントンの情報技術博物館に展示されています。

プラグインコンセプトを採用した最初のIDEの一つはSoftbenchでした。1995年、Computerwoche誌は、IDEの使用は開発者の創造性を制限するため、あまり受け入れられていないと評しました。

2023年8月現在、 Google検索[update]で最も多く検索されたIDEはVisual StudioVisual Studio CodeEclipseでした[2]

特徴

IDE によく見られる機能は次のとおりです。

言語サポート
GNU EmacsIntelliJ IDEAEclipseMyEclipseNetBeansMonoDevelop、JDoodle、PlayCodeなど、一部のIDEは複数の言語をサポートしています。代替言語のサポートはプラグインによって提供されることが多く、同じIDEに同時にインストールできます。たとえば、Flycheckは39の言語をサポートするGNU Emacs 24用の最新のオンザフライ構文チェック拡張機能です。 [3]もう1つの例は、88の言語をサポートするオンラインクラウドベースのIDEであるJDoodleです。[1] EclipseNetbeansには、 C / C++AdaGNAT(たとえばAdaGIDE)、PerlPythonRubyPHP用のプラグインがあり、ファイル拡張子、環境、またはプロジェクト設定に基づいて自動的に選択されます。
構文の強調表示
ソースコード編集機能には通常、構文の強調表示が含まれており、構造、言語キーワード、構文エラーを視覚的に異なる色とフォント効果で表示できます。[4]
継続的な構文チェック
コード構文は編集中に継続的に検証でき、ビルドが実行されるまで開発者が待つのではなく、エラーが導入されたときにエラーを提供できます。
コード検索
IDEは、クラスや関数の宣言、使用箇所、変数やフィールドの読み書きなどの検索をサポートする場合があります。IDEは、コード検索のために、フォームベースのウィジェット[5]や自然言語ベースのインターフェースなど、様々な種類のユーザーインターフェースを使用できます。IDEは、宣言の実装の検索もサポートする場合があります。[6]
コード補完
リファクタリング[4]
バージョン管理[4]
簡素化された構成
IDEの典型的な目的の一つは、複数の開発ユーティリティを統合するために必要な設定作業を削減することです。IDEは、統一された設定環境を提供することでセットアップ時間を短縮し、生産性を向上させることができます。特に、複数のツールを統合して習得するよりも、IDEの使い方を習得する方が早い場合などに有効です。
デバッグ
デバッグサポートには通常、エディタでのブレークポイントの設定、ステップの視覚的なレンダリングなどが含まれます。[7]
ビジュアルプログラミング
Visual Basicでは、プログラミング、ビルディングブロック、またはコードノードを移動してフローチャートや構造図を作成し、コンパイルまたは解釈することでアプリケーションを設計できます。これらのフローチャートは、多くの場合、統一モデリング言語(Unified Modeling Language)に基づいています。
このインタフェースは、 Lego Mindstormsシステムで普及し、 Mozillaに見られるようなカスタムブラウザの力を活用したいと考える多くの企業で積極的に採用されていますKTechlab はフローコードをサポートしており、マイクロコントローラのソフトウェア開発用の人気の高いオープンソース IDE およびシミュレータです。 ビジュアルプログラミングは、分散プログラミングの威力も担っています( LabVIEWおよび EICASLAB ソフトウェアを参照)。[説明が必要]初期のビジュアルプログラミングシステムであるMaxは、アナログシンセサイザーの設計をモデルにしており、 1980 年代からリアルタイム音楽演奏ソフトウェアの開発に使用されてきました。 もう 1 つの初期の例は、もともとMacintosh用に開発されたデータフローベースのシステムであるPrographです。 グラフィカルプログラミング環境「GRAPE 」は、 qfix ロボットキットのプログラミングに使用されます
このアプローチは、Openlab などの専門的なソフトウェアでも使用されています。[説明が必要]エンド ユーザーは、従来の学習曲線なしで完全なプログラミング言語の柔軟性を求めています。

使用

IDEは長年にわたり、そして今日でもなお、Unix系環境よりもWindows環境で広く使用されています。注目すべき例外はAppleプラットフォームです。IDEは、1980年代半ばのMacintosh Programmer's WorkshopTurbo Pascal、THINK Pascal、THINK C環境にまで遡る、クラシックMac OSおよびmacOSで人気を博してきました。現在、macOSプログラマーは、 XcodeなどのネイティブIDEと、 EclipseNetbeansActiveState Komodoなどのサードパーティ製ツールのどちらかを選択できます

外部プラグインを介して自動補完とリンティングを統合したVim
GNU Emacs は、 Unix系システムでIDEとしてよく使用される拡張可能なエディタです。

IDEの代わりに、Unix系環境向けのソフトウェア開発では、 GNUツールチェーンGCCGDBmakeを含む)[10 ]などのさまざまなコマンドラインツール[8] [9]や、 Emacs [11] [12] [13]Vimなどのテキストエディタを使用することが多い。プログラマーの中には、 IDEが提供するビルド構成エクスペリエンスよりもmakefile(および同様のビルドファイル)の管理を好む人もいる。たとえば、PostgreSQLデータベースの貢献者のほとんどは、makeとGDBを直接使用している。[14] Visual C++を使用してWindows用のPostgreSQLをビルドする場合でも、 IDEの機能に頼るのではなく、 makeの代わりにPerlスクリプトを使用している。 [15] Geanyなどの一部のLinux IDEは、従来のビルド操作にグラフィカルなフロントエンドを提供しようとしている。Data Display Debuggerは、多くのテキストベースのデバッガーツールのグラフィカルなフロントエンドである

オンライン

オンライン統合開発環境(オンラインIDE)は、Web IDEまたはクラウドIDEとも呼ばれ、ソフトウェア開発またはWeb開発を可能にするブラウザベースのIDEです。 [16]オンラインIDEはWebブラウザからアクセスできるため、ポータブルな作業環境を実現します。オンラインIDEは通常、従来のIDEやデスクトップIDEと同じ機能をすべて備えているわけではありませんが、構文の強調表示などの基本的なIDE機能はすべて備えています。

モバイルベースの統合開発環境(IDE)は、モバイルプラットフォーム上でのソフトウェア開発に必要な包括的なツールスイートを提供するソフトウェアアプリケーションです。従来のデスクトップIDEとは異なり、モバイルベースのIDEはスマートフォンやタブレット上で動作するように設計されており、開発者はモバイルデバイスから直接コードを記述、デバッグ、デプロイできます。

エージェント開発環境

IDEにおけるAIアシスタンスが増加するにつれ、エージェント開発環境(ADE)の概念が登場し始めました。エージェントはコード補完を提案するだけでなく、コードの説明、バグの分析、解決策の提案、計画、実装までを行います。GitHub Copilot、Cline、Visual Studio CodeのContinueのように、IDEにプラグインとして組み込まれるADEもあれば、Windsurf、Cursor、Google Antigravityのように深く統合されているADEもあります。Zed EditorにもオプションのAIが搭載されており、開発中のJetbrains Fleet Editorは開発中止となり、Jetbrains AirというADEがベースとなっています。[17]

参照

注記

  1. ^ Eclipseは、元々Java IDEプラグインと共にインストールされることが一般的であり、現在でもその傾向が強いため、IDEと呼ばれることがよくあります。プラグインは開発環境を提供します。プラグインが有効になっていない場合、Eclipseアプリケーションは統合開発環境(IDE)の典型的な基本機能を含むエクスペリエンスを提供できません。

参考文献

  1. ^ "Interaktives Programmieren als Systems-Schlager" from Computerwoche (ドイツ語)
  2. ^ 「TOP IDE トップ統合開発環境インデックス」. pypl.github.io . 2023年8月8日閲覧
  3. ^ “Introduction - Flycheck 0.18-cvs”. Read the Docs . 2014年3月10日時点のオリジナルよりアーカイブ。 2014年3月10日閲覧
  4. ^ abc 「コースCS350 統合開発環境」. cs.odu.edu . オールドドミニオン大学. 2018年10月10日閲覧
  5. ^ 「Eclipse Cookbook - コードの検索」O'Reilly
  6. ^ Stolee, Kathryn T.; Elbaum, Sebastian; Dobos, Daniel (2014). 「ソースコード検索の解決」 . ACM Transactions on Software Engineering and Methodology . 23 (3): 1– 45. doi :10.1145/2581377. ISSN  1049-331X. S2CID  8558710.
  7. ^ 「プログラミングソフトウェアとIDE」BBC Bitesize . 2018年10月9日時点のオリジナルよりアーカイブ。 2018年10月10日閲覧
  8. ^ レーマン、クリストファー・ポール、クリストファー・R・ポール著。「Linux開発プラットフォーム:完全なプログラミング環境の設定、使用、保守」、2002年、 ISBN 0-13-009115-4
  9. ^ "UnixIsAnIde".
  10. ^ 「EmacsをMicrosoft Visual C++で使用...EmacsをIDEとして使用」。2013年7月4日時点のオリジナルよりアーカイブ。
  11. ^ 「Emacs: フリーソフトウェアIDE | Linux Journal」。www.linuxjournal.com
  12. ^ 「Common Lisp クックブック - Emacs を Lisp IDE として使用する」cl-cookbook.sourceforge.net
  13. ^ 「EmacsをPerl IDEとして使う」obsidianrook.com . 2016年5月21日時点のオリジナルよりアーカイブ2011年5月11日閲覧。
  14. ^ 「開発者向けFAQ - PostgreSQL wiki」。wiki.postgresql.org
  15. ^ 「第18章 Windowsでのソースコードからのインストール」PostgreSQLドキュメント. 2021年9月29日.
  16. ^ 「Webベースとデスクトップベースのツール – EclipseSource」eclipsesource.com . 2018年6月19日。
  17. ^ https://www.jetbrains.com/help/air/quick-start-with-air.html
Retrieved from "https://en.wikipedia.org/w/index.php?title=Integrated_development_environment&oldid=1328308762"