/note/tech

未来のプログラミングについて再考(機械学習とソフトウェア2.0、配管工プログラマ、オープンソースでは十分でない?)

プログラミング言語で開発が行われる従来のソフトウェアが Software 1.0 なら、機械学習を付加した新しいソフト工学の体系が Software 2.0 であり、そこではソフトウェアはニューラルネットワークの重み付けとして記述され、プログラマの仕事は(コードを書くことではなく)データを集めることなどになっていくという見立てである。

ここで彼が引き合いに出すのは、以前にも紹介した「配管工」のアナロジーである。つまり、一口にプログラミングといっても、フレームワークやプラットフォームやプログラミング言語自体を作り上げる高度に訓練されたプロフェッショナルと、ディープなバックグラウンドはないがプログラム作り経験が豊富な人たちである「配管工」に分裂しているとうのだ。

ディープなコンピュータサイエンスの素養はないが優れたプログラミングスキルを有する「配管工」がプロフェッショナルのマーケットに参入する架け橋が必要だし、そうした取り組みは存在するが、一方で「なんでオレがクイックソートのプログラミングの仕方なんて学ばなきゃならないの? 何かソートしたけりゃライブラリ関数を呼ぶよ」と「配管工」プログラマが考えるのも確かなのを認めないといけない。

[...]2020年のコンピュータユーザは、リチャード・ストールマンが「フリーソフトウェア」を始めたときとは背景が異なる。当時「いじる自由(freedom to tinker)」とは、ソースコードを読み、手を入れて再ビルドする自由と同義だった。今もそれはフリーソフトウェアのコンセプトの重要な一面だが、多くのユーザはソースコードに関わるところから始めることを望んではいない。ユーザがアプリケーションを容易にカスタマイズできることこそ、大半のユーザが最重要視していることなのだ。