MENU閉じる

HEXA BLOG

書籍紹介

HEXA BLOG書籍紹介2012.4.20

関数型言語 Haskell

こんにちは、ミヤジーです。
最近Haskellという関数型言語の勉強を始めましたあせあせ(飛び散る汗)
Haskellとは・・・
http://ja.wikipedia.org/wiki/Haskell
関数型言語は他にも ML, OCaml, LISP 等があります。
C, C++, Java 等は手続き型言語に分類されます。
今まで手続き型言語でのプログラミングに慣れ親しんできた人には、
関数型言語のあまりに違いに驚くことでしょうexclamation×2
なんといっても衝撃的だったのが、特に純粋関数型言語であるHaskellは
変数に再代入ができないという事です!! (参照透過性といいます)
どうやってそれでプログラムを組むんだexclamation&question
どうですか? ワクワクしてきませんか ?
答えはとても長くなるので、下の参考書や解説サイトを読んでみて下さい!!
今、読んでいる参考書です。ぴかぴか(新しい)
ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
http://www.amazon.co.jp/dp/4797336021
プログラミングHaskell
http://www.amazon.co.jp/dp/4274067815
Real World Haskell―実戦で学ぶ関数型言語プログラミング
http://www.amazon.co.jp/dp/4873114233
どれもお勧めです。上から順に読んでいくと理解しやすいと思います。手(チョキ)
Haskellを用いて開発されたゲームもいくつか存在します。あせあせ(飛び散る汗)
(関数型言語でゲームを作れるのか!! と驚きです。)
最後にHaskellのメリットをいくつか挙げると・・・
・並列処理アーキテクチャとの親和性が良い
・遅延評価(実際の計算を値が必要になるまで行わないことで高速)
・処理を非常に簡潔に記述できるものがある。
(例 クイックソート)
qsort [] = []
qsort (p:xs) = qsort [x | x <- xs, x < p] ++ [p] ++ qsort [x | x <- xs, x >= p]
等々あります。パンチ
みなさんもHaskellを学んでみては如何でしょうか?

RECRUIT

大阪・東京共にスタッフを募集しています。
特にキャリア採用のプログラマー・アーティストに興味がある方は下のボタンをクリックしてください

RECRUIT SITE