プログラミングとデザイン、スタートアップの話

プログラミングやデザイン、スタートアップ関連についての雑記

初心者プログラマーはどうやってエディタを選べば良い?よくおすすめされるAtom, Sublime Text, Vimの選び方

f:id:harv-tech:20160214172317j:plain

プログラミング初心者が勉強しないといけない10の技術の記事の中で4番目の項目としてご紹介した「エディタの使い方」ですが、そもそも数あるエディタの中から何を選べば良いかというのは、これからプログラミングを学習し始める人からするとよくわからないですよね。

私自身もプログラミングを始めるときには「知り合いのプログラマーがこれを使ってるから、同じのにしよう」という安直な考え方でエディタを選んでしまいました。結果的には後悔していませんが、きちんと選択肢を知った上で納得した形で選ぶ方が良いに決まっていますよね。

私の二の舞にならないように、これからプログラミングを始める人はまだ初めて1ヶ月〜2ヶ月程度の人は、この記事で紹介するエディタの長所と短所を理解した上でエディタを選びましょう。

エディタとは

f:id:harv-tech:20160214171639j:plain

正式な呼び方をすればテキストエディタですが、この記事ではエディタと省略して説明します。正式名称からわかるように、テキストファイルを作成したり、編集したり、保存するために使うソフトのことを指します。

マイクロソフトのWordは誰もが一度は使ったことがあるソフトだと思いますが、これは厳密に言えばエディタではありません。Windowsでいえばメモ帳などがエディタに該当します。

プログラミングはプログラムをテキストによって構築します。プログラマーの作業しているシーンを想像してみましょう。黒い画面に向かって何かを必死に打ち続けているイメージがありますよね。

これがまさにエディタを使ってプログラムを書いている場面です。

乗り換えコストの大きさ・生産性

f:id:harv-tech:20160214171605j:plain

エディタと上手く付き合えるか、言い換えればエディタを使いこなせるかがプログラマーの生産性を大きく左右します。

プログラマーがエディタを使っている時間は全作業時間のうちの多くを占めます。いかにショートカットを使えているか、いかにエディタに搭載されたツールで時間短縮ができているか等、生産性に直接関わってくるものなんです。

例えば、一行まるまるコードを削除するときにDeleteキーをずーっと押し続けているプログラマーと、ショートカットで一発で消してしまうプログラマーとでは明らかに作業効率が変わるか、想像が容易ですよね。

つまり、プログラマーとして仕事をする上でエディタの存在は切っても切れない関係であり、重要なツールというわけです。

気をつけておかないといけない点として、1つのエディタをしばらく使い続けていると、他のエディタを使おうとしたときに乗り換えコストがとても大きいという問題があります。

上述したようにエディタにはショートカットコマンドや各種ツールなどが存在し、そのショートカットの方法はエディタごとで統一されていません。

つまり、Aというエディタで作業することが慣れたあとに、Bというエディタに乗り換える場合はほぼ一から使い方を覚えなければいけないわけです。

こういった理由から、エディタはきちんと比較検討した上で選ぶ方が良いと思います。

次の章からは、ここ数年で多くのプログラマー(アプリ開発・Webサイト開発関連)が使用している代表的な3つのエディタを長所と短所を交えながら紹介していきます。

Sublime Text

f:id:harv-tech:20160214171836p:plain

まず最初に紹介するのが「Sublime Text(サブライムテキスト)」です。

長所

  • GUIなので初心者でも直感的な操作が可能
  • 充実したパッケージ(プラグインのようなもの)
  • 軽量

短所

  • GUIなのでマウスでの操作は必須
  • 無料プランだと毎回ポップアップを消す必要がある

カンタンまとめ

Sublime Textは初心者プログラマーにとても人気のエディタです。今回紹介するエディタの中で、使うための学習コストが最も低く、誰でも直感的に操作ができます。サクサク動く所も長所です。Sublime Textに使い慣れてきた頃には色々とパッケージを導入して、使いやすくカスタマイズしていけばどんどん使いやすいエディタになるでしょう。Sublime Textは無料で使い続けることはできるのですが、ファイルを保存するタイミングで5回に1回くらい有料プランへの移行を勧めるポップアップが出てくるのが少し煩わしいというのがマイナスポイントではあります。私の周りではそれをあまり気にしないようにして使っている人がいますが、神経質な人は嫌かもしれません(※)。

Atom

f:id:harv-tech:20160214171846p:plain

次に紹介するのはGithub社が開発した「Atom(アトム)」です。

長所

  • GUIなので初心者でも直感的な操作が可能
  • どんどん進化していくパッケージ

短所

  • 使いやすさがカスタマイズ次第
  • Sublime Textに比べると重い(徐々に解消されてきている)

かんたんまとめ

昨年正式版がリリースされたばかりのGithub製エディタ、Atomですが、Sublime Textに近い形で操作できます。まだリリースされてからそれほど期間が経っていないため、Sublime Textほどパッケージなどは充実していないものの、十分使える便利なエディタです。ただ、カスタマイズ次第で使いやすさが左右されるため、初心者にとっては面倒な部分もあると思います。

Vim

f:id:harv-tech:20160214171859j:plain

最後に紹介するのがVim(ヴィム)です。

長所

  • 将来サーバーをイジる時にすんなり使える
  • ターミナルで作業が完結する
  • コマンドを覚えればキーボードで作業が完結する

短所

  • CUIなので最初は操作方法に戸惑う
  • 操作方法で覚えることが他に比べると多い

カンタンまとめ

上記2つのエディタとは少し特色が変わるエディタがVimです。GUIと呼ばれるエディタとは異なり、VimはCUIであるためマウスなどは使わず基本的にはキーボードを使ってコマンドによる操作を行います。例えば、上の行に移動するときはマウスや矢印キーを使うのではなく「k」を使ったりします。GUIエディタに比べると操作方法に関して覚えることが非常に多いため、使いこなせるようになるまでは時間を要します。なぜそんな面倒なエディタを使う人がいるのかというと、そういったコマンドを覚えてしまえば非常に効率的に作業ができる点や、サーバーでの作業をするときにはVimの仲間であるViというエディタを使うため、その時に苦労せずに済むといった点があります。

どれを選べば良い?

私の意見としては、初心者の人は以下のようにエディタを選べば良いと思います。

  • プログラミングだけでも覚えることが沢山あるし、最初はプログラミング以外に覚えなければいけないことは極力減らしたい→Sublime Text
  • ショートカットキーなどを駆使して生産性を極限まで高めたい・将来サーバーもいじることがありえるからVimに統一しておきたい→Vim

エディタに関する意見は宗教論争のようになりがちなので、あくまでも私の意見ということで参考にしてもらえればと思います。

【追記】 Sublime Textには無料プランはないとのご指摘を頂きました。ご指摘の通り、Sublime Textは無料・無制限で試せるという形式です。本記事では無料での利用を推奨するものではないので、ご注意下さい。