代替のGUIを使用するよりも、ソフトウェア開発にコマンドラインを使用することでどのようなメリットがありますか?特定のタスクのコマンドラインは高速ですか?特定のツールはコマンドラインからのみ利用できますか?
vi
ファイルを起動し、小さなバグを修正して、更新されたファイルを保存しました。多分make
同様に進行中です。
代替のGUIを使用するよりも、ソフトウェア開発にコマンドラインを使用することでどのようなメリットがありますか?特定のタスクのコマンドラインは高速ですか?特定のツールはコマンドラインからのみ利用できますか?
vi
ファイルを起動し、小さなバグを修正して、更新されたファイルを保存しました。多分make
同様に進行中です。
回答:
GUIアプリケーションに対するコマンドラインの利点は次のとおりです。
man
コマンドや-?を引数として渡すなど)。機能を知らない人でも、ツールの機能を簡単に確認できます。同様に、複数のファイルを指定するための定義済みのワイルドカード構文標準があり、おそらく既存の開発者の知識を利用しています。ただし、コマンドラインアプリケーションには、GUIアプリケーションと比較して次のような欠点があります。
IDEの代わりにコマンドラインコンパイラを使用していると思います。そうでない場合はコメントを残してください。答えを削除します。
学習。コードのユニットがあなたの言語で一緒にコンパイル、リンク、またはマッピングされる方法を学びます。通常、どのファイルをコンパイルしてリンクするかをコンパイラに明示的に指示する必要があります。したがって、それがどのように機能するかをよりよく理解できます。IDEはあなたの人生を楽にするために魔法をかけますが、あなたを無知に保ちます。
次に、それをさらに一歩進めて、独自のメイクファイルを作成する方法を学びます。これは貴重なスキルです。メイクファイルは、完全な理解と学習を維持しながら、ビルドサイクルアプローチを「IDEマジック」の便利なものにします。
さらに、ビルドプロセスはソース管理に簡単に配置できます。また、ビルドプロセスを移植して、さまざまなコンパイラで動作させることも簡単です。コンパイラ名のメイクファイルの1行を変更するだけの場合もあります。
多くのプラットフォームで作業できるスキルを開発します。テキストエディタとコマンドラインコンパイラは、すべてのベンダーとプラットフォームで非常によく似ています。これらの基本的なツールを使用すると、24時間年中無休、任意のシステムで、いつでも、どこでも開発することができます。Visual Studioにずっと住んでいるとしたら、それ以外の環境で作業することは、はるかに困難な移行になるでしょう。
このパスをたどると、VIMのような高度なテキストエディターを学ぶのに迷惑をかけたくなるかもしれません。ほぼすべての場所でサポートされているため、あらゆるプラットフォームで機能する機能を補完します。学習曲線は非常に大きくなりますが、メリットは、マウスに手を動かさずにテキストを高速で簡単に編集できることです。
ところで、私はIDEには反対していません。
GUIには、高度な視覚化を使用できるという利点があります。これは、複雑なデータを意味のあるものにするために非常に役立ちます。
一方、コマンドラインは、多くの場合より強力で(たとえば、完全にスクリプト化可能)、通常はより高速です。他の答えはそれを拡張しています–ここで私はGUIがいくつかのタスクに利点を提供しないことを述べたいです:
開発中、多くのタスクでは、コマンドライン/テキストインターフェイスを使用して実行できない視覚化は実際には必要ありません。コンパイルを取る:優れたテキストエディター(Vim、Emacs)はエラーメッセージの解析を容易にサポートし、コード内のエラーに直接ジャンプします。グラフィカルIDEはこれ以上提供しません。簡単に言うと、そのようなタスクではグラフィカルインターフェイスは必要なく、コマンドラインインターフェイスの柔軟性と効率が失われます。
一方、複雑なデータの相互作用を扱う場合は、インタラクティブな視覚化が非常に役立ちます。ブランチグラフを表示できるバージョン管理ソフトウェアは、多くの場合、ここでテキストインターフェイスよりも優れています。たとえば、これは私のリポジトリの1つからのスナップショットです。
これは特に強力な視覚化ではありませんが、テキストインターフェイスよりもはるかに便利です。ただし、繰り返しになりますが、コマンドラインを使用すると、実際にリポジトリを操作する方が高速になります(少なくとも私にとって)。GUIを使用して、ブランチを表示します。
また、多くのタスクは、Webページをクリックするよりもコマンドを入力する方が速く実行できるという事実を認識して、最近Githubがコマンドラインインターフェイスを追加したことにも注意してください。