『7つの言語 7つの世界』を読みました。電子書籍は、このeBook StoreのWebサイトから購入しました。ちょうどeBook Storeのリニューアルキャンペーンで安く購入できるようになったので、これを機に読んでみることにしました。
取り上げられた言語が開発された背景、概念、目指すものなどがうまいことまとめられています。また、それらが解決したいとしていた問題など含めて。
私は言語仕様自体ではなく、それらが解決したいとしていた現実問題やその成長の歴史を学び、現実の問題にフィードバックを与えることに興味があります。そういう意味で、私がこの本に興味を持ったのはちょうどよかったです。
取り上げられている言語は以下。これらに絞った理由などはこの本書に書かれているのでここでは除きます。
- Ruby
- Io
- Prolog
- Scala
- Erlang
- Clojure
- Haskell
私はRuby/Scala/Erlangはある程度触ったことがありました。Ioは唯一、初めて見聞きしたものでした。他は聞いたことはあるけれどまだ踏み込んでいないものです。それらの概要や基本的な書き方、特徴的な箇所をざっと知り、それらの成長の課程を学ぶことは読み物としても興味深いものでした。
読んでいて、例えばElixirの言語設計にClojureに影響されたと書かれている箇所が多分にあるのですが、そこの影響された箇所がわかったりしてなかなかに面白かったです。Haskellのモナドなんかは、写像とか、そういう言葉は理解できるけれどそれがプログラミング言語としてどう現実解に落とされているかぱっときてませんでした。そこへの取っ掛かりも得ることができました。
こういうプログラミング言語などの発展は、やはり解決したい問題とこれまでの蓄積があるのですね。
あと、この本で楽しかったのが各言語がなんらかの物語に照らし合わされていたことです。例えばErlangは映画・マトリックスの世界で語られていました。Haskellはスタートレックのスポックなど。
1 Comment