"サイエンス365days" は、あの科学者が生まれた、あの現象が発見された、など科学に関する歴史的な出来事を紹介するコーナーです。
1920年の今日、計算機科学者ケネス・アイバーソン(Kenneth Iverson、1920-2004)がカナダのアルバータ州に生まれました。
ノルウェー移民の子孫として生まれたアイバーソンは、家業の農業を手伝いながら独学で数学を学び、戦時中にカナダ空軍で大学入学資格を獲得、1954年にはハーバード大学で博士号を取得しました。
博士号取得後はハーバード大学の助教授となり、配列を数学的記法によって操作する手法(のちに「アイバーソン記法」と呼ばれる)を考案するなどの業績をあげましたが、在職権を更新できず大学を離れることになりました。
1960年には彼の実力を買ったIBMに移り、そこで「アイバーソン記法」をもとにしたプログラミング言語のAPLを開発しました。APLは配列の処理を柔軟に行えることに特徴があります。
また「APL記号」と呼ばれる特殊な計算記号を用いる言語で、たとえば
A⍟B
は「底をBとしたAの対数」を、
⌹B
は「行列Bの逆行列」を表します。これらの記号は入力することすら難しく、専用のキーボードなども開発されたそうです。
実際のコードの例は下記のようになり、普通のプログラミング言語とは全く異なる様がよくわかります。
life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
APLのコードを読解するのは簡単なことではなく、決して使いやすい言語ではありませんが、今でも熱狂的なファンが全世界に存在しています。
1979年に、アイバーソンはAPLの開発の功績をたたえられ、「計算機科学のノーベル賞」とも呼ばれるチューリング賞を受賞しました。