今勉強しておきたい新言語
一般的に「プログラミング言語特集」といった場合、今ビジネスで広く利用されているCやJava、PHPが取り上げられるケースが多い。しかし、9月の特集「魅惑のRuby」で取り上げたRubyのように、新たに世に送り出され、急速にその利用範囲を広げているプログラム言語もある。
そこで本連載「次にくる!新登場言語」では、Rubyのように次世代の主要言語の座を狙う新登場言語を取り上げ、個々の言語の歴史やメリット、情報源、開発環境の導入、さらに既存言語との比較などを紹介していく。日頃使っている以外の言語に触れることで、新しい知識が得られるだけでなく、従来の言語のメリットの再確認にもつながるだろう。
第1回となる今回は純粋関数型言語「Haskell」を取り上げる。次回以降については第2回にブラジルで開発された手続き型言語「Lua」を、第3回には型推論と並列支援機能を持つJVM上の関数型言語「Scala」、そして最終回には信頼性のある並列プログラミング機能を持つ関数型言語「Erlang」をそれぞれ紹介する。
純粋関数型言語「Haskell」とは
純粋関数型言語のHaskellは、1987年に関数型言語の研究会によってそのベースが形作られ、今日まで開発が進められている。ラムダ算法に基づいていることから、同算法について論理学的基礎を築いた論理学者Haskell B Curry氏の名前を冠している。さらにHaskellのロゴである「λ」も、このラムダ算法に由来している。
1990年に「Haskell 1.41」が公開された後もバージョンアップが進められ、1999年には「Haskell 98」が発表された。現在はこのHaskell 98をベースに、さまざまな拡張が行われている状況だ。オフィシャルサイトとして「HaskellWiki(http://haskell.org/)」があり、こちらから最新情報や各種処理系の紹介、学習用の資料などが閲覧できる。
Haskellにはさまざまな実装があるが、主に利用されているのが「Glasgow Haskell Compiler(以下、GHC)」と「Hugs」の2つだ。それぞれHaskell 98の仕様に則り、独自の拡張が施されている。GHCは「http://haskell.org/ghc/index.html」、Hugsは「http://haskell.org/hugs/」から入手可能だ。
現在も活発に開発が進められてるのはGHCで、ちょうど原稿執筆中となる2007年11月3日に最新版となるバージョン6.8.1が発表されたばかりだ。バイナリとしてLinux(x86、32bit)およびLinux(x86、64bit)、Windows ME/NT/2000/XP/Vista用が公開されている。本記事ではこの中からWindows版を基に、解説を進めていく。 次のページ