Copilot を使ったプログラミング on VSCode が便利すぎる件について
先日 ChatGPT がプログラミングのアシストツールとして便利すぎるという件について書きましたが(その1,その2)、プログラミングといえば Copilot も便利という噂は聞き及んでおりましたので、よし使ってみよう! と月10ドルのお布施を払って GitHub Copilot for Individuals の契約をし(まだ無料期間中ですが)、VSCodeに拡張機能をインストールしてみました。
そうしたらまあこれが便利なこと便利なこと・・・・
たとえば「指定したファイルの中から 指定した単語を含む行を抽出する」という単純なサンプルプログラムをコーディングしてみたところ、こんな感じです。
私が自分で入力したのはコメント部分だけで、残りの実行されるコード部分はすべて Copilot が提案してきたものをそのまま採用しました。
で、一発で動いちゃうんですなこれが。
こんなことがあっていいのか! マジか! ってなもんですがマジなんだから人生終わってます(終わってない)
職業プログラマーなら狂喜乱舞するでしょうけど、私みたいな日曜プログラマーにとってもありがたいことこの上ないです。
日常的にプログラミングをしているわけではない(月に数日というところかな)人間にとって、プログラミングの労力のかなりの部分は
「えっと、Pythonの正規表現ライブラリって何だっけ?」
「ファイルのリストを読み込むのどうすればいいんだっけ?」
というそういう単純なところを調べる労力に費やされます。
今まではそれを調べようとすると
- 公式ドキュメントを読む
- 技術書を読む
- 技術ブログを読む
といった方法でしていたわけですが、いずれにしても「長いページの中から、必要な部分を探し出し、コピペし、修正して使う」のに多大な労力がかかってました。
ところがCopilot君はそれをほぼ全部やって一瞬で答えを返してくれる。
最後の「修正して使う」というのも地味に便利なところで、今まではネットでサンプルコードを見つけてコピペしても、そこで使われている変数名や関数名は自分が書こうとしているプログラムの文脈に合わない場合が多々あって修正が必要でした。
ところがCopilot君、周囲の文脈を読んで変数名等それに合わせて出してくれます。
変数の算出をしたらそれが正しいかどうかを確認するためにデバッグプリントを入れるというのは「よく使うコード・パターン」の最たるものだと思いますが、自動生成してくれちゃうわけです。
便利なことこの上なし。
ここまで単純な例を出していますが、実用的なプログラムは当然こういう「コメントから自動生成」できるようなコードばかりではないので、そういうところは当然人力で書きます。
しかしながら実際使ってみたところ、プログラム全部を自力で書く労力を10とすれば、Copilotの自動提案+微調整でそのうちの7ぐらいが無くなり、残りの3もChatGPT相談で1以下に落ちるイメージなので、プログラミングの生産性がいきなり10倍以上に上がった感があります。
あくまでもたまにしかプログラミングをしない日曜ヘボプログラマーの感想ですが、これならちょっとしたツールを作るハードルが激下がりするので今後何かと楽しいことになりそうです。
ただし・・・・こういうツールが出てくると、いろいろ困った問題は起きそうです。たとえばこれ↓↓↓
この件についてはまた次回に。