寒いですが、お元気ですか?今朝は、昨日観たオフブロードウエイミュージカル「フォーエバープラッド」(@アートスフィア)(アメリカのショービジネスって底力ありますね。今日は少しミクロな話に潜入します。「先端」なところには実は前身がありました。そこでは世界的に注目を集めた壮大な国家プロジェクトが進められていました。現在もフリーウエアとして日夜バージョンアップが進んでいます。協会」なるものがスタートしてそこが開発基地になるみたいです。開発の主要メンバーの一人でもありまた私のプログラミングの師匠でもある「教授」が登場です。私にとってプログラミングというのはまるで深海に潜るような感覚があって(なんちゃってダイバーなのです、私。)「おもしろそうだけど、恐いよ」というまったくの未知の世界でした。優れた師匠に出逢って脳の今まで使わなかった部分をシャッフルしているうちにこれがちゃんとおもしろいと感じてきちゃうのです。宇宙人のように●×△□のような言語をさらさらとあやつる研究者たちが出入りしている「先端」ですが本日登場の「教授」は私なんかのレベルにトコトコ降りてきて難解な世界をやさしく教えてくれるかなり忍耐強いレアな先生です。誕生前夜のお話をしてもらいました。テーマは「並列処理プログラミングとは?」です。タンクチェック、おーけー?(おっけー。)ゴーグル、足ヒレ、おーけー?(おっけー。KL1+C=KL"1"C=KLIC教授、KLICの生い立ちの話をして下さい。生まれる大昔には、こんなことがあったんだ。星の数ほどの言葉を使っている。言葉を使って考えたりしている。行動したり考えたりすることができる。皆、ちゃんと日々生活ができているでしょ。道具であるところのコンピュータに意思を伝える時にも言葉を使います。コンピュータ同士の会話にも言葉を使います。これが広い意味でのプログラミング言語。思っているほど簡単じゃない。コンピュータを操るためのプログラミング言語は、どれを使っても同じという訳にはいかない。本当に単純なことしかないから。計算の途中結果をメモ帳にメモることくらい。こんなことしかできない道具に、ゲームを組み込んだり、インターネットさせたり、ワープロさせたりするには、それこそ気が遠くなるような個数の命令列を組み上げて、憶えこませないといけない。この命令列っていうのがプログラムで、その組み上げをするのがプログラマ。人間のやることだから、もちろん間違いもある。するとコンピュータも間違った動作をする。これがバグというもんです。年問題というのが、最近新聞でも取り上げられてますが、もとを辿れば、すべての原因はそのプログラムを作った人間のせいだったんですね。そのとおり、すごいじゃない。いや、実はカンペ読んでしまってたんです(ぽりぽり)。人間のやりたいことをコンピュータに伝える時、いかに楽をして伝えるか、いかに間違わないようにするか、という工夫の積み重ねの歴史です。さまざまなプログラミング言語が生まれてきた。ここで、ちょっと話が飛ぶけど、コンピュータに与えられた仕事を速く処理する方法の一つに「並列処理」というワザがある。発想は単純で、一人でやるより皆でやった方が早く終わる、ってこと。全体をうまく協調連携させながら一つの目標に進んで行くことが重要になってくる。ないと、結局、皆でやるより一人でやった方が良かったりして。並列処理をプログラミングする時も全く同じ。切り分けた小さい仕事を処理する人にどう割り振るかということ。研究者は思っているんだけど、これがなかなか難しい。