4

LISPまたはHaskell、関数型プログラミングを学ぶ必要がありますが、lispは非常に古いと聞きましたが、これら2つの言語間のアドバイスはありますか?

4

5 に答える 5

13

他の人と同じように、Scheme(より機能的なLisp方言)とHaskellの両方を学びます。Scheme / Lispには、「コードはデータ/データはコード」とマクロについて教えるための便利なトリックがいくつかあります。Schemeは優れた機能的なスタイルを奨励しており、これを始めるには「TheLittleSchemer」シリーズの本をお勧めします。SICPは素晴らしいテキストhttp://mitpress.mit.edu/sicp/full-text/book/book.htmlでもあり、プログラミングについて書かれた最高の本の1つである可能性があります。スキームは、最初の関数型言語としてよりアクセスしやすくなっています。

スキームのコツをつかむと、ライブラリの欠如、並列処理の欠如、そして優れているとはいえ小さなコミュニティに不満を感じるでしょう。これは私がHaskellを学ぶことに決めたときの場所です。Haskellは非常に成熟していて、非常に便利で、非常に機能的です。基本から離れて学ぶのは非常に難しいので、別の関数型言語に基礎を置くことは非常に役立ちます。どちらか(または両方)を学んだことを後悔することはありません。

于 2010-12-16T11:28:10.650 に答える
5

なぜ両方ではない?LISPは非常に習得しやすいので(私はScheme方言を選びます。http://racket-lang.orgを参照してください)、それから始めます。あなたがそれを好きなら、それに固執しますが、(私の経験では)頭を包むのはかなり難しいですが、私もHaskellを試してみます。

最近のコンピューティングの素晴らしいところは、時間を除いて、これらすべての言語を無料で試すことができることです。私がプログラミングを始めたとき、LISPはメインフレームでしか利用できなかったので、LISPを習得しようとすると少し問題が発生しました。

于 2010-12-16T11:08:23.250 に答える
2

Haskell、Haskellを学んだら、きっと気に入るはずだから。そして、あなたはCommonLISPを学ぶことができるでしょう。ただし、エディタがEmacsの場合は、Lispから始めてください。

于 2010-12-16T11:02:30.533 に答える
1

言語のコンパイラまたはインタプリタを実装することで関数型プログラミングを学びたい場合は、怠惰な言語よりも実装がはるかに簡単なので、LispまたはMLが最初の選択肢として適しています。それ以外の場合は、両方を学ぶ方がよいでしょう。

于 2010-12-16T11:10:39.470 に答える
0

年齢に基づいて選択するのはばかげています。HaskellはC#と言うよりもずっと長く存在しており、その歴史ははるかに遡ります。とにかく、私は最終的に両方を学ぶことをお勧めします。関数型プログラミングを学ぶために、Haskellは特に純粋関数型プログラミングについてです(多くの意味で)。スキームは、Lispの機能指向の子孫です。

于 2010-12-16T11:08:26.263 に答える