こんにちは、ミヤジーです。
最近Haskellという関数型言語の勉強を始めました
Haskellとは・・・
http://ja.wikipedia.org/wiki/Haskell
関数型言語は他にも ML, OCaml, LISP 等があります。
C, C++, Java 等は手続き型言語に分類されます。
今まで手続き型言語でのプログラミングに慣れ親しんできた人には、
関数型言語のあまりに違いに驚くことでしょう
なんといっても衝撃的だったのが、特に純粋関数型言語であるHaskellは
変数に再代入ができないという事です!! (参照透過性といいます)
どうやってそれでプログラムを組むんだ
どうですか? ワクワクしてきませんか ?
答えはとても長くなるので、下の参考書や解説サイトを読んでみて下さい!!
今、読んでいる参考書です。
ふつうの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を学んでみては如何でしょうか?
BLOG
NEWS
-
2025.2.4トピック【CSR活動】中学生の訪問学習を行いました
-
2024.12.18プレスリリース【再配信】MakeS/NicO 周年記念サウンドトラック再配信のお知らせ
-
2024.12.16プレスリリース【お詫び】MakeS/NicO 周年記念サウンドトラックにおける誤表記について