魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

関数型言語

昨今、右を向いても左を見ても、世の中、関数型言語ばかりじゃございませんか。
そういやぁ、ちょっとまえ苗は、世の中、オブジェクト指向oop
)言語の花盛りだったね。素人プログラマにとっちゃ面倒なもんだった。そういやぁ、ぼくは、javaで、oopを覚えたんだ。その後、rubyoopを知り、ようやく、真に、oopを、理解できたと思ったもんだ。rubyoopには、感動したよ。

で、関数型は、oopよりもすぐに役立つよ。haskellを使ってみれば、その威力が直ぐに分かるだろう。
関数型言語には、古くは、lispやmlがある。
haskellの前身のミランダってのもある。
erlangは、並行処理に優れる関数型言語だ。でも、純粋型とは言えないだろう。haskellは、純粋型だ。一切の副作用を許さない。副作用とは、変数の書き換えや、すべてのi/o処理。えっ、出力ができないのか。モナドという仕組みを使うんだ。数学の圏論から来ている。それで、熱心な人は、圏論を学ぼうとするが、難しくて挫折したりするようだ。
変なの。
ぼくは、書籍「プログらミングhaskell」をお勧めする。
この本が難しいというなら、それは、haskellの本質的な難しさで、避けることはできない。
自慢じゃないが、ぼくには、易しい本だった。
それだけじゃなく、ぼくは、この本で、haskellに魅了されてしまったんだ。
「すごいhaskell楽しく学ぼう」と併せて読むとよいだろう。

haskellが嫌いなら、erlangをやってみるのも手だ。
scalaもある。javaをやった人にはいいかもしれない。
同じく、javavm言語で、lispをベースとしたclojureてのもある。elixerもjavavmで動く、最新の関数型言語だ。
ぼくがいま取り組んでいる、elmというのもいい言語だと思うが、良い日本語の本がない。elmは、javascriptコンパイルできる。
いろいろあると聞いて、迷う人は、haskellに向かうといい。
当たって砕けろ。ここに書いた、2冊の本を読むといい。

つまり、以下の2冊だ。

「すごいhaskellたのしく学ぼう」

「プログラミングhaskell