« BTOなOS | トップページ | PS3に俄然やる気 »

予想・今後5年のプログラミングネタ

最近の仕事から思う、今後数年のプログラミングネタを想像してみる。

まず、マルチスレッド
CPU業界ではマルチコアの流れがもう止まらなくなっているのでこれは当然。
特に並列計算オフロードタイプのプログラミングスキルが必要になると思う(今はUIと作業の分離のためのマルチスレッドが多い)。

次は、特定機能コプロセッサとの協調プログラミング
組み込みでは汎用コアを中心にコプロをつけたASICは既に常識。PC用でもAMDがTorrenzaを提唱しており、Intelも追従する模様。
でも(CPUからみて)何らかの外部I/Oに接続されたコプロの性能を十分にコントロールするのは結構難しい。コプロごとにコントロール方法が違うであろう事も予想される。
バスとかメモリとか周辺ハードウェアにも幅広い知識が必要になるだろう。

ヘテロジニアスマルチコア
メインコアと命令セットの違う汎用サブコアを持つ場合をここに含める。
実装例はまだCellしかないと思うが、ハイエンドや組み込み系など再コンパイルを厭わない場合は、性能対電力効率の追求から増えてくるかも知れない。PC用はバイナリがそのまま再利用できるタイプが好まれるので進まないだろう。
コプロとの違いは、サブコアも自立したMPUであること。だから親子関係が存在しない完全な並列動作も可能。
技術的にはクラスタに近いが、ヘテロコアを活用するためにはノードごとの命令セットを考慮せねばならず、OpenMPのような並列プログラム開発環境はまだ発展を待たなければいけない。

そして、高機能ライブラリのWebサービス化
数年前まではライブラリとはハードウェアの機能を抽象化していくことが仕事だった。
レジスタと割り込みによるCPUコール、BIOSのファンクションコール、そしてOSのAPI。現在はJavaや.NETのようにネットワークまでを取り込んだアプリケーションのビルディングブロックをライブラリ化したものが主流になった。
既にWebサービスという概念は定着しているけれど、今後はそれがクライアントでも進んでいくと思う。たとえば自分が好きなサービス(モジュール)を組み合わせてワープロや表計算、プレゼンアプリが構築できるようになる。サービスはInternet経由で起動ごとに提供されて常に最新の機能を利用する。
ただしブラウザがOSに置き換わるというのは反対。リッチなGUIはAjaxではなく、ローカルで提供した方が遙かに効率がよいから。しかし、WindowsのようなメガOSはその存在意義を再構築しなければならないだろう。

以上、すべて既に進み始めているモノばかりの洗い直しと言えばそうなのだけれど、自分が先頭にいられるためにはきちんと抑えておく必要がありそうだと思っている。

|

« BTOなOS | トップページ | PS3に俄然やる気 »

「パソコン・インターネット」カテゴリの記事

「プログラミング」カテゴリの記事

「日記・コラム・つぶやき」カテゴリの記事

「経済・政治・国際」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/63247/12297316

この記事へのトラックバック一覧です: 予想・今後5年のプログラミングネタ:

« BTOなOS | トップページ | PS3に俄然やる気 »