vim (emacs) は伝統を受け継いだコーディングツールであり、コンソール時代から来たプログラマーにとっては親しみやすく、慣れ親しんでいます。 IDE は、グラフィカル インターフェイスで開発された直感的でシンプルなコーディング ツールです。 どちらが良いか悪いかの区別はなく、使い慣れているかどうか、習慣的かそうでないか、個人的な使用が効率的かどうかだけです。
ショートカット キー/コマンドを使用してコーディング目標を迅速に達成する vim (emacs) と比較して、IDE はコーディングを完了するための直感的/視覚的なコマンド方法を提供します。単純に言えば、コーディング速度、利便性の有無という点では、両者は匹敵すると思います。 IDE は豊富な拡張機能を提供していると考える人もいるかもしれませんが、適切に設定すれば vim (emacs) も遜色ありません。
これらに加えて、IDE の最大の利点は、学習コストが低いであると思います。学習コストを過小評価しないでください。最終的に、企業はプログラマーにとって、コーディング作業を迅速に完了できるかどうかを確認したいと考えています。 GUI が非常に人気のある今日、Java プログラマーが特定のコーディングの仕事を完了するように求められた場合 [前提条件: vim (emacs) と Eclipse について聞いたことがあるだけで、それらを使用したことはありません] プログラミングに最も適応できるのは誰ですか結果的には Eclipse が勝つ可能性が高くなるはずです。 vim (emacs) を設定するのは簡単なことではありませんが、Eclipse を開いたらすぐにコードを書き始めることができる人も多いはずです。
さらに、IDE のもう 1 つの大きな利点: 統合プロジェクト管理。現在の IDE は、VS と同様に、Eclipse は単なるプログラミング ツールではなく、プロジェクトの作成、コーディング、コンパイル、統合デプロイメント、リリースなどを含むプロジェクトのライフサイクル管理を含む強力なツールです。そして私はこれが IDE の最も魅力的なところだと密かに考えています。
IDE は、頻繁に行う面倒な作業のショートカットを提供します。また、特定の言語またはフレームワーク向けに独自の最適化機能があります。
たとえば、Java コードを記述するときは、Eclipse と Intellij を使用してリファクタリングを完了することが多く、関数のスコープ内で変数名を変更したり、特定のインターフェイスを実装するすべてのクラスを検索したり、JavaDoc コメントを自動的に生成したりできます。ただし、@Override などのアノテーションを追加するのを忘れたり、クラス名を変更すると同時にファイル名を変更したり、クラスが配置されているパッケージを変更し、同時にファイルを移動したりすることも忘れていました。
たとえば、Objective-C を作成する場合、UIBuilder を使用して xib またはストーリーボード ファイルを設計する必要があります...
emacs や vi がこれらのことができないというわけではなく、特定の言語の特定の機能をサポートする点では IDE の方が明らかに優れているだけです。
一般性と専門性を両方持つことはできません。
もちろん、私は通常、C++ と Python (Django 以外) コードを書くときに vi を使用します。私自身の原則は、釘を打つためにハンマーを使い、紙を切るためにハサミを使うこともあります。しかし、仕事をうまくやりたいなら、まずそうしなければなりません。適切な道具を選び、それをとても慣れ親しんで使いましょう。
簡単に説明しましょう。あなたの質問は「なぜ人間は車に乗るのですか?」と似ています。
人間には二本の足があり、道や路地を歩き、山や階段を登ることができ、何のデメリットもなくどこへでも行くことができ、すぐに発進し、行き止まりがありません。車に乗りますか?
なぜですか?
プログラミング生活の質を向上させることができる高度なテクノロジーがあります。それを使用してみてはいかがでしょうか?
さて、もう一度考える人もいると思いますが、2B Pencil と VIM/メモ帳を使いこなして IDE に依存せずにプログラムを作成できることは、プログラマーにとって必要な資質ではないでしょうか?
品質と仕事の習慣は別のものです。毎日オナニーする普通の若者にとって、1日10キロのハイキングは必要な体力なのでしょうか?もちろんそうですが、毎日 10 キロメートル歩いて通勤している人を何人見たことがありますか?
メモ帳は足のようなもの、vim/emacs はオートバイのようなものです。モーターが付いており、軽量で、排気量が小さく、低燃費で、女の子を簡単に職場に運ぶことができ、100キロから100キロまで加速できます。早くて安いです。 IDEはファミリーセダンのようなもので、オートバイよりも快適で(サンルーフとシガーライターが付いています)、より安全です(エアバッグがあり、チャイルドシートを装備することもできます)。残念なことに、購入費と維持費もかかります。高くて、大きくて、怖い渋滞。
Eclipse のような IDE は、本質的にはトラックである東風トラックに似ており、キャビンに屋根と荷台を追加すると、2 列の座席を設置して兵員輸送車になります。発電車両になり、無線中継器を引くと緊急通信支援車両になります。
車とバイクの値段が同じで、誰もが平屋のガレージを持っていて、街中に渋滞がなく、どこにでも駐車スペースがあり、車が入れない路地がないとしたら、誰がバイクを使い続けるでしょうか。 ?まさにこれらの浮き沈みの存在が、エディター (vim/eclipse/editplus) と IDE の間の相互作用につながります。
ちなみに、jetbrains が作成した IDE はすべてアーティファクトで、高品質かつ低価格なので、当然のことです (笑)
vim (emacs) は伝統を受け継いだコーディングツールであり、コンソール時代から来たプログラマーにとっては親しみやすく、慣れ親しんでいます。 IDE は、グラフィカル インターフェイスで開発された直感的でシンプルなコーディング ツールです。 どちらが良いか悪いかの区別はなく、使い慣れているかどうか、習慣的かそうでないか、個人的な使用が効率的かどうかだけです。
ショートカット キー/コマンドを使用してコーディング目標を迅速に達成する vim (emacs) と比較して、IDE はコーディングを完了するための直感的/視覚的なコマンド方法を提供します。単純に言えば、コーディング速度、利便性の有無という点では、両者は匹敵すると思います。 IDE は豊富な拡張機能を提供していると考える人もいるかもしれませんが、適切に設定すれば vim (emacs) も遜色ありません。
これらに加えて、IDE の最大の利点は、学習コストが低いであると思います。学習コストを過小評価しないでください。最終的に、企業はプログラマーにとって、コーディング作業を迅速に完了できるかどうかを確認したいと考えています。 GUI が非常に人気のある今日、Java プログラマーが特定のコーディングの仕事を完了するように求められた場合 [前提条件: vim (emacs) と Eclipse について聞いたことがあるだけで、それらを使用したことはありません] プログラミングに最も適応できるのは誰ですか結果的には Eclipse が勝つ可能性が高くなるはずです。 vim (emacs) を設定するのは簡単なことではありませんが、Eclipse を開いたらすぐにコードを書き始めることができる人も多いはずです。
さらに、IDE のもう 1 つの大きな利点: 統合プロジェクト管理。現在の IDE は、VS と同様に、Eclipse は単なるプログラミング ツールではなく、プロジェクトの作成、コーディング、コンパイル、統合デプロイメント、リリースなどを含むプロジェクトのライフサイクル管理を含む強力なツールです。そして私はこれが IDE の最も魅力的なところだと密かに考えています。
エディターと IDE の使用の違い、エディターと IDE の違いは関係ありません。重要なのは、どのような状態を実現したいかということだけです。
今では運転免許証を取得するのは非常に簡単です。路上で野菜を売っているおばさんは誰でも C 免許証を持っているかもしれません。これはひとえに、現代の自動車の高度な「自動化」のおかげです。しかし、車のメンテナンスや修理は必須です。 4S 店舗の数が公衆トイレの数を超えている現在、メンテナンスなどは言うまでもありません。現代の誕生とも言えます。ドライバーは以前のドライバーより優れていますか? それとも、以前のドライバーは現代のドライバーほど優れていませんか?
もちろん、インフラが高度に発達した今日では、「なぜ車の修理を学ぶのに何年も費やさなければならないのですか?私はただ運転したいだけです。車の修理の学習に時間を費やして、より良い運転をすることができます。」と言うことができます。このままでは、インフラ建設の輪から抜け出すことはできません。あなたがすべての既知の道を歩いてきたのに、4S ショップのない未知の場所に行きたい場合はどうすればよいでしょうか?IDE は統合開発環境であり、構成された vim および emacs は IDE と何ら変わりません。
Eclipse のようなエンタープライズレベルの IDE は、構成に必要な時間は短くなりますが、自由度は低くなります。 vim や emacs のような軽量ツールは設定が比較的複雑ですが、自由度が高くなります。
これら 2 種類のツールの好みは人によって異なります。最高のツールはなく、最高のプログラマーだけがいるのですよね?
IDE に関して私が最もうらやましいことの 1 つは、WebStorm が JavaScript のリファクタリングをサポートできることです (最新バージョンではすでに CoffeeScript がサポートされています)。私の Vim も Emacs もサポートできません。
それをサポートするプラグインを作成できると言われるかもしれませんが、テキストを分析するための再構築ツールとセマンティクスを分析するためのツールは異なります。