こんにちは。Kwonです。
2021年の初回の投稿になります。
今回は私が使ってみたIDEについてお話します。
IDEとは
IDE (Integrated Development Environment) は、ソフトウェアの統合的な開発環境であり、様々なツールの集合からなる。
統合開発環境 - Wikipedia
従来、ソフトウェアプログラムのコーディング・コンパイル・ビルド・デバッグといった作業を行なう際に、テキストエディタ、コンパイラ、リンカ、デバッガなどの各ツールをばらばらで利用していたものを、ひとつの対話型操作環境(多くはGUI)から利用できるように統合したもの。
最近のIDEには、GUIアプリケーション開発のための迅速なプロトタイピング (Rapid Application Development: RAD) が可能なものが多い。
統合開発環境を使うことによって、巨大かつ複雑なソフトウェアでも、作成者に負担をかけることなく開発することが可能になる。
IDEを使う理由
IDE を使うと、セットアップ処理として複数のユーティリティを手動で設定して統合する必要がなくなるので、開発者はすばやく新しいアプリケーションの開発に着手できます。
https://www.redhat.com/ja/topics/middleware/what-is-ide
また、すべてのツールを同じワークベンチ上で使用できるため、各ツールの使い方を長時間かけて個別に習得する必要もありません。
こうした特徴は新しい開発者をチームに迎え入れるときに特に有益で、IDE を使うことですぐにチームの標準ツールとワークフローに習熟できます。
実際、IDE に搭載されている機能の多くが時間を節約するためのものです。
たとえばインテリジェントな入力補完機能や自動コード生成機能を使えば、文字列全体を入力する必要がなくなります。
その他にも IDE の一般的な機能として、開発者がワークフローを整理したり問題を解決したりするための機能があります。
たとえばコードを入力されたその場で解析するので、人間のミスによるバグはリアルタイムで検出されます。
このようなユーティリティを 1 つの GUI で使えるため、いちいちアプリケーションを切り替えることなくさまざまなアクションを実行できます。
構文の強調表示も多くの IDE に搭載されている一般的な機能で、視覚的なヒントを使って文法をテキストエディターにわかりやすく表示します。
IDE によってはこの他にも、クラスブラウザーやオブジェクトブラウザー、さらに一部の言語に対応したクラス階層図表示機能も備えています。
私が使ったIDE
- Eclipse
個人的に一番長く使ったのはEclipseです。
『Eclipse』(イクリプス)は、米国最大級のシステムインテグレーター企業であるIBMによって開発されましたが、
現在は『Eclipse Foundation』という非営利団体によって管理されています。
プラグインをインストールすることで、『Java』や『C++』、『Php』などの多様なプログラミング言語での開発を行うことが可能です。
メリット:
プラグインは有志によって無償で提供されているものが多数存在、カスタマイズがしやすい。
デメリット:
・重い。
・PCの環境やバージョンによって適用できないプラグインもあるので、
あらかじめ自分の環境に対応しているかどうかの確認が必要。
- NetBeans
『NetBeans』(ネットビーンズ)は元々チェコで開発されたものですが、現在は日本語化対応しているので、問題なく利用できます。
オープンソースソフトウェアとして世界中のユーザーによって支援されているもので、無償で利用することが可能です。
NetBeansはJavaの開発環境を提供するIDEですが、
こちらもEclipse同様にプラグインを導入することで『C++』や『Python』などのプログラミング言語も利用できるようになります。
デスクトップアプリやWebシステム、モバイルアプリの開発など、多様な用途に対応しているIDEです。
メリット:
・Eclipseよりは軽い
・Eclipseのショットキーをそのまま使える(設定で変更可能)
デメリット:
・プラグインがEclipseより少ない
(個人的にはER図関連プラグインなどがなくて乗り換えしない)
- IntelliJ IDEA(その他、phpstormなど)
『IntelliJ IDEA』はチェコの『IntelliJ IDEA社』という会社が開発したIDEです
プログラムの外部から見える動作を変化させず、ソースの内部を整理する『リファクタリング機能』を最初に導入したIDEとして知られている。
メリット:
・プラグインの初期設定、コード補完に関しては他のIDEよりも優れている
デメリット:
・有料
・許可されているソフトのみなどの制限がある会社・現場からは使用禁止のケースが多い。
- Visual Studio Code
- 現在、私がメインで使っているIDEです。
Visual Studio Code(以下はVSCode)はマイクロソフト社が開発しているIDEです。
メリット:
・非常に自由度と拡張性が高いエディタであるため、慣れてくるととても作業効率が上がることを実感できます。
・システム開発で使用されるバージョン管理やUI設計などのソフトウェアとの連携、
クラウド環境との接続などをVisual Studio Code上で行うことが出来ます。
デメリット:
・最初はメニュー構成や設定、拡張機能の導入などに戸惑うことも多い
- その他
ATOM・Sublime Textなども少し使ってみましたが、あまりメリットは感じませんでした。
まとめ
JAVA・PHPでウェブアプリケーション開発をやってきたので、上記のIDEのみ使いましたが、
その他にもswiftなどのappleのアプリの開発ためのXCODEとか、androidアプリの開発に特化されているAndroid Studioなどそれぞれの開発言語に特化されているIDEがあります。
私は汎用的なツールを使って、情報共有しながら開発するのが楽しくて、IDEを使っていますが、
個人的にはプロジェクトで求められるルール(コーディング規約など)を守る前提でのお話ですが、何を使うかより、熟練度が重要だと思います。
すっかり便利なIDE環境に慣れている私ですが、ターミナル画面上でマウスを使わずに vi エディタと gdb デバッガだけでプログラム開発をしている猛者がいることも忘れてはいけないですね。
皆さんも自分の開発スタイルに合うツールを選び、楽しく開発を。。。