[解決済み] なぜLispを学ばなければならないのか?[クローズド]
質問
を学ばなければならないとつくづく思う。 Lisp を学ぶべきだと思いますし、それを手助けしてくれる良いリソースがたくさんあります。
複雑な構文に尻込みしているわけではありませんが、手続き型言語の代わりにこれを使う意味がある場所を、quot;伝統的な商用プログラミングの中で見つけられるでしょうか。
Lispで書かれた商用キラーアプリはあるのでしょうか?
どのように解決するのですか?
Lispの主な用途の1つに、人工知能があります。 大学時代の友人が大学院のAIコースを受講し、メインプロジェクトとして"を書きました。 ライト アウト というソルバーをLispで書きました。彼のプログラムの複数のバージョンでは、わずかに異なる AI ルーチンを利用し、40 台ほどのコンピューターでテストしたところ、かなり素晴らしい結果が得られました (オンライン上のどこかにリンクがあればいいのですが、ないと思います)。
2学期前、私は Scheme (Lisp をベースにした言語) を使って、Abbott and Costello の "Who's on First" をシミュレートする対話型のプログラムを書きました。 ユーザーからの入力は、かなり複雑なデータ構造(他の言語のマップに似ているが、より柔軟性がある)と照合され、適切な反応を選択するようになっていた。 また、3x3のパズルゲームを解くルーチンも書きました。 スライドパズル を解くルーチンも書きました (このアルゴリズムは、より大きなスライド パズルに簡単に拡張することができます)。
まとめると、Lisp(あるいはScheme)を学ぶことは、AI以外の実用的なアプリケーションを生み出すことはあまりないかもしれませんが、他の多くの人が述べているように、非常に貴重な学習体験です。 Lisp のような関数型言語でのプログラミングは、再帰的に考えることにも役立ちます (他の言語で再帰に問題があった場合、これは大きな助けになるでしょう)。
関連
-
[解決済み] ネストされた関数。副作用の不適切な使用?
-
[解決済み] C言語で関数型プログラミングを行うためのツールにはどのようなものがありますか?
-
[解決済み】参照透過性とは何ですか?
-
[解決済み】ミュータブルステートなしで何か役に立つことができるのか?
-
[解決済み】関数型プログラミングで、ファンクターとは何ですか?
-
[解決済み】関数型プログラミングのソフトウェア工学の方法論はありますか?[クローズド]
-
[解決済み】手続き型プログラミングと関数型プログラミングの違いは何ですか?[クローズド]
-
[解決済み] ステートレス・プログラミングのメリット?
-
[解決済み] Javascriptは関数型プログラミング言語か?
-
[解決済み] ヒンドレーミルナーとは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ネストされた関数。副作用の不適切な使用?
-
[解決済み] 関数型言語における「パターンマッチング」とは?
-
[解決済み] (関数型)リアクティブプログラミングとは?
-
[解決済み] 関数型プログラミングで時間関数が存在するのはなぜですか?
-
[解決済み] クロージャ」とは何ですか?
-
[解決済み] Y-combinatorとは?[クローズド]
-
[解決済み】関数型プログラミングで、ファンクターとは何ですか?
-
[解決済み】なぜ関数型プログラミングはまだ浸透していないのでしょうか?
-
[解決済み】手続き型プログラミングと関数型プログラミングの違いは何ですか?[クローズド]
-
[解決済み] First Class FunctionとHigh Order Functionの違いについて