Lispが良いか悪いかを言うのに十分なLispを知りません。Lispを使用したすべての人が気に入っているようですが、最近最も人気のある言語はCに由来しています。
では、Lispの何がそれほど優れているのか、そしてなぜそれをより多く使用しないのか?Lispについて明白な悪い点はありますか?
Lispが良いか悪いかを言うのに十分なLispを知りません。Lispを使用したすべての人が気に入っているようですが、最近最も人気のある言語はCに由来しています。
では、Lispの何がそれほど優れているのか、そしてなぜそれをより多く使用しないのか?Lispについて明白な悪い点はありますか?
回答:
Lispはプログラミング言語のチャックノリスです。
Lispは、他の言語が評価される基準です。
Lispを知ることは、開発者の啓蒙を実証します。
私は3つの弱点(およびそれらの反論)を聞きました:
動的型付け。
静的型付き言語には、特定のクラスのエラーをキャッチして実行時に発生しないようにするための十分な情報をコンパイラーに提供することをめぐって議論があります。しかし、まだテストする必要があります。
この記事では、より強力なタイピングと強力なテストという動的なタイピングと、より多くのテストについて論じています。
受け取りにくい。
これには実際には、学習とツールの2つの部分があります。
Lispは実際に「取得」するために多少の努力を必要としますが、Lispを学ぶことは本当に他の言語でより優れたプログラマーになるので、それだけの価値があります。たとえば、実際にクロージャを「取得」したら、Javaの内部クラスを理解できます。そして、ファーストクラスの関数を「取得」すると、それらのない言語を使用するたびに落ち込んでしまいます。
私が読んだリトルスキーマーをして読んでいます実用的なCommon Lispの両方優れています、。
次はツールです。私はMacを使っているので、Aquamacs Emacs(初心者がEmacs を使いやすくする)とSteel Bank Common Lisp(SBCL)に焦点を合わせました。
ライブラリーの欠如。
まだはっきりとはわかりませんが、疑います。Webサイトを構築する場合、HunchentootとElephantが優れたツールセットを提供しているように見えます。しかし、実際にはLispersがライブラリーの欠如について不平を言っているのを見ません(たぶん、Lispは非常に強力で、必要ないだけなのでしょうか?)。
「Lispはプログラム可能なプログラミング言語です。」
— John Foderaro、CACM、1991年9月
これが私の見解です:
表面的には、Lispは素晴らしくシンプルな関数型プログラミング言語です。構文はほとんどなく、すべての要素が論理的に組み合わされています。
もう少し深く掘り下げる場合は、SICPを読んでください、メタサーキュラーエバリュエーターを作成すると、2つのことがわかります。1つは、インタプリタ全体(いくつかのプリミティブのみが与えられている)はコードのページにすぎず、2つは、コードとデータの関係です。エレガントなプログラミング手法を可能にします。
これを完全に吸収すると、他の言語はあなたにいくつかのことだけを言うことができるようになっているときに石で固まっているように感じます。Lispは、構文とセマンティクスを定義できれば、抽象化を構築できます。
Lispは非常に最小限でシンプルな規則的な構文を持っているので良いです。
Lispは、最小限のシンプルな規則的な構文を持っているので悪いです。
「十分に複雑なCまたはFortranプログラムには、Common Lispの半分のアドホックで非公式に指定された、バグが多く、遅い実装が含まれています。」
ここにいくつかの役立つリンクがあります:
ピーター・サイベルの優れた実用的なCommon Lispの最初の章では、 Lispのが好きのための彼の理由をカバーしています。一番下の行は、「プログラム可能なプログラミング言語」というフレーズです。これは、言語をドメインまたは好みのスタイルにカスタマイズする機能です。
Lispプログラムは、プログラムがどのように機能するかについてのあなたの考えとあなたが実際に書いたコードとの間のより明確なマッピングを提供する傾向があります。
出典:http : //www.gigamonkeys.com/book/introduction-why-lisp.html