並列処理の基本を押さえよう

どういうわけか、「日経の雑誌は初心者向けが多い」ような気がしていたのですが、本屋に立ち寄って「日経 Linux (リナックス) 2010年 08月号 [雑誌]」をチェックしてみたら、思った以上に(良い方向で)突き進んでいて驚きました。まさか日経の雑誌でAndroidとはいえケータイをroot化したり、別のOSを組み込んでしまったりするとは思いませんでした。あまりの突き抜けぶりに、この記事で触れられているSonyEricsson XperiaやHTC Desireを持っていないにもかかわらず、いつかきっと役に立ちそうな気がして、思わず買ってしまいました。

手元にあるHT-03Aについても、Webの記事を見ていると最新OSに入れ替えて楽しんでいる人もいて、ちょっと羨ましいなと思いながらも、標準のAndroid バージョン1.6のまま使いつづけています。いずれOSのバージョンアップにも挑戦してみたいと思います。

日経の流れで日経ソフトウェアもチェックしてみたら、来月号「日経ソフトウエア 2010年 09月号 [雑誌]」で気になる特集が組まれていました。特集1の「次世代Webアプリなら(無料で)ここまでできる!」も気になりますが、私が注目したのはもうひとつの「パラレルプログラミング入門」です。

今は、どんなアプリケーションを作っていても、並列処理を意識せずに入られません。OSはずっと前からマルチスレッド、マルチプロセスに対応していますし、CPUはマルチコアがあたりまえの時代になりました。しかも、2コアどころか、4コアや6コアなんていうCPUも簡単に手に入るようになっていて、今までと同じ作り方では何も変わらないのに、並列処理を使いこなしたプログラムはどんどん高速化していきます。

そんな並列プログラムを作ることができる環境もどんどん整ってきていて、今までよりもさらに簡単に並列処理が書けるようになってきました。並列処理に適したプログラミング言語も登場していますし、毀損の環境にも並列処理用のライブラリが整備されてきています。ところがまわりのプログラマを見ていると、並列処理の基本を押さえている人はどんどん簡単になる並列プログラミングを生かして高速に動作するソフトウェアを効率よく開発していきますが、並列処理の基本が押さえられていない人のプログラムは、まったく速くならないどころか、同期や並列化がうまくできなくてプログラムが正常に動作せず、余計に苦しんでしまっています。

どんなきっかけでもいいので、並列処理の基本はぜひ押さえておきたいですね。