BT

フレームワーク設計に言語はどのように影響を及ぼすか

| 作者: Michael Bushe フォローする 0 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2008年2月14日. 推定読書時間: 3 分 |
Ruby言語は、Railsのような生産的なフレームワークを使用しやすくするか。Java言語の特性は、生産的なフレームワークを作成しにくくするのか。 Frank Sommers氏は、フレームワークはデベロッパの生産性の裏にある重要な原動力であると書き、特定の言語が優良なフレームワークの作成を可能にするかど うかを研究している(source)。クロージャーがより優れたJavaフレームワークを生み出すのかどうかを含め、その投稿は議論を呼んだ。

Sommers氏は、 Javaの定形文面構文と「きちんとしたWebフレームワーク」の欠如(ブログ・英語)を不満とするCay Horstmann氏の投稿に触れる。Sommers氏は、コードがきちんとしていて、学びやすく、典型的なRailsのアプリケーションを記述するため に多くのコードを必要としないと氏は言うRubyと比較した。RailsはRubyのメタオブジェクトプロトコルおよびモジュールシステムを利用して、デ ベロッパが複雑にならないようにしている。

Sommers氏は、 RailsとRubyをFlexとActionScriptと対比した。

しかしながら、新興バージョンのEcmaScript4スタンダードであるActionScript3 言語がFlexの背後にあり、Java構文の最も厄介な側面をより気まぐれな側面と結合する。ActionScript3が1つのstew動的で静的タイピング、機能的かつオブジェクト指向のプログラミング技術で混合しようと試みて以来、潜在的に唖然とするような複雑さをもたらす可能性がある。

しかし、Flexの設計者はそのような複雑性のほとんどを隠している。Railsの場合のように、XMLベースのUIレイアウト言語で混合され、FlexアプリケーションはActionScriptコードの小さなスニペットおよび簡潔な機能で構成される傾向にある。Flexを知ることは、ActionScript3の拡張機能を知ることは当然のことであるが、要求された機能にFlexフレームワークがどのように影響を及ぼすかを知るようなことである。

FlexおよびRailsは、比較的覚えやすいそれぞれの言語の側面を選択し、 その設計でそれらの機能を使用することを強く勧める。それこそがまさに、すべてのフレームワークがすべきことである。

次にSommers氏は、Scalable言語の考えについて話した。Javaは非常によく拡張するが、規模の小さいジョブには不向きである。同時に Rubyは拡張に適さない場合があるが、RailsはRuby向けに拡張する。Sommers氏はScalaが拡張および縮小可能で、単純なフレームワー クの作成へとつながる場合があると強く主張している。

Bruce Tate氏は、Seasideについて記した(source)。それは、Railsのような生産性が期待できるSmalltalkベースのWebアプリケーション環境である。
今後10年でわれわれすべてがSmalltalkをプログラミングしているとは言わない。その電車は駅でさび付いた。しかしながら従わざるを得ない経済的 な正当性があれば、言語の発行は消えてなくなると言える。あいまいな言語で記述されたアプリケーションを提示して欲しい。一般的な言語で記述されたアプリ ケーションよりも5倍は速く、保守しやすく、今かかっているコストの3分の1であるものだ。そうであれば、どんな言語を選ぼうと構わない。
Appcelerator Webフレームワーク(サイト・英語)は違ったアプローチをとっている。言語にとらわれず、Java、Ruby、PHP、.Net、およびPython用のSKDを備えている。
おそらくTim Berners-Lee氏のRule of Least Power(source)を引き合いに出すことができる。「World Wide Webで情報や制約またはプログラムを表すのに適している最も力のない言語を使用せよ」ということである。
 
原文はこちらです:http://www.infoq.com/news/2008/02/language-framework-impact

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT