BlazeDSとAMFでWebとデスクトップのアプリケーションを構築する
現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。
- Java,
作者 Jonathan Allen, 翻訳者 編集部 投稿日 2008年4月10日 午前12時2分
LINQ、拡張メソッドおよび改善されたanonymous delegateが追加されたおかげで、もはや多くのアルゴリズムが明確なループを必要としていない。「ループを使用している場合、誤って実行している」 というタイトルの投稿メッセージで、Chuck Jazdzewski氏はC#の今後について予測をしている(source)。
Chuck Jazdzewski氏は、 APLを教えている大学教授の引用句を情報筋として始めている。APL(source)は、1960年代からの言語であり、ベクトルおよびマトリクス操作に重点を置いてい る。ループが存在していながら、一般的には必要とされていなかった。Chuck氏は以下のように続けている。
LINQと同様、ループを使用している場合、誤って実行している。この頃、プロトタイプ化に没頭している。そして自分にLINQを使用するように無理強い している。それが嫌いだからではなく、それどころか本当にLINQを気に入っているからである。しかし、ループを使用することが精神に染み付いてしまって いるので、それを止めなければならず、無理にLINQを受け入れようとしている。集合や配列を含むループを記述しようとする度に、代わりにLINQを使え るかと、自分自身に問いかける。データベースバックグラウンド以上の知識があるプログラマは、極めて自然にLINQに慣れる。彼らはセットやベクトルで考 えるが、わたしはそうではない。しかし、徐々にそうなってきた。
Chuck氏は、LINQ式および拡張メソッドに大いに依存しているが、ループを完全に除去しているわけではない。1つには、それらを IEnumerable拡張メソッドに移動する必要があるからである。IEnumerable拡張メソッドは、呼び出し機能から複雑性を分からないように する。これは汎用機能Reduceのためにおこなわれる。それによりアイテムのリストを受け取り、適合する隣接するアイテムを結合する。適合基準および実 際の結合方法は、匿名機能としてパスされる。同様の機能を記述することが不要になる。
Chuck氏が示したコードの目標は、「空白」または「キーワード」のような範囲、テキストおよび名前のシーケンスを持つ機能を作成して、それにスタイルを適用することである。最後に、その機能は3つの照会ステートメントに要約される。
たいていの評者は前向きな考えであるが、すべての人がこれが適した方法だと納得しているわけではない。Holger Flick氏は、以下のように書いている。
見出しは、「ループを使用している場合、それをアナライズする必要なしに、コードを読まれてしまうかもしれない」にすべきである。
誤解してもらいたくないのがだが、わたしはかなりLINQを使用しているし、好きだ。しかしながら、この場合、ソースコードを読んでも複雑すぎて理 解することができない。それゆえにIMHOの管理が困難である。たとえば単線アプローチを使用するのではなく、むしろ「複線」を使用する場合について書 く。
将来、C#コードはほとんどループがなくなることになるのか?ついでに言えば、それは良いことなのか?
原文はこちらです:http://www.infoq.com/news/2008/04/No-more-loops
現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。
ウィルス対策ソフトや情報漏えい防止用のソフトは、いわば影の存在です。ユーザの操作性やGUIを工夫する以上に、いかに目立たない存在となるかにその技術を注ぎ込んでいます。ここでは日立ソフトが開発した「秘文」の事例を紹介します。
Google Chartは、チャートを作成するためのWebサービスです。本稿では、Google Chartのインターフェースと、Rubyコードから簡単にチャートを生成することができるgchartrbライブラリの説明をします。
全二回からなるこの記事では、ダイナミックビジネスアプリケーション(Dynamic Business Applications:DBAs)の開発についての全体的な眺望を、アーキテクチャと方法論の観点から見ていくことになります。我々のゴールは、「ビジネスの変化や、その他に必要とされる変更に対して、いかにして容易に適応できるアプリケーションを構築していくか」を導きだすことです。
本稿では、Adrien Louis氏がESBベースのSOAに対する2つの接続形態についての賛否について説明しています。その2つとは、会社での単一のESB対「部門毎」に相互接続するESBによるシステムです。
誕生から2年を経てCometは「何が出来るのか」という議論から、「いかに実現するか」という議論に関心が移ってきたように見えます。そこで本稿では同じくJavaOneで数多く取り上げられたNetBeans 6.1とGlassFish v3を使いながら、サンプルを交えてCometを解説していく事にします。
この記事では、WSS3とMOSS 2007に難しい設定など一切せず、すぐに利用可能なWebサービスと、Javaと.NETからそのWebサービスを消費する方法に目を向けます。
この記事の始まりは、知的で思慮深い人たちの魅力的なグループが食事会を終えて話をしているところです。話はレトロスペクティブ(振り返り)プロセスの要であるプライムディレクティブ(最初の指示)に及んでいます。
No comments
返信