関数型プログラミングの入門書として最適なものは何ですか?[閉まっている]
-
09-06-2019 - |
質問
私は自分の快適ゾーンの外で言語を勉強するのが好きですが、関数型言語のどこから始めればよいかを見つけるのに苦労していました。良いことをたくさん聞きました コンピュータプログラムの構造と解釈, 、しかし、数年前にそれを読もうとしたとき、それは私の頭の上を駆け巡るように思えました。私は Web サイトよりも本のほうが得意ですが、地元の本屋に行くと LISP に関する本はちょっと怖く見えます。
それでは、良い出発点は何でしょうか?私の目標は、6 か月程度で関数型プログラミング言語を使用して簡単な問題を解決できるようになり、より高度なトピックに移行し、関数型言語が仕事に適切なツールであることを認識し、その言語を使用して目的を達成できるようになることです。 2 ~ 3 年かけてさらに多くの問題を解決します。私は例が多く、乗り越えるべき課題も含まれている本が好きです。関数型言語にもそのようなものは存在するのでしょうか?
解決
小さな策士 再帰を非常にうまく教えており、楽しくて読みやすいです。
私も気に入りました Scheme プログラミング言語 この言語をより広範に紹介するために。
他のヒント
試す 現実世界のハスケル. 。オンラインでは無料です。
SICPは素晴らしい本です。
おそらくこれは私の偏見ですが、ocaml は非常にとっつきやすいと思いました。完全に慣れるまで、いくつかの異なるスタイルでプログラミングするオプションがあります。私 たくさんのリンクを投稿しました Haskell および Ocaml への参照 は 身近な例などを掲載した本。
Lisp を好む場合は、次の方法で実行してみてください。 Lisp の 99 の問題(実際にはどの言語でも行うことができます)、または、 講義 SICP を書いた人たちから。
さらに進んで、「」を手に入れてください。純粋に機能的なデータ構造」では、関数型言語で考慮する必要がある本格的な設計と考慮事項について説明します。ML (ocaml から派生したもの) を使用します。
Paul Graham の「On Lisp」を本当にお勧めします。
簡潔で、関数型プログラミングの初心者でも非常に読みやすいです (私が読んだときもそうでした)。非常に短い例が多数含まれており、それぞれが 1 つのことを理解するのに役立ちます。
この本を読んでよく思うのですが、これは、私が他の (非機能的な) 言語に欲しかったが、決して手に入れることができなかった機能を正確に含んでいる言語です。:-(そしてこれはまさにそれを学ぶための本であり、常に理解できる、時には面白いことです!
以下で無料で入手できます 著者のサイト!
私はトンプソンの「Haskell:」がとても好きです。なぜなら、この言語はよく書かれており、Haskell は (Lisp や Scheme とは異なり) 完全に純粋でありながら、他の関数型言語よりも簡単に始めることができるからです。
関数型プログラミング言語はたくさんあるので、本を勧めるのは難しいです。ただし、Common Lisp に興味がある場合は、最近私が読んだ本を読んでください。 「実践的なCommon Lisp」 ピーター・セイベル著。 オンラインで無料でチェックアウトする 苦労して稼いだ現金を落とす前に。これは CL の非常に穏やかな入門書であり、素晴らしい説明と豊富な例が含まれています。セイベルは偉大な作家です (例:読む マックの話、)彼はあなたを惹きつけるのが上手で、そこがSICPの本当の落とし所だと思います。ただとても乾燥しています!ただし、Practical Common Lisp はサンプルが非常に多いですが、サンプルは主に作業を続けて構築できるように設計されていますが、実際に解決する必要のある課題はありません。
もう 1 つの良い本、これはスキーム指向の本です。 プログラムの設計方法. (オンライン)私はこの本でそれほど時間がありませんでしたが、自分よりもスキーマーよりもすばれになりましたが、それはよく書かれており、良い説明と例があり、多くの演習があります。Scheme 界隈ではかなり人気があるようです。
Schemers Guide と関連ソフトウェア - 非常に優れたもの
チェックアウト 関数型プログラミングの概要. 。異なる視点を提供します。
見つけました 小さな策士 関数型プログラミングへの素晴らしい入門書です。それは完全に、本が進むにつれて構築される単純で一口サイズの例に基づいています。
ジェフリー・ウルマンから学びました ML プログラミングの要素, 、これはかなり良いです。OCaml、F#、Haskell のほうが (一見) 人気があるのに、Standard ML については減点されます。
感じます 純粋に機能的なデータ構造 クリス・オカサキ氏の作品は一見の価値あり。
Haskell は初心者にとって非常に優れた関数型プログラミング言語です。Haskell に関する優れたリソースについて誰かが質問していたので、紹介します。 そこには.
関数型プログラミングに関する優れた本をお探しの場合は、『関数型プログラミング:実践と理論」ブルース J.マクレナン。
ただし、読む前に集合論と論理をブラッシュアップする必要があります。LISP、Haskell、その他の言語の例が含まれています。
.NET の経験がある場合は、 エキスパート #F いいね。
F# は OCaml から派生したものです。Lisp は関数型言語ほど純粋です。
現実世界の関数型プログラミング (F# と C# の例を使用)
良いことを聞きました Haskell関数型プログラミング, 、でもこれも見つけました リスト 役に立つかもしれない関数型プログラミングの本を amazon で紹介します。