You are here: Home Event 言語・フレームワーク紹介

Personal tools

Document Actions

言語・フレームワーク紹介

by HOURIN Hiroyuki last modified 2006-08-25 02:48

Language Updateに出場する言語と、キミならどう書くに出場するフレームワークの発表者の皆さんに、各言語・フレームワークの簡単な紹介を書いていただきました。参加者の皆さんにとっては未知の言語・フレームワークもあるかもしれません。予習を兼ねてぜひご覧ください。


Language Update


PHP

Webアプリ構築用スクリプト言語の定番となっています。PHP 5が最新ですが,PHP 6の声も聞こえてきました。さてどうなるんでしょう。

Common Lisp

Lispは最も古くて最も新しい言語。あらゆるプログラミング言語のアイデアの源泉であり、いまも未来を切り拓き続けています。今回は、Lispの旺盛な生命力とversatilityの根源は何かを説明し、セマンティックWebやバイオインフォマティクスでもLispのすごさが発揮されている最新の事例も紹介し、Lispは死んだと思っているみなさんのLisp観をupdateしたいと思います。

Scripting for Java Platform

皆さんご存知のとおり、Javaはスクリプト言語ではありません。しかし、Java SE 7からは、さまざまなスクリプト言語とJavaを連携する仕組みが取り入れられます。さらに、Java VMもスクリプトの実行効率向上のために変更が加えられる予定です。

Squeak

1996年に衝撃的なデビューを飾ったSqueakも今年で10歳になります。
例年通り、派手なデモ主体で魅せます。今年のメインは、もはや円熟の域に達した継続ベースのWebアプリケーションサーバSeasideと、「未来に向かってメッセージを送る」3Dコラボレーション環境Croquetです。そのほかOSなしでいきなり立ち上がるSqueak NOS、100$ laptopエミュで動くSqueakなどもチラリとお見せします。
バージョン3.9や、次世代SqueakであるTweakの開発状況についてもご報告します。

FORTH

絶滅危惧種とされたFORTH。最速最軽量なインタラクティブ実行環境を持つLightweight Languageとして、新たなる希望を伴ってついに戻ってくる!
初参戦となる今回は、FORTHの歴史と仕組みそして現状を中心に語る。

Haskell

Haskellは最近注目を集めている関数型言語で、高階関数、遅延評価と非正格の意味論、静的多相型付け、利用者定義の代数的データ型、パターン照合、リストの内包表記、モナド I/O システムといった特徴を持っています。Java等の命令型言語とは大きく異なる言語ですが、強力な抽象化能力を持ち、慣れれば非常に使いやすい言語です。最近日本語の書籍が出版されました。

JavaScript

JavaScript それは今もっともモテる言語。
10 年の暗黒の時代を経てその魅力を開花させた。
近年ではブラウザの壁を越え、サーバサイドへの進出、各種ソフトウェアへの実装が進み、様々なシーンで私たちを魅了しつづける。

awk

awk はテキスト処理に特化したスクリプト言語で、変数に $ や @ が付かず、C 言語に近い文法で記述可能で、少ないながらも洗練された関数群を持ち、行(レコード) をフィールドに自動的に分割してくれる便利な言語です。

ActionScript

最新バージョンの ActionScript 3 はより洗練された言語仕様と刷新された実行環境によりさらに本格的な開発が可能になりました。デベロッパーのみならずクリエイターも魅了するとてもユニークな言語に是非注目してください。

Scheme(Gauche)

「プログラミング言語は、機能の上に機能を積み重ねるのではなく、追加の機能が必要となるような弱さや制約を取り除くように設計されるべきである」----Schemeは30年以上の歴史を持ちますが、未だこの理想を目指して発展途上の言語でもあります。数年に一度改定される仕様では、何がSchemeという言語にとって本質であるべきかについて侃々諤々の議論がなされ、全員が納得するまで仕様に盛りこまないという徹底ぶり。プログラミング言語界のサグラダ・ファミリアを目指すのか。折しも6回目の仕様改定が進行中のScheme界の現状をリポートし、併せて一実装であるGaucheの開発経過について触れます。

Python

Pythonは世界中で愛され,活用されているオブジェクト指向のスクリプト言語です。シンプルで奥が深い文法,インデントによるブロック表記,豊富な「標準モジュール」を搭載しているのが特徴です。.NETで動くIronPython,JavaのVMとして稼働するJythonなど,実用に耐えることを目指した実装系が豊富なのも特徴です。GoogleではJava,C++と並ぶ標準言語として採用されています。2005年の末,作者であるGuidoがGoogleに電撃移籍をしたことが話題になりました。

OCaml

OCaml(Objective Caml)は、関数型言語MLの一種です。関数型言語に分類されますが、代入や例外といった命令的な機能も利用でき、クラスなどを使ったオブジェクト指向プログラミングも可能です。
「中途半端」?……「実用的」と言ってください!

Ruby

Rubyはオブジェクト指向でライトウェイトな動的言語です。2006年はRuby on Railsのおかげで話題沸騰中。(英語の)本の売り上げではPerlを越え、TIOBEインデックスで10位以内に入るのも夢ではないともっぱらの噂です。一方、開発者自身はあいかわらず力が抜けきってのんびりとした開発を続けています。

Perl

1987年、Haskellと同じ年に生まれたPerl。今年は言語だけでなく発表者もアップデート。「実用主義の情報抽出レポート言語」「病的折衷主義ガラクタ出力機」と長年言われ続けてきたPerl。エイプリルフールネタから始まったParrot。2001年の最初の黙示録から数年、Pugsは誕生した。Haskellの力を借り、Perl6は「多様な実存主義の再帰λ」として新たな世界を開拓中である。Perl5.9.4の開発も順調。新たにerrキーワード、switch構文などがPerl5の言語仕様に加わった。実際に業務で使われている国産フレームワークSledgeは今も健在、今年は新たにTripletaiLも登場。Catalyst、Jiftyなど、強力にDRYなフレームワークの話題もホット。CPANモジュールも拡大中!今年のLL Ringは戦わずして勝つ!Perlは最強(≠災凶)のLLである。Boofy!


キミならどう書く


Kahua

Kahua(かふあ)は継続ベースのアプリケーションサーバ/フレームワークです。
  • Scheme処理系Gauche(ごーしゅ)で実装されています。
  • 「継続」を直観的に扱えるので、Webアプリにありがちな「処理のブツ切れ」が解消できます。
  • 当然S式が基本データ形式です。Schemeお得意のリスト処理との組み合わせが強力です。
  • オブジェクトデータベースが組み込まれています。データの永続化は自然に行われます。
  • 動作中のアプリケーションを直接変更できます。インクリメンタルな開発に力を発揮します。

Ethna

Ethna(えすな)は、PHPで記述されたウェブアプリケーションフレームワークで、とにかく楽をするために日々がんばって作っています。あ、あとhttp://gree.jp/で使っています。

Django

Django は Python で書かれたオープンソースのWebフレームワークです。見通しのよい MVC 分離、洗練された O/R マッピング API、そして汎用性の高い強力なテンプレートエンジンを備え、高い柔軟性とパフォーマンスを同時に要求されるWebアプリケーション開発をサポートします。

Ruby on Rails

Ruby on Rails とはその名の通り、Ruby で作られたWeb アプリケーションフレームワークです。Generator と CoC を組み合わせた迅速なアプリケーションのスタートアップ、DRY の考え方を重視した作りで重複しないコードが書きやすい構造、などなど、様々なアプローチを持っています。また何しろ Ruby は楽しい言語であるので、アプリケーションを作る行為自体が楽しくなってしまう、不思議なフレームワークです。