私は長い間、直接コードを書きながら学ぶことを貫いてきました。分からないことがあれば検索し、自分で理解しながらコードを一行一行積み上げていく方法が私のコーディング哲学でした。CopilotやCodeium、Cursorといったいわゆる「AIベースのコーディングツール」が便利で強力だという話はよく耳にしましたが、人間が書いていないコード、理解できないコードを使うのは正しくないと思っていました。実力向上にも役立たないのではないかという漠然とした不安もありました。 実際、内心では「バイブコーディング」をしている人たちを見て「これは違う」と少し無視する気持ちもありました。ある種の自尊心がありました。


偶然出会ったAIコードアシスタント、そして衝撃!

数日前のことでした。VS Codeが更新され、いつの間にかあるAIコードアシスタント機能がインストールされているのを見つけました。好奇心から何気なくボタンを押してみて、そのまましばらく使ってみました。

そして…本当に 驚きました! まさに新世界が広がりました。

どうやって私のコードをそんなに完璧に理解し、私がしようとしている作業を瞬時に察知できるのか信じられませんでした。私が数文字タイプする前に、次のコードを予測して表示する姿には本当に驚きました。まるで私の考えを読んでいるかのような気持ちでした。

さらにぞっとしたのは、以前に別のユーティリティファイルに作成しておいた複雑なクラスやメソッドまで適材適所で呼び出して、すぐにコードを完成させる様子でした。私が特に指示を出していないにもかかわらず、私の意図を正確に把握し、必要な関数を持ってきて使用するのを見て感嘆を禁じ得ませんでした。


他の人たちはすでにこうやってコーディングしていたのか?

この経験を通じて、私は自分がどれほど「旧式」のコーディング方法を貫いていたのかを認識しました。他の人たちはすでにこんなに強力なツールを活用して、驚異的なスピードでコードを書いていたのかもしれません。急に自分が遅れをとっているという思いに妙な気分を抱きました。

確かなことは、この Copilot を一度使ってみたら、もう停止したり使わなくなることはないだろうという点です。コードを書くスピードはもちろん、開発の生産性が圧倒的に向上していることを実感しました。


フォン・ノイマンなら私を怠けていると言ったのだろうか?

ふとコンピュータ科学の父、 ジョン・フォン・ノイマン を思い出しました。彼はコンピュータを開発する際、ただ0と1、つまり機械語でしかコードを書かず、プログラムを実行していたそうです。今の基準で見ると本当に狂気の沙汰です! しかし、歳を重ね彼の弟子たちがアセンブリ言語の開発に参加し、使用している時、フォン・ノイマンは猛烈に激怒して「そんなのはコーディングではない」、「コンピュータリソースを無駄に使う怠け者のプログラマーだ」と一喝したそうです。

考えてみると、今のフォン・ノイマンがPythonやC++のような抽象化された言語を使う私を見たら何と言うでしょうか? おそらく私を見て「ああ、これは違う。こんな怠け者! 基本もできていないのに!」と考えたでしょう。そんな想像をしていると、私が「バイブコーディング」をしている人たちを見て内心「これは違う」と思っていたことが恥ずかしく感じます。時代は変わり、コーディングの技術やツールもそれに応じて変わるべきのようです。

フォン・ノイマン が現在の開発者とAIコードアシスタント(Copilotなど)を見たらどんな表情をするのか想像すると笑いがこみ上げます。おそらく卒倒するかもしれません。コーディングの歴史は常に「怠け心」と「効率性」への人間の欲望によって発展してきたという気がします。


AIは道具ではなくパートナー

以前はAIが書いたコードを使うことに対する漠然とした不安がありましたが、今では考えが完全に変わりました。AIは単にコードを代わりに書いてくれる存在ではなく、私のコードを理解し、私が進もうとする方向を共に示してくれる強力なパートナーであることに気付きました。もちろん、AIが生成したコードを無批判に受け入れることは避けるべきですが、それによって私のコーディングスキルがむしろより早く向上する期待感すら抱いています。

まだこのツールのすべての機能を試してはいませんが、これからこのAIコードアシスタントと共にするコーディングの旅が期待されます。皆さんももし私のようにAIベースのコーディングツールをためらっているのであれば、一度体験してみることを強くお勧めします。きっと新しいコーディングの世界を体験されることでしょう!