プログラマにとって、エディタ環境は「完成しない城」のようなものである。
サグラダファミリアのようであるとも言える。
なぜ完成しないのか?
理由は幾つ考えられるが、一つは「新しい環境に合わせて更新が必要になるから」だろう。
プログラマが扱う技術のライフサイクルは極めて短い。
また、技術そのものも日々更新されていくし、現場で使用する技術も新しいものが採用される傾向にある
むしろ、固定化された技術に満足してしまっていたら、プログラマとしてはあまり良くないとも言える
日々更新されていく技術・環境に合わせて、使っているツールも更新する必要が出てくる。
次に「現在のツールに満足できなくなる」という場合が考えられる。
現場で使用される技術同様、ツールそのものも日進月歩で更新され、また新しいツールも登場している。
一昔前ならサクラエディタでコードを書いている人もいたが、現在ではどのぐらいの割合で存在しているだろう。
近年では JetBrains製のツールに代表されるようなIDE環境を好んで使う人もいれば、VSCodeのようにプラグインを駆使して柔軟に設定が変更できるツールを使う人もいる。
自分の理解として「この言語・フレームワークを使うなら、このツールを使うのが良い」というものは存在していると考えている。
例えば、iOSアプリを実装するためにSwiftを書くのであればXCodeを使うだろう。
Javaを書く場合はIntelliJ IDEAが選択されることが多くなったように思う。
TypeScriptはVSCodeとの相性が良いし、VSCodeは他の言語で実装する場合も比較的書きやすい。(プラグインの追加が前提となるが)
また、エディタとは異なるが、機械学習やデータサイエンスを扱う場合は、JupyterやPlutoを使うことも検討されるだろう。
もちろん、これらのツールも日々進化しているし、新しい選択肢が増えている可能性もある。
ちなみに、自分はNeovimを使用している。
VIMから派生したプロジェクトで、luaでの設定・プラグインの実装を可能にしたエディタだ。
プログラマとしての初期の頃の仕事が「Vimでコードを書くことを強制される」というものだったため、Vimは以前から使っていた。
そして、近年Neovimの存在を知り、VimScriptにそれほど思い入れもなかったため、Neovimに移行した
「自分で設定を書き、環境を構築していく」というのは、大変にめんどくさいものではあるが、「思い通りにメンテナンスできている」という感覚が味わえるので、とても気に入っている。
とはいえ、これまでも現場に合わせて、Vim, Eclipse, IntelliJ, RubyMine, Atom, VSCode, Neovimといろいろなエディタを使ってきたので、
来年もNeovimを使い続けている、という保証はどこにもない。