20年後。プログラマという仕事はあるのでしょうか?
「プログラミングをする人」という意味での、プログラマという仕事は、あると思います。
しかし、プログラミング言語を使ってコードを書くような、プログラミングの仕事は、もう残っていないでしょう。
私はプログラミングを始めたのは35年前。当時はアセンブラとBASICを使って、ゲームなどを作っていました。
その当時と比べると、今はコードの生産性は10倍は上がっているでしょう。
と、書きたいところですが、そんなには上がっていません。
開発する環境としては、エディタやコンパイラ、デバッガ、テストツールなどが、それはそれは進化しています。
しかし、プログラマがやる事は変わりなく、コードを書く事。コードを頭の中からひねり出す事、と言った方が正確かもしれません。つまり、それは今も昔も、ちっとも変わりないと言う事です。
簡易言語やノンプログラミング・ツールを使ったとしても、処理を頭の中からひねり出さないと、何も進みません。
プログラミングとは、当たり前の話ですが、脳の中で出来上がります。プログラミング・コードはそれを言語として書き写したものです。だから、機械化とか、自動化とかいった事が出来ません。脳を機械化や自動化することは、出来ないからです。
これまでは、です。
A.I.による、脳の機械化が可能に。
という世界なんでしょうね。きっと。
先日、A.I.ベンチャーの会社さんを訪問した際、Stack Exchange Networkなどの、プログラミングのナレッジがネットに集約され、GitHubのようなオープンソースも一定の方法で収集できるようになっている現状では、それをビッグ・データとして、ロジックの類推は十分可能なのだという話しをききました。
その会社さんのものではないですが、米国のA.I.ベンチャーの作ったプログラミング補助ツールでは、3行ぐらいのコードを書くと、その下に20行ぐらいのコードの候補が出てきていました。
配列を並び替えする、フィルタ処理する、などといった、よく使うロジックの「はじまり」を書き始めると、コードが出来てしまう。というわけです。
はじまりの部分で定義した変数が、それらしい名前だと、自動補間されるコードにその変数が適用されます。ここは、A.I.ではなく、人間様が作ったロジックで出来ているそうですが、大したものです。
いまは、単純なよくある汎用的なロジックにしか使えませんし、全てのコードを自動的に生成するのは、おそらく無理だろうとは言っていましたが、一部を機械化してしまうことで、全部を脳から絞り出す必要がなくなるのは確実のようです。
そうなると、プログラミングの能率はかなり向上します。
しかし、全部、機械がやってくれるということには、当分はならなさそうです。
なぜなら、全くのゼロから何かを有無ことは、今のA.I.にはできないからです。
そして、どんなにA.I.が進化しても、全く何もないところから、つまり「はじまり」から、何かを作ることは、できないだろうというお話でした。
ゼロから生み出す能力は、人間にしかないのです。人間ってすごいですね。