プログラマは人間のことって注釈が必要な時代

ロケットガールの誕生〜コンピューターになった女性たち」って本を読んでいて、ふと思い立ったので久しぶりに書いてみる。なんと4年振り!

NASAマーキュリー計画の裏方で活躍した黒人女性らを描いた「ドリーム(Hidden Figures)」って映画のヒットも記憶に新しいが、もともとコンピュータは数値計算をする人間のことを指していた。なので、機械式やデジタル式のコンピュータが登場したころは、Automatic ComputerとかDigital Computerと呼ばれた*1。下記に、Wikipediaからコンピュータの語源を引用する。

英語の 「Computer(コンピューター)」は算術演算(数値計算)を行う主体を指す語であるが、元々は主体として人を指していた。この用法は(英語圏では非常に稀になりつつあるが)今でも有効である。オックスフォード英語辞典第2版では、この語が主体として機械をも指すようになった最初の年を1897年と記している。同辞典では、1946年までに、異なる方式の計算機を区別するための、「Computer」に付く修飾語句がいくつか導入されている。これらの修飾語の中には「Analogue(アナログ)」、「Digital(ディジタル, デジタル)」「Electronic(エレクトロニック)」といった語が含まれている。様々な引用文から、1946年以前にこれらの語が既に使われていたことは明らかである。

エントリの更新をサボっていた間に、コンピュータ界隈では、深層学習に代表される人工知能技術が大盛り上がりである。深層学習は非常にざっくり言って、今まで職人技であった特徴量の設計を、大量のデータを用いて自動化する技術である。最初は画像識別の分野で注目されていたが、徐々に機械翻訳やゲームなど様々な応用が可能なことが明らかになってきた。人間がルール(コード)を書くのがこれまでのソフトウェアだったとすると、機械がデータからルールを見つけるのがこれからのソフトウェアであるってことで、Andrej Karpathy氏はこの潮流を「Software 2.0」と呼んでいる。もちろんSoftware 1.0的なプログラミングがまったく不要にはならないだろうが、昔は人間がプログラミングしてたんだよとか、プログラマって職業があってね、という注釈が必要な時代はいつ頃やってくるのだろうか?

ロケットガールの誕生: コンピューターになった女性たち

ロケットガールの誕生: コンピューターになった女性たち

*1:最近Analogue Computerが再び脚光を浴びつつあるので、区別する上でDigitalと修飾語を付ける必要がまた出てきたかも。