2008/11/30

メニーコア時代にFlexは生き残れるんだろうか

いろんな紆余曲折の結果として、Flexエンジニアになっている自分がいます。

Flexというテクノロジは、少なくともRIAの中では群を抜いて有利な立場にあることは間違いないと思うところ。
Silverlight2というのもあるけれど、こいつは.NETの一プロダクトとして見るべきものなのかと思うし、サーバとしてJavaを選んだ上でのUIとしてRIAを選ぶならば、少なくとも2008年~2009年では、Flex以外にはないんじゃなかろうかと。

あとは、なんだかんだいって画面を作る上での生産性は普通のWebに比べれば高い気がするのです。
ついでに言えば、グラフを出そうとしてみたりとか、ちょくちょくエフェクトが入ってくるような、かっこよさげなUIを作ってみようとしたりしたら、それこそ選択肢は他にないのは間違いない。

というところではあるのですが、実際にこれで作ってみたら結構限界を感じてしまうことも多く、これで飯を食っていけるのか、ここで技を磨いていてもこの先やってけるのか不安、と思ってしまったのが正直なところ。

とりあえずSDKにバグが結構あるとか、Flex2からFlex3になったら知れっとComboBoxのメモリリークが直ってるとかそういうのは置いといて、

  1. 言語仕様としてシングルスレッド・・・簡単な反面、パフォチューしながらCPU使用率50%とかでずっと張り付いている(むろん、2コアなCPU)のを見ていると、悲しくなる限りですわ、と。
  2. よさげな(OSS)フレームワークが今のところない・・・Adobe本家製のCairngormとかはあるんですけど、なんか自由度が高すぎというか、フレームワークと名乗るには薄すぎる感がある(ここら辺はまたあとで書こう)。

あたりは結構大きな問題な気がしてます。
まぁ、上の2は今後に期待が持てるところ、あるいは自助努力で何とかなる世界だけども、1は最終的にはどうにもならんのじゃろか。

今のところクライアントマシンは2コアとかがせいぜいだけど、これからは明らかにメニーコア化していくのは目に見えているわけで、果たしてそこでシングルスレッドのみサポート、というのでFlexの船に乗ってやっていけるのかどうか、結構疑問だったりします。
まぁ、今後3年~10年スパンの話でしょうけど。

メニーコアの世界であれば、容易な実装で並行実行を実現できる関数型言語なScalaなんかで作ってくのが生きるわけで、そうなってくるとRIAは、実は敢えてJava Appletが主流になったりするんじゃなかろうかと。
でも各実装者に関数型言語への転換を強いるのは厳しそうだけどなぁ・・・・そこら辺の分業はちゃんと考えてあげるのが大前提になりそうですが。

そんな予測の中で今を捉え直そうとすると、果たしてFlexという技術から何を学んでおくべきなのか、という捉え方にもなってくるので、これはこれで面白いかもしれないです。

Blogはじめてみました

世の中のソフトウェア系のエンジニアさんは、コミュニティでの活動とか、ブログで意見を投稿してみたりとか、そういうのがどうも求められているらしい。。。というか、少なくともそういう風に感じるのです。
まぁ、苦痛になるようなら長続きしないだろうからやめるでしょうが。


それはともかく、エンジニアやってると、いろいろと気づいてみたり、くだらないアイディアを思いついてみたりするわけですが、公開を前提にするということはともかく、そういうのをメモしていく場所というのは有ってしかるべきかなと思うわけです。


まずはそんなノリでBlogをはじめてみようかと思います。

トピックとしては、FlexとかJavaの話題が多くなると思います。
あとは、今後のソフトウェア開発のヒントになるような、雑多な話。