- ベストアンサー
初めて関数型言語を学ぶとしたら、どの言語がお奨めですか?
初めて関数型言語を学ぶとしたら、どの言語がお奨めですか? JavaScriptをやっていて、関数型言語に興味を持ちました。 いままで、勉強した言語はC < Java < Python < JavaScriptです。(右側の方が比重・興味が大きい) 現在、Web系志望の学生なので、その辺を踏まえてアドバイスいただけると助かります。 今のところ興味を持ってるのは、Common Lisp/Haskellあたりです。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
C言語が「関数型」?なのか、と言われると多分違うと思うんですけどね。普通は命令型/手続き型に分類されるんじゃないか、と思います。 ちなみに、JavaScriptはSchemeに影響を受けてる言語です。それで言うと、SchemeかCommon Lispがいいんじゃないのかな、とは思いますがね。ただ、あんまり関数型、って感じで書かれている本は少ないと思います。 Web系志望と言う事なんで、Common Lispですと、 ANSI Common Lisp: http://www.pej-hed.jp/washo/288.html にHTML生成のトピックあり。 実践Comon Lisp: http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06721-1 にAllegro Serveと言うライブラリを利用したWebプログラミングの例があり。HTML生成の例もあり。 原著のサイトでは、 http://www.gigamonkeys.com/book/practical-web-programming-with-allegroserve.html http://www.gigamonkeys.com/book/practical-an-html-generation-library-the-interpreter.html http://www.gigamonkeys.com/book/practical-an-html-generation-library-the-compiler.html 辺り。 プログラミング言語Lisp: http://ascii.asciimw.jp/books/books/detail/4-7561-3926-4.shtml CL-HTTPと言うライブラリを用いたWebサーバーの説明が載っています。 ただし、本自体はMacintosh用の商用実装、Mac Common Lisp Mac Common Lisp: http://www.digitool.com/ を用いたものなんで、注意する必要があります。Macを持ってないならあまりお薦めしません。また、若干古い本ですね。 Haskellの方は良く分かりませんが、Common LispならそれなりにWeb関係の簡単なアプリの書き方も紹介されている、と言う事です。 参考までに。
その他の回答 (2)
- hoge_piyo
- ベストアンサー率57% (15/26)
本当に純粋に関数型を学ぶならLispよりなによりHaskellしかないでしょう。ただ、結構とっかかりにくいですが・・・ あとは、Javaができるなら、scalaなんかもおすすめです。webアプリ用のフレームワークもあります。 それと、F#なんかもVisualStudio2010で正式にサポートされるので、実際の開発で使用できる可能性が多くなりそうですし、おすすめです。
- Hohenheim
- ベストアンサー率18% (43/237)
C言語です。 PytonやJavaScriptだとオブジェクトの占める位置が大きいので、「関数型」を学ぶには一番単純なC言語がよいと思います。
補足
ありがとうございます。 調べてみるとC言語を関数型という側面で扱っている記事をちらほら見つけました。 ご回答の意図を、詳しくいただけるとありがたいです。
補足
JavaScriptは、ブラウザで動くSchemeというのが元だったのですね。 http://d.hatena.ne.jp/yad-EL/20081002/p1 開発環境はMacがメインなので、問題ないですw CLisp/Schemeから始めてみようかなぁ。 参考になるサイトを教えていただいて、ありがとうございました!