プログラミングの基礎 1.2 使用する言語
今日も関数型プログラミングの学習です。
1.2 使用する言語
(p.3)
本書で使用する言語は、関数型言語のひとつであるOCamlです。
これで「オーキャムル」と発音します。
本書では、OCamlを使ってプログラミングを学習します。
OCaml(オーキャムル、オーキャメル)は、フランスの INRIA が開発したプログラミング言語MLの方言とその実装である。
MLの各要素に加え、オブジェクト指向的要素の追加が特長である。
かつては Objective Caml という名前で、その略として OCaml と広く呼ばれていたが、正式に OCaml に改名された。
もとはCamlという名前の、MLの方言の処理系実装、および言語であった。
この名前はcategorical abstract machine languageの頭字語である。
ML(えむえる、Meta-Language)は、関数型言語のひとつである。
現代風の関数型言語としては歴史が古いほうで、型推論機能などを持つが、デフォルトの評価戦略は遅延評価ではなく先行評価で、書き換えが可能なレコード型を持つなど、いわゆる「純粋関数型」でない特徴や機能を持つ。
もとは「ML」という言語があって、それにオブジェクト指向の機能を追加して発展させたのがOCamlということみたいです。
プログラミング言語について学ぶのであれば、Javaなどのオブジェクト指向言語、あるいはCやPascalといった命令型言語を思い浮かべる方が多いと思います。
それらを使わずに、あえて関数型言語であるOCamlを選ぶのには理由があります。
それはOCamlが「単純、かつ強力である」からです。
そうですね。
最初は、Javaでプログラミングを学習しました。
最初にOCamlから入っていれば、もっと違う道を歩めたかな?
単純ということはすなわち簡単ということです。
OCamlでプログラムを作るのは、JavaやCで作るよりもずっと簡単です。
それは、より人間の思考レベルに近い記述ができるからです。
もしかして、Javaをディスってる~!?www
まあ確かにJavaは面倒くさいと思うときがあるのでOKですが(・∀・)
OCamlで楽ができるならいいな~www
さらに、プログラムの記述量が違います。
OCamlで書いたプログラムと同じことをするプログラムをJavaやCで書こうとすると、ほとんどの場合、コード量にして10倍以上になります。
そこまで言うなら、OCamlはやっておいて損はないでしょう!!!
将来、JavaやCでプログラムを作ることになった場合にも、ここで学んだことは直接、役に立ちます。
むしろOCamlでプログラミングの基礎を一度おさえておくと、JavaやCでのプログラミングがとても楽になり、加えてできあがるプログラムの信頼性も向上します。
実際、本書にしたがって授業を行うと「Cでのプログラミングがとても楽になった」という声を頻繁に聞くようになります。
世界的にも、プログラミングの習得にはわかりやすい関数型言語から始め、その次にオブジェクト指向言語に進むのがよいとされています。
プログラミング言語の優劣や好き嫌いを論じると、一種の宗教戦争のようになって、意見が割れますが、TPOに応じてどの言語でも活用できればOKだと思います。
OCamlで関数型プログラミングの基本を学び、その他の言語を使う場合でも応用できればそれでOKと。
本書で、OCamlや関数型プログラミングの基本を学びたいと思います。
プログラミングの基礎 (Computer Science Library)
- 作者: 浅井健一
- 出版社/メーカー: サイエンス社
- 発売日: 2007/03
- メディア: 単行本
- この商品を含むブログを見る