最近は、選択したテキストエディター(vim、nano、gedit、pick your poison)を他のIDEよりも頻繁に使用しています。
Ideのショートカットがほこりだらけになることに気付いた後、私はこれについて考え始めました:テキストエディターに反対するIDEの使用を正当化する理由?
そのため、IDEを使用し、単にエディタに依存しているではないの根拠は何ですか?
I:統合。優れたテキストエディタはコードの記述に適しているかもしれませんが、プログラミングのほとんどは記述に費やされていません。テストとデバッグに費やされているため、テキストエディターをコンパイラーとデバッガーに統合する必要があります。これがIDEの最大の強みです。
IDEは、エディターよりもコードをよく理解します。これにより、たとえば、識別子の補完とリファクタリングが可能になります。これは、Javaのような冗長な言語の場合、
[To the IDE] You had me at intellisense/autocomplete
生産性。理にかなっている他の正当化はありますか?私にとって、プログラミング中に実行する多くの機能を集中管理する適切に設計されたIDE-コードの作成と編集、ソース管理の使用、デバッグ、プロジェクト管理ツールとの対話、通信他のプログラマー、ドキュメントの作成、自動テストの実行-プロセスの摩擦を大幅に減らし、私の生産性を低下させます。
さらに、各ツールを個別に使用する方法を知る必要があるように感じましたが、必要はありません。少なくとも私にとっては、CLIを開いて入力するよりも、右マウスクリックの方がずっと好ましいです。
私は何度も使用しましたが、何度も繰り返し使用するIDEはVisual Studio、Wing IDEおよびNetBeansです。これらすべてが、プログラミングに費やす時間に大きな価値をもたらします。
歴史的に、IDEはシングルタスクコンピュータで比類のない利便性を提供していました。私の最初のCコンパイラでは、編集、コンパイル、実行のサイクルで次の手順が必要でした。
私のCP/Mシステムで。 (ディスクドライブのサイズが大きければバッチプログラムで自動化できたはずです。)
Turbo Pascalを入手したとき、コンパイルとデバッグ中にエディターを使用できる状態に保つことができて嬉しかったです。
そもそもそれがIDEを普及させた理由だと思います。
LISPでコーディングする場合、Emacsにはメソッドパラメータの検索やオートコンプリートなどのIntellisenseに似た機能があるため、それがオリジナルのIDEであると言えます。また、1つのプログラムを複数のタスク(一般に編集、シェル/コマンドプロンプト、ニュースの閲覧)に使用できるのも良いことです。
一般的に、エディタとIDEの質問はプログラミング言語に依存しているようです。私が見たことから、RubyとHaskellコーダー、たとえば、お気に入りのテキストエディターを好むようです。
いくつか挙げると
答えは、使用しているプログラミング言語と、それがどれだけ優れているかに大きく依存すると思います。 Javaのような言語の場合、IDEは、JSやRuby IDESはあまり役に立ちません。
私は開発にnotepad ++と一連のシェルスクリプト(バックアップ、gitコミット用)を使用しており、完全に正常に動作します。
「編集者」を支持するいくつかの議論:
私はIDEを毎日使用して作業していますが、それ以外の方法でJava/C#を記述することは困難です。
(2)と(3)の比較:基本的に、ファイルをリモートで(ssh /リモートデスクトップ経由で)編集し、遠隔地のサーバーの構成またはファイルに最小限の変更を加えるオプションのみ。
IDEは編集機能が大幅に不足しているため、テスト/デバッグ/統合にはIDEを、編集にはKEDITを使用しています。
.NET IDEは外部編集を認識するため、必要なのはエディターに保存し、プロンプトを受け入れてソースをリロードすることだけです。これにより、編集機能とデバッグ機能を同時に最適化できます。
他のIDEでは、KEDITをテンプレートプロセッサおよびソース検索プログラムとして使用し、そのソースをIDEにコピー/貼り付けます。
もちろん言語によっては、一部のIDEにはビジュアルフォーム/ウィンドウデザイナも含まれています。
指摘する必要がありますが、プログラマーのテキストエディターとIDEの間の線は、明確に定義されたものではありません。多くのエディターは、コンパイル、コード補完、デバッグなどを処理するために拡張できます。
IDEの場合:
-高度な機能はそのままで配線されます。
-一部の機能はフレームワークに固有であるため、エディターには同等の機能がありません。
エディターの場合:
-キーボードの上に手を置いたままにします。
-開発環境はすべてのシステムで同じです
-エディター向けの優れたスクリプト
-IDEの一部の機能は、外部ツールまたはスクリプトで使用できます。(intellisense、goto定義、参照の検索)
短い学習曲線。それでおしまい。
私が本当にお勧めするのはデバッガだけです。 IDEは、実際には他のガビンがたくさん追加されたエディターですが、コマンドプロンプトでmake(または上矢印+ Enter)と入力してコンパイルできる場合は、そうではありません- need IDE。Explorerで右クリックして適切なメニュー項目を選択することでSCMにコミットできる場合、IDEは必要ありません。
リファクタリングのサポート(コードを最初に正しく記述する:)や統合されたGUIデザイナー(それでも、Visual Studioを使用して、式を使用してGUI作業を行うが、VSでのくだらないXAMLサポートではない)が必要なことを知っている)、そして多くの人々必要インテリセンスとオートコンプリート(特にJavaおよびgodallmightlylongの名前を持つC#のような冗長言語の場合)。
しかし、私にとっては、GUIデバッガーがIDEを使用する本当に良い唯一の理由です。私はまだ「コマンドライン」デバッガー(よく、windbg)を使用していますが、日常的には、VSに組み込まれています。
IDEには利点があります。すべての言語が包括的なIDE=スケールを実際に提供するわけではありません。そうでない場合、その言語用のスケールを作成するのは非常に困難です。なぜIDEが必要なのでしょうか?さて、これらから始めましょう:
問題は、すべての言語が包括的なIDEから実際に大幅な生産性の向上を得ることではありません。一部の作業(Java、C#)ではIDEを使用していますが、他の作業(Python、Ruby、Coldfusion)では使用していません。それはすべて本当にバランスをとる行為です。一部の言語では、このような包括的なスイートは必要ありません。
それぞれにIDEはありますか?承知しました。常に必要ですか?あんまり。