'''統合開発環境(IDE)'''は、プログラマがプログラムを書いたり、実行したり、デバッグするためのインタラクティブなユーザインタフェースを備えた環境を指します。IDEには、プログラミングに利用するプログラミング言語、コンパイラ、デバッガ、ツールキットやその他のツールが含まれます。一般的な'''ツール'''がプログラミング活動の一部だけを支援するものであるのに対し、'''環境'''は全体を支援するものです。このページはIDEが進化してきた歴史を時系列に説明しています。conferences]]を見てください。environments]]を見てください。コンピュータのプログラミング作業は、最初の頃はインタラクティブと言い難いものでした。プログラマはパンチカードを使って機械語を記述し、コンピュータに命令を送っていました。カードにパンチする物理作業には、計算機による支援が入る余地がありませんでした。このIDEはテキストエディタを備え、コンパイラを内蔵しており、プログラムをIDEの中でコンパイルして実行できました。当時コンピュータはまだ個人のものではなく、今のスーパーコンピュータがそうであるように、たくさんの人が共有して利用するものでした。(DTSS)で動作する開発環境であり、利用者は全員が専門知識を備えたプログラマでした。近代的なIDEには当然備わっているべきと考えられるインタラクティブな機能の多くは1970年代に開発されました。</bibtex></ref>という本によくまとまっています。デバッガや解析ツール、構造化エディタなどがIDEに組み込まれました。インタラクティブな開発環境は、生産性を向上させるために非常に重要な要素と考えられており、研究開発が積極的に行われました。PARCで継続的に開発されました。Synthesizer]]と[[MENTOR]]は、それぞれPL/IとPascalというプログラミング言語の構造化エディタを含むIDEで、同時期に開発されました。1980年代は、プログラミングにおけるヒューマンファクターがにわかに注目を集めた時代です。これは、IBMがパーソナルコンピュータを1981年に発売したのを皮切りに、プログラミングの初学者や、プログラミングの知識を持たないエンドユーザの数が劇的に増えたことが要因と考えられます。(GUI)の研究に注力し、プログラミングの前提知識が不要でも使えるコンピュータの実現を目指しました。Interaction分野の主要な国際会議はこの時代に生まれました。プログラミングに関する主要な国際会議も同様に1980年代生まれです。ソフトウェア工学やプログラミング言語のデザインに関する研究も、同時期に目覚ましい進展があったわけです。文字ベースの開発環境を改善する研究は、プログラミング言語の設計に関する研究と比べると目立ちません。エンドユーザは通常、プログラムを与えられた状態のまま使用します。したがって、エンドユーザは自分の意図をプログラムのコマンド列に置き換えて考え、しばしばコマンドを何回も繰り返す必要に迫られます。そのような面倒を避けるために、プログラムを作ったり、編集したり、拡張したいという欲求が生まれます。エンドユーザプログラミングは、そのような欲求を持ったエンドユーザやプログラミング初心者が直面するさまざまな課題に応える研究分野です。その方針は、大まかに2つに分けられます。ひとつはプログラミングを簡単にすることで、もうひとつは、いわゆるプログラミングそのものをなくしてしまうことです。Exampleに関する研究はふたつめの方針に沿った研究といえます。example]]に載せてあります。</bibtex></ref>を読むと詳しく書いてあります。Programming言語はたいてい何らかのグラフィカルな開発環境を伴うものですが、文字ベースのプログラミング言語用の統合開発環境はBASIC以来似たような見た目のままです。[[Eclipse]])。グラフィカルな表現はあまり使われません。既存の文字ベースの統合開発環境が持たない機能を提供するために、さまざまなプログラマ向けのツールが開発されてきました。</bibtex></ref>が挙げられます。統合開発環境そのものは劇的な変化を遂げることはなかったのです。文字ベースの統合開発環境は、職業プログラマの大部分にとってプログラム開発の主要な手段であり続けました。1990年代はプログラミングがより複雑で面倒なタスクになった時代です。GUIを文字だけで開発するのは簡単ではありません。1.0は、グラフィカルなGUIビルダを文字ベースのIDEに組み込みました。これによって、プログラマはインタフェースのデザインと機能の実装の間をシームレスに行き来することが可能になりました。</bibtex></ref>をプログラミングに適用しました。</bibtex></ref>のです。この問題を解決するために[[ZStep]]という統合開発環境に組み込まれたビジュアルなデバッガを提案しました。これは、プログラムのソースコード中の表現とその出力の間の関係を、プログラム実行中に可視化するものです。2000年代に入ると、文字ベースの統合開発環境に対するさまざまな改善案が提案されました。</bibtex></ref>でしょう。これはMyersらが1998年に始めた取り組みです。ProgrammingプロジェクトはIDEとそれに付随するライブラリにより注目したものでした。彼らの研究は人間中心のアプローチで進められています。プログラマの振る舞いを調査して、それに対する改善策を提案するのです。</bibtex></ref>が調査されました。/>が拡張されています。その後続研究として実際の技術的改善案がいくつも提案されました。これまでに述べたようなIDEの改善案を研究できるようになったことには3点の理由が挙げられます。プログラマ同士の協業の方法を広げました。オープンソースの技術を劇的に増加させました。IDEの利用履歴を匿名化して収集し、分析して活用することで使い勝手の向上を狙ったり、インターネット越しの共同作業を支援することができるようになりました。これまでにない速度で継続的に増えています。カメラを利用したインタラクティブなアプリケーションやロボットアプリケーションのような、物理的なインタラクションを含むプログラムの活用が増加しています。このようなプログラムを開発する際は、ツールによる支援や統合開発環境の改善が必要になります。よってIDEの拡張が容易になりました。拡張用フレームワークが整備され、IDEがオープンソースで配布されるようになり、プログラミング言語の機能が向上してリフレクションAPIのようにプログラムを改変するための機能を容易に追加できるようになりました。このような技術の進歩により、プログラマは、既存のIDEが提供する機能はそのままに、改善点だけに集中できるようになりました。CollectionsDisclaimers。