LISPを学ぶための最良の方法は何ですか?[閉まっている]


167

私は2、3年前からPython、PHP、Java、Cでプログラミングしており、ハッカーとペインターを読み終えたばかりなので、LISPを試してみたいと思います!

私が知っていることとはまったく異なり、簡単ではないことを理解しています。また、LISPに関連するコミュニティや開発の数ははるかに少ないと思います(間違っている場合は修正してください)。だから私の質問は:LISPを学ぶための最良の方法は何ですか?

本を買ったり、時間をかけてもかまいません。無駄にしたくないだけです。

「最終的な」アイデアはWeb開発にLISPを使用することですが、それはそれほど一般的ではないことを知っています...最初の本やチュートリアルを選び、そうでない可能性のあるものに多くの時間を費やす前に学習計画を立てることは良いことです。最善の方法です!

ご回答ありがとうございます!

編集:私はPractical Common Lispを読みました:...長くて難しい、興味深い、そして間違いなく私はLispを使い始めました、その後私は小さなスキーマを読みました、そしてそれは短く、楽しくそして私の全体的なプログラミングにとって非常に良いものでした。したがって、私の推奨事項は、最初に小さなスキーマを読んで、次に(数時間とその価値がある)lisp(またはスキーマまたはその他の方言)が探しているものではないと判断した場合でも、非常に楽しいことです再帰についての新しい考え方!


Common Lisp:インタラクティブなアプローチ。スチュアート・シャピロによる古い(1992)の本。以前は枯れ木のみでしたが、近年は電子形式で入手できます。
Kaz

Robert Wilenskyによる一般的なLISPCraftは、古くても面白い本です。私は1986
Kaz

回答:


114

Peter SeibelによるPractical Common Lispを読んでみてください。


2
私はその本を私のキャンパスで見たと思います...なので、今すぐ手に取りに行きましょう!
DFectuoso 2008

2
REPLを忘れないでください!私はLISPについて学んだことを使用していませんが、他のすべての言語でより優れたプログラマになりました。
Robert K

1
これを強くお勧めします。これは、AIクラスがプロジェクトのLISPを教えるために使用した本でした。
helloandre 2008

6
DFectuoso- それに関する単なるリンクではなく、本です。オンラインで本を読み始める
アーロン

2
ええ、私は知っていますが、モニターで読むのは好きではありません...とにかくこれを答えとして選んだのです。私は両方を終了します= 0)
DFectuoso 2009年

76

私の個人的なお気に入りは、Abelson&Sussman Structure and Interpretation of Computer Programsです。Lispの素晴らしくきれいな方言であるSchemeを使用しています。

より実用的なアプローチが必要な場合は、Webデザイン用のLispフレームワークを選択して(そのような獣が存在するかどうかはわかりません)、すぐにアクセスする必要があります。


1
Paul Grahamには、arcと呼ばれるLisp Webフレームワークがあります。
graywh 2008

15
ArcはLispの独自の方言であり、単なるフレームワークではないと思います。paulgraham.com/arc.html
michiakig 2010

55

あなたはウォームアップとしてリトルスキーマーから始めたいかもしれません。Lispのプロダクションプログラムを書くための実用的な本ではありませんが、Lispでの考え方を学ぶのに最適な本です。


それは良いと速い読書のように思えます!TY
DFectuoso 2008

5
私は反対する傾向があります。はい、それに飛び込むことはLispを学ぶ最も早い方法かもしれませんが、人々をそらす可能性も最も高いです。PCLには、経験を積んだプログラムが、記憶に残るだけでなく、1日目からLispの使用を開始できるという利点があります
Aaron

43

MITは、DIVXおよびMPEG形式のLISPコース全体を提供しています。私はそれを強くお勧めします。

http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/


3
講義は彼らの教科書、コンピュータプログラムの構造と解釈に基づいています。
graywh 2008

7
DivXビデオは、MPEGビデオと同等の品質であることがわかりました。帯域幅とディスク容量を節約してください。
Drew Noakes、

2
ディスクスペースをさらに節約するには、リンクに移動して「構造と解釈」を検索します(引用符を使用)。
ビル・エヴァンス、マリポサ、2011年

私はSICPのビデオを通過します。彼らはどの方言を使っていますか?彼らは方言については何も言及せず、単に「LISP」と呼んでいます...
priestc '27

2
@priestc私はこの質問が4年前に尋ねられたことを知っていますが、それを明確にするためです。彼らは「スキーム」を使用しています。
dptd 2016

33

80年代スタイルのテキストゲームを書くことを通してLISPプログラミングを教える「Land of LISP」と呼ばれる本が今出ています。私は今それを読んでいます、そしてそれはとてもよく書かれていて、それ自体をあまり真剣に受け取っていません。


23

ここにはいくつかのオプションがあります。まず第一に、SchemeとCommon Lispは(スコープのような)かなり深い点でかなり異なります。最初に1つを選択し、しばらくそれを使い続ける必要があります。私はCommon Lispのファンですが、それはvi-vs-EMACSの宗教的な質問の1つかもしれません。

Schemeの場合は、Kent DybvigのSchemeプログラミング言語、次にSICPを選択してください。

Common LispとPractical Common Lispについては、David LamkinsのSuccessful Lispをお勧めします。 成功したLispはオンラインでも無料で入手できます

その後、QuinnecによるLisp in Small Piecesと、Norvig's Lisp in AI bookを見てください

マーティ・ホールはジョンズ・ホプキンスで素晴らしいリストを持ってます。

更新された:私はそれを永遠に固執することを意味するのではなく、一度に両方を学習しようとすると混乱するでしょう。



17

Project Eulerは、新しいプログラミング言語を習得するために使用できる、一口サイズの問題の優れたソースとしてお勧めします。


1
すでにプロジェクトオイラーの優れた参加者なので、はい、そこで過ごす時間はLISPの練習になります(いくつかの方法を習得したら)
DFectuoso

9

Paul GrahamによるAnsi Common Lispは良い本です。

絶版になると思いますので、Amazon経由で入手するのが一番です。私は大学で2年生を過ごした「自然言語処理」クラスの本を手に入れました。LISPでプログラミングプロジェクトを作成する必要があったため、Lispをすばやく学ぶ必要がありました。

その本は私をかなり助けてくれました。


8

一度問題があった。私はlispを知りませんでした。そこで、LISPをボックスでダウンロードすることにしました。

その後、Emacsのインストールで、ヘルプやドキュメントなしで自分を見つけました。

次に、2つの問題がありました。


2
ここでの問題は、誰かがチュートリアルについてあなたに言わなかったことです。Control-Hを押して放し、Tを押します。これにより、開始するために必要なすべてを提供するチュートリアルが表示されます。あなたの悪い経験について聞いてすみません。
JasonFruit 2008

7
古い正規表現のジョークを参照する場合は+1、その上では役に立たない場合は-1。:-P
マイケルH.

7

真面目な学習者には、NorvigのPAIPをお勧めします。LispとAIの両方を学ぶための優れたリソースです。


私はこれを2番目に書いており、実用的なCommon Lispよりも刺激的で、よく書かれたIMOです。
Johan Kotlinski、

6

バークレーはCS61aをポッドキャスト形式で提供しています。これは、SICPに基づいたCSクラスの紹介です。これは、MITが提供している1982年のビデオよりも新しいバージョンです。


6

私は現在Lispを使って作業しており、Lispを学ぶための「本」に出くわしました。それはライナー・ジョスウィッグによって提案されました

この本はCommon Lisp:A Symbol Gentro Computationの穏やかな紹介と呼ばれ、PDFとしてダウンロードできます。著者は、最初の章のLispへのUMLのようなアプローチから始まり、徐々に多くのLisp構文を紹介しています。

私はまた、実用的なlispを調べましたが、ベテランのプログラマーであっても、著者は必要な多くの情報に目を通していると思います。この本はそれをしていないようです(私は完全に完成していませんが、提案するのに十分便利だと思いました)。

もう1つ、動作する環境が必要です。Lispin a Boxが適切に動作することがわかりました。WindowsとLinuxで動作し、eMacを使用します。


5

JVMの方言であるClojureに惹かれました。Clojureは一種の優れたLISPです。

  • それは「簡略化された構文」を持っています。つまり、必要なパラテンシスは少なく、コレクションの巧妙な設計セットが利用できます
  • これはJVMベースであるため、その下に安定した高性能のランタイムがあり、さらにJavaエコシステム全体(ライブラリー、データベースドライバー、ビルドツール、IDEなど)も手の届く範囲にあります
  • Noirは優れたWebフレームワークであり、アプリはJava Webサーバーおよびアプリケーションサーバーにデプロイできます

言い換えれば、Clojureはここで、今すぐ本番環境で使用できます。

リソースに関しては、少なくとも4冊の本とPlantyのオンラインリソースがあります。



4

Web開発については、一般的なlispで記述されたWebサーバーであるhunchentootをご覧になることをお勧めします。


Web指向のlispに関連するすべてのWebサーバーとフレームワークを見るのはとても悲しいことです...デザインはゼロ(cssまたはインラインスタイル)
DFectuoso

4

"The Little Schemer"の演習を行うことで、再帰的なパターンマッチングの側面をうまく理解できるようになり、XSLTでの作業が非常に簡単になりました。


2

プログラミングの経験に基づいて、まずシンボリックコンピューティングへの穏やかな導入または実用的なCommon Lispをお勧めします。練習のために、WindowsではAllegro CL 8.2 Free Express Editionを使用します。練習はとても楽しいことになります。


1

答えるのが難しい質問のようです...それはすべてあなたの学習スタイルに依存すると思います。

私は大学でAIとエキスパートシステムのクラスでLISPを学びましたが、それは私が学ぶ方法です...私は優れた本の学習者ではないので、クラスの設定で誰かに説明してもらいたいです。

LISPは間違いなくユニークな言語であり、従来のC、Java、PHPプログラミングに慣れている場合は、新しい考え方が必要です。

幸運を祈ります!


1

SICPという本を読んだことは、本当に学ぶのに役立ちました。私はSteel Bank Common Lisp(SBCL)を使用し、それで大成功しました。

幸運を


今日は本をいくつか選んで明日の早朝に始めましょう!
DFectuoso 2008

ただし、SBCLはCommon LISP用であり、この本はSchemeに関するものです。まだ完全には読んでいませんが、Common LISPを学ぶ上で非常に役立ちます。Common LISPで同等のものを見つける必要があるだけです。
Zelphir Kaltstahl

1

(と)のバケツをつかんで、町に行きます。


0

Lispには、他の言語の学習と異なる特別な点があることは知りません。あなたはそれを使い始めて、その機能を試してみる必要があるだけです。

1つのオプションは、単純なプロジェクトを試すことです。

Lispに固有のもう1つのオプションは、通常の作業を支援するEmacs拡張機能を作成することです。


0

これらの本を順番に読んでください:シンボリックコンピューティングの穏やかな紹介、Paul GrahamによるANSI Common Lisp、次にPractical Common Lispに移ります。または、ACLをスキップして、PCLを使用する際に参照として使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.