54

私は自分の快適ゾーンの外で言語を勉強するのが好きですが、関数型言語を始める場所を見つけるのに苦労しました。コンピュータプログラムの構造と解釈につ​​いて多くの良いことを聞いたが、数年前にそれを読み通そうとしたとき、それはちょうど私の頭をかき乱したようだった。私はウェブサイトよりも本の方がずっと上手ですが、地元の書店に行くと、LISPの本はちょっと怖いように見えます。

それで、良い出発点は何ですか?私の目標は、関数型プログラミング言語を使用して6か月ほどで単純な問題を解決できるようにすることと、より高度なトピックに移動し、関数型言語が仕事に適したツールであるかどうかを認識し、その言語を使用して2〜3年の間にさらに多くの問題を解決します。私は例が多いが、取り組むべき課題も含まれている本が好きです。関数型言語にはそのようなものは存在しますか?

4

15 に答える 15

29

Little Schemerは再帰を非常によく教えており、楽しくて読みやすいです。

また、Schemeプログラミング言語の幅広い紹介が好きでした。

于 2008-08-22T18:52:28.230 に答える
21

実際の Haskellを試してみてください。オンライン無料です。

于 2008-08-23T01:29:15.623 に答える
17

SICPは素晴らしい本です。

これはおそらく私の偏見ですが、ocamlは非常に簡単に理解できると思いました。完全に快適になるまで、いくつかの異なるスタイルでプログラミングするオプションがあります。私本であるHaskellとOcamlのリファレンスへのリンクをたくさん投稿しました。例などはあなたの路地のすぐ上にあるようです。

Lispを好む場合は、Lispの99の問題(実際にはどの言語でも実行できます)を試してみるか、 SICPを書いた人々からの講義を見ることができます。

さらに進んで、「Purely Functional Data Structures」を手に入れましょう。関数型言語で考慮しなければならないハードコアの深い設計と考慮事項について説明します。これは、ML(ocamlから派生)を使用します。 。

于 2008-08-22T18:56:54.897 に答える
11

Paul Graham の "On Lisp" をお勧めします。

簡潔で、関数型プログラミングの初心者でも非常に読みやすいです (私が読んだときのように)。非常に短い例が多数含まれており、それぞれが 1 つのことを理解するのに役立ちます。

私はよくこの本を読んで思った: これはまさに私が他の (非機能的な) 言語で欲しかった機能を正確に含んでいる言語であるが、決して得られなかった. :-(そして、これはまさにそれを学ぶための本であり、常に理解しやすく、時には面白いことさえあります!

作者のサイトで無料で手に入れることができます!

于 2008-12-05T15:15:05.630 に答える
5

さまざまな関数型プログラミング言語がたくさんあるので、本を推薦するのは難しいです。しかし、Common Lispに興味があるなら、最近、PeterSeibelによる「PracticalCommonLisp」を読んでいます。これは、苦労して稼いだ現金を落とす前に、オンラインで無料でチェックアウトできます。これはCLの非常に穏やかな紹介であり、すばらしい説明とたくさんの例があります。Seibelは優れた作家です(例:Macの話を読んでください)。彼はあなたのエンゲージメントを維持するのが得意です。これは、SICPが失敗する場所だと思います。とても乾燥しています!しかし、Practical Common Lispはかなり例が多いですが、実際には問題はありませんが、例はほとんどの場合、作業を続けて構築できるように設計されています。

もう一つの良い本、これはスキーム指向です:プログラムを設計する方法。(オンライン)私はこの本をあまり読んでいませんでした。私自身はSchemerよりもLisperでしたが、よく書かれていて、良い説明と例があり、取り組むべき演習がたくさんあります。それはSchemeの群衆の中でかなり人気があるようです。

于 2008-08-22T19:27:18.007 に答える
5

私はThompsonの「Haskell:関数型プログラミングのクラフト」が本当に好きです。なぜなら、それはよく書かれていて、Haskellは完全に純粋でありながら(LispやSchemeとは異なり)他の関数型言語よりも簡単に開始できるからです。

于 2008-08-22T19:00:50.720 に答える
5

The Schemers Guide と関連ソフトウェア - 本当に良いもの

http://www.schemers.com/tsg.html

于 2008-09-15T12:46:20.157 に答える
5

関数型プログラミングの紹介 を確認してください。それは異なる視点を提供します。

于 2009-02-16T07:04:15.980 に答える
4

The Little Schemerは、関数型プログラミングのすばらしい入門書であることがわかりました。それは、本が進むにつれて構築される単純な一口サイズの例に完全に基づいています。

于 2008-08-22T18:54:53.683 に答える
4

私はジェフリー・ウルマンのMLプログラミングの要素から学びました。これはかなり良いことです。OCaml、F#、およびHaskellが(一見)より人気がある場合、StandardMLについてのポイントを失います。

于 2008-08-22T19:28:49.187 に答える
4

Chris Okasaki によるPurely Functional Data Structuresは一見の価値があると思います。

参考までにhttp://www.cs.cmu.edu/~rw/theses/okasaki.pdf

于 2008-10-12T21:42:17.230 に答える
2

Haskellは、初心者にとって非常に優れた関数型プログラミング言語です。誰かがHaskellのための良いリソースについて尋ねたので、そこであなたを紹介します

関数型プログラミングに関する優れた本をお探しの場合は、ブルースJ.マクレナンの「関数型プログラミング:実践と理論」をお勧めします。
ただし、集合論と論理を読み取る前に、集合論と論理をブラッシュアップする必要があります。LISP、Haskell、その他の言語の例が含まれています。

于 2008-08-22T18:55:08.927 に答える
1

.NETの経験がある場合は、エキスパート#Fが適しています。

F#はOCamlから派生しています。関数型言語が進むにつれて、Lispはより純粋になります。

于 2008-08-22T18:55:31.653 に答える
1

実世界の関数型プログラミング(F# と C# の例を含む)

于 2010-08-30T15:38:35.363 に答える
0

Haskell関数型プログラミングについて良いことを聞いたことがありますが、Amazonでこの関数型プログラミングの本のリストも参考になるかもしれません。

于 2008-08-22T18:58:47.903 に答える