テキストエディターとIDE

最近、私の観点からは、テキストエディタまたはIDEのどちらが良いかについての議論が無意味になりがちです。 さらに、この問題が議論されているトピックでは、多くの場合400以上のコメントがあります。 したがって、人々はこの質問に興味を持っています。 だから、記事を書く必要があります。



それでは、記事の目標は何ですか?

1.プログラミングに最適なもの:テキストエディターまたはIDE

2. VimとEmacsはテキストエディターではありません



1.プログラミングに最適なもの:テキストエディターまたはIDE



プログラミングとは何かから始めましょう。 プログラミングとは、プログラミング言語の仕様で指定された語彙、構文、セマンティックルールを記述し、その後のテストで満足のいく最終結果を得るプロセスです。



プログラミングは次のとおりです。

1. PLの仕様で指定されたルールを記述する

2.書かれたルールのテスト



各項目の実装には明確なルールのセットがないという事実を考慮して、論争の全体のポイントが生じます。 そして、各個人は、個人またはチームのニーズに基づいて、特定のツールを使用します。 つまり、プログラミングサイクル全体を実装するためのツールの選択は主観的です。 そして、これを理解していない2人以上の人が紛争や議論を始めた場合、相互の敵意を除いて、結果は得られません。 ハエをカツレツから分離するために、各項目を個別に解析することを提案します。そうしないと、セマンティックコンポーネントがゼロになる傾向があります。



1. PLの仕様で指定されたルールを記述する



簡単に言えば、プログラミングとはテキストを書くことです。 これは、入力、編集、ナビゲーション、および構文の強調表示を意味します(後者は、テキストの単純な入力と編集をプログラミングから分離します)。 もう1つポイントがありますが、以下で検討します。 これらのアクションは、このアイテムを実装するのに十分です。 これらの簡単な手順はすべて、テキストエディタまたはIDEで行います。 唯一の質問は

使用される方法とその有効性。 現在、3つの主要な実装オプションのみがあります。

a)クラシックユニバーサル

b)モーダル

c)クラシックアドバンス



古典的な入力方法は、ほぼすべてのIDEといくつかの基本レベルのエディター(mcedit、nanoと呼ばれる明るい代表)、および基本レベルのIDEであるテキストエディター(プログラミングのテキストエディターとして偽装されています)で使用されます。 その顕著な代表はケイト、ジーニーです。



モーダル入力方式では、モードに応じてエディターの動作を変更します。 最も著名な代表者の1人がVimです。 そして、同じ名前のこの製品のフォーク。



古典的な高度な入力方法は、すべてのIDEとプログラマー用のテキストエディター(Emacs)である程度提供されます。



そして、プログラミングの文脈において、入力、編集、ナビゲーションのどの方法が優れているかという議論がすぐに始まります。 そして、紛争は通常2つのポイントのみによって導かれます。

1.入力、編集、ナビゲーションの方法は基本的ではありません

2.入力、編集、ナビゲーションの方法は基本です



通常、この問題に対して正反対の見方をする人が2人以上いる場合、紛争または紛争は両側で混oticとした独白に変わります。 その結果は、0になる傾向があります。

誰もが自分の真実を持っていますが、真実は一つです。 そして、この場合の真実は、2番目のタイプの人々が99.9(9)%で正しいということです。 効率は、任意のクラフトまたはそのコンポーネントで重要です。 ほうきを編むかテキストを書くか。 なんで? なぜなら、コンポーネントの効率の向上は、必然的にプロセス全体の効率の向上につながるからです。 これを理解していない人は、なぜ成功しないのかを理解して説明しません。 残念なことに、または喜びに、それは相手の目標と抱負に依存します。



したがって、100%の時間があり、そのうちの一定の割合が、記述されたコードの入力、編集、およびナビゲートに費やされます。 コンポーネントの有効性が向上すると、プログラミングプロセス全体の生産性が向上します。



a)クラシックユニバーサル


特別なことはありません。 このメソッドは、「PLの仕様で指定されたルールの作成」に十分です。 このテキスト管理方法について、これ以上言うことはありません。 すべての長所と短所を説明する意味はありません。なぜなら、長所よりも短所が少なければ、テキスト管理の2つの代替オプションが現れなかったからです。



b)モーダル


テキスト入力は、いずれかのモードで実行されます。 編集とナビゲーションは他のモードです。 この方法の利点は、これらの2つのモードを使用すると、プログラマーの手をキャラクターブロックの外に移動する時間が無駄にならないことです。 これは、プログラマーがマウスまたは左/右\上\下矢印と上のブロックで手を動かす必要がないことを意味します(挿入\削除\ホーム\終了\ページアップ\ページダウン)。 一方で-それは生産性を高め、他方では-それは手の関節の病気を排除します。



c)クラシックアドバンス


このタイプのテキスト管理は、古典的なテキスト管理の欠如のために現れました。 次に、この管理方法についての主観的な見解を示しました。 この方法の利点は、一部の編集およびナビゲーション操作が特定のホットキーに配置されることです。 一方では、これにより生産性が向上しますが、他方では、ホットキーが正しく選択されていない場合、筋肉の過負荷および/または手または手の異常な位置および異常な指の動きにつながり、その結果、トンネル症候群などの病気が発生します。



この方法の利点をモーダル、すなわち2つの制御方法の2つの明るい代表であるVimとEmacsと比較すると、Emacsがモーダルでも間接的なモダリティを持っていることを理解している人はほとんどいません。 そして、この間接的なモダリティは、多くの人がEmacsよりもVimを選択する理由です。 なんで? この質問はあなた自身に問う必要があります。 あなたがそれに答えるのに失敗した場合、おそらくあなたはそれを必要としないでしょう。



2.書かれたルールのテスト



記述されたルールのテストは、2つの方法を使用して実行されます。

1.ビルトインYP

2.外部ツール(スクリプト、CLIツール)



そして、最初と2番目の段落cは、テキストエディターとIDEの両方で実装されます。 唯一の問題は、実装に費やした時間の能力、労力、および便宜性です。 同時に、テキストエディタではないVimおよびEmacs製品では、実装されたメソッドの基本的な配信はそうでないか、嘆かわしい状態です。



2. VimとEmacsはテキストエディターではありません



これらの製品はテキストエディターではありません。 これらは、高性能IDEを構築するための最も強力なフレームワークです。 1番目と2番目の両方が完全にプログラム可能であるため。 動作の変更から、処理ツールの統合、記述されたルールのテストまで。



古典的なIDEにある機能の欠如は、これらのフレームワークが他の異なる方法を使用して記述されたルールをテストする人々によって使用され、これらの人々/チームがそれらを実装する必要がないことを示唆します。 古典的なIDEの世界からの唯一の強力な議論は、上記の2つのフレームワークにはないルールのコンテキスト編集です。 そして、彼は上記と同じ理由ではありません。



質問:それでは、IDEとテキストエディターのどちらが優れていますか?

回答:高性能IDEを構築するためのプログラム可能なフレームワーク! 注意点が1つあります。必要に応じて。



All Articles