一生開発をしたい「普通の人」に送るエディタ選択への考え方

最近は、ギークも認める開発エディタが増えてきた。
vim,emacs,InteliJ,atom,sublime….

怒られる表現かもしれませんが、あくまでも個人的に思うのは、CUIは偏差値が高い人ツールだと思うんですよね。記憶力が高くて、探究心が旺盛な。

僕は、記憶力がザルなのでそこまでの偏差値は出せないタイプ。なのでvimやemacsがどれほどすごいツールなのかは知らないです。

サーバサイドで作業する時に、vimもemacsも普通に使いますが、環境が変わっても柔軟に対応できるように自分流にするのは留めておきノーカスタマイズで使いたいタイプなので、その範囲でしか見てないです。

それ故に、せいぜい置換とかundoぐらいしかできなくて、必要な機能は検索しながら使うというインターネットマンセー派です。

ちなみに余談ですが、emacsと言えば、X68000で動くLaTeXで大学の実験レポートを書くために、μEmacsというクローンエディタを愛用していて、その頃はいろいろやってました。当時はUnixが憧れ程度の狭い知識だったので、ホンモノ感に酔っていて、レポート書いてるのか、LaTeXの数式デバッグしてるのかわからない本末転倒さを学生時代の時には楽しんでいました。(もう20年前…)

で、まぁ僕のような記憶力があまり高くない人は、自分の足りない所をツールに頼る方がいいかなと。

幸いにも、MicrosoftのVisual Studioの成功の頃にIDEというジャンルができて、その後のEclipseにつながった。つまり、最初はWindows開発ツールが入力補完などのAI時代にも繋がるような優れたエディタだったものが、Eclipseのオープンソースという形で汎用化し、ややこしいInteraface地獄のJavaの隆盛を支えた。

その後、PHPやPerlと言った「型のない言語」の時代になり、SIからオープンソース、LL文化となり、EclipseやVisualStudioの便利さを知らない人たちが社会人となる。低コスト開発の職場環境のスタートアップの会社が成長してくる中で、Unix文化のvimやemacsが改めて主役になります。

その後、InteliJ IDEAや、SublimeTextなどの「型がなくてもどうにかしてくれる」ツールが出てきて今に至る….でいいのかな?
今のところ両者が混在している状態でしょうか。

次は、Webベース、サーバサイドベースになっていくことでgithubフレンドリーなエディタが出てきてるのかもしれないが、そこはまだよくわからないので省略..。

いずれにせよ、型のない言語で、リファクタリングの基本である検索、置換をミスなくこなすためには、プロジェクト全体を見渡せる、正規表現を活用した高度な検索技術や、何度も高速な検索を繰り返せるインデックスなどの機能があるエディタの方が好ましいかなと思っています。

僕はそういう時にはInteliJ IDEAを活用していますね。自腹で買ってるってのもあるんですが、柔軟に検索できますし、1000箇所を超えるリファクタリングも結構やりやすかったです(実験的にやってみて、効率的な作業手順を考えたりするので)。普段コード書いてるわけじゃないので、バグが起きた時とかに、最速でコードを理解しなくてはいけないので、俯瞰しやすさって重要なんですよね。エディタとしては、PHP, Python , Rubyに関係なく使えるってのも魅力ですね。最近のIDEは、この辺の幅の広さが、ギーキーな人にも認められるポイントになってる気がします。

個人的な印象としては、vim,Emacsにこだわる人は、ガンダムで言うマグネットコーティング派で、IDEに頼る人はファンネル、サイコミュを好むタイプではないかと思ったり。僕はガンダムという意味では、間違いなくランバラル派であり、マグネットコーティング派ですが、仕事ではサイコミュに頼りたいですね。

あと、いろんな人を見ていて、記憶力は年取ると衰えているので、あなたの実務能力の高さが、記憶力に頼っているものであるならばマジで気をつけたほうがいい。記憶力は衰えるから、加齢とともにあなたの能力も衰えます。特に体調が悪くなると「脳力」は衰えていきます。脳力が衰えるといろんな要因でうつ病にまで行く人もいるので、仕事の快適性は案外無視したらあかんかなと。

それよりもITを活用し、人間の能力を拡張してくれるソリューションの方が良いと思います。それこそ、オリンピックよりもパラリンピックの方がタイムがよくなる時代が来るなんて言われてますね。その他にも技術の進化によって、究極の生身の人間のスポーツは、便利ツールや素材の登場で、いろいろ壁に来ているのは事実なようです。

そのような考え方は一般人の生活にも当然のように落ちてくるので、拡張身体はこれからの重要テーマです。

将来は、Visual Studioの入力補完の発展のような、AIのエージェントを活用した入力補完技術をいかに活用するか?という戦いになるでしょう。B向けのソリューションは大体が定形タスクですから、曖昧なCよりも早く来ます。多分、一番早いジャンルとして実用化するのではないかと思います。

その時に職人気質という言葉で、竹槍でB29に戦い続けるような選択をしないように、新たな技術を活用するノウハウを身につけたほうが良いと思います。
これは遺言のように若い人には言っときますからね!

# おっさn(ry..
# 踏み込んではいけない領域に踏み込んでみるチャレンジ
# こんなことやってないで論文書け > おれ
# ちなみに当社ではエンジニア、デザイナーについては、パソコンもエディタもキーボードも生産性を前提として、好きなものを買うことができます。結果だけで評価するのでプロセスはお任せします!

【PR】ご意見、感想などは是非、mstdn.fmのローカルタイムラインでお聞かせください