web-dev-qa-db-ja.com

現実の世界のLisp

私はLISP(実際にはScheme)を試してみましたが、LISPは非常に美しい言語であり、さらに詳しく知りたいと思っています。ただし、LISPは深刻なプロジェクトで使用されることはないようであり、求人の掲載で望ましいスキルとしてリストされているのを見たことはありません。私は、LISPを使用した、または「実世界」で使用されているのを見た人、または純粋にアカデミックな言語と見なされるかどうかを知っている人からの意見に興味があります。

144
titaniumdecoy

Franz、Inc.は、徹底的な 成功事例のリスト をWebサイトで提供しています。しかしながら:

LISPがアニメーションとグラフィックス、AI、バイオインフォマティクス、B2BおよびEコマース、データマイニング、EDA /半導体アプリケーション、エキスパートシステム、ファイナンス、インテリジェントエージェント、ナレッジマネジメント、メカニカルCAD、モデリングおよびシミュレーションにのみ役立つと想定しないでください。自然言語、最適化、研究、リスク分析、スケジューリング、通信、およびWebオーサリングは、これらがリストされた唯一のものであるという理由だけで。 —ケント・ピットマン

他のサクセスストーリーはこちらでご覧いただけます: http://LISP-lang.org/success/

およびCommon LISPを使用している現在の企業のリスト: https://github.com/azzamsa/awesome-LISP-companies

87

Emacsのelispはカウントされますか?これは、私がよく知っている最も「現実の世界」の使用です(Emacsが「現実の世界」としてカウントされるかどうかはわかりませんが)。

54
eschercycle

ITA SoftwareCommon LISP を使用します QPX低価格検索エンジンOrbitzカヤック 、および アメリカ および ユナイテッド 他の多くの航空会社。また、カナダ航空の今後の 乗客予約システム にも一部使用されます。 Paul Grahamは、過去にITAでのLISPについて 少し書かれています を持っています。

(免責事項:私はそこで働いています。)

43
Joe Shaw
26
jfs

小さなスタートアップとして、「アプリケーションサーバー」と呼ばれるものを構築しました。しかし、実際には、SQL接続およびWebアプリケーション用の統合された共通LISPライブラリの束にすぎません。 一部の詳細は cl-dwimプロジェクトページ

これを使用して、地方政府からデータを収集し、国の予算の関連部分を計算するハンガリー政府向けのWebアプリケーションを開発および運用しています 。これは、現在計画中の2番目の予算です。

約4000人のユーザーがいて、コンピューターのクラスターで実行されます。

「アカデミック言語」の時点では、ビジネスプロセスモデリングの永続的な継続のようなもので遊んでいます。いくつかの余分なプロセス関連のプリミティブといくつかの制約があるランダムなLISPコードです。外部イベントを待つ間、コード内のランダムなポイントで停止し、スリープ状態になります(データベースにコミットされます)。

実用的ですか、それともアカデミックですか?あなたが決める... :)

25
Attila Lendvai

Reddit は元々LISPで記述され、その後Pythonで書き直されました。 Finding LISP で、スイッチとそれがLISPにとって何を意味するかについての良い分析があります。

23
Mark Reid

Paul Grahamは、LISPで記述されたViaWebを使用および記述しています。

それについて読む ここ-平均を破る

22
epatel

一貫したかなりの開発活動をまだ楽しんでいるかなり最近のオープンソースプロジェクトは、 LilyPond です。

これは、入力しやすいテキストファイルを入力として取り込み、それを美しい楽譜(pdfファイル)に変換する楽譜作成プログラムです。必要に応じて、出力をいじるさまざまな方法を提供します。まともなサウンドのMIDIファイルを作成することもできます。他のミュージシャンが読むニースの楽譜を作成する必要があるときはいつでもそれを使用します。 Finaleよりも優れていると思うし、freeだ!

商用カテゴリには、 NoteheadのIgor Engraver もあります。残念ながら、このサイトでは、LISPについて説明しているページへの直接リンクを投稿することは許可されていないため、ダウンロードして「LISP」リンクを探してください。

ゲームでLISPを使用しているNaughty Dog(コンピューターゲーム会社)もいます。 この記事 はそれについて話し、さらにいくつかのコードを示しています。

言及され、リンクされている他の多くのものがありますが、これらは私に共鳴する主なものです(作曲家/プログラマー/ゲーマー/ ...タイプであること)。

12
Galghamon

ITAソフトウェアは、かなりの量のCLを使用します。

http://www.itasoftware.com/careers/l_e_t_LISP.html?catid=8

12
Ali

最近のいくつか:

それらの最初の3つは、CL WebフレームワークであるWeblocksを使用して作成されました。 WigflipとClutuは、純粋なHunchentootを使用します。

今すぐコーディングしましょう! :)

10

ハッブル宇宙望遠鏡は、LISP計画ツールを使用してスケジュールされます。スペースシャトルはそうでした。 Webb望遠鏡になります。私がLISPを書いている会社は、数十億ドルの健康保険請求を分析し、不況を経ても年間約30%で成長しています。私たちは巨大な会社に買収されており、プログラマーの1人が1年で(大企業の)メディケアのクレームをゼロから開始するためのソフトウェアの出力と一致(実際に改善)しました。 (巨大企業)のコードは、LISPではなく、6年と数人のプログラマーを要しました。キャリア面での問題は、あまりにも多くの人が「いらいらする愚かな括弧」などについての混乱を聞いていることです。ほとんどのマネージャーは「理解」せず、むしろ、十分に馴染みのある言語でプロジェクトを管理したいと考えています。彼らは「LISP = AI」と考えており、それが良い汎用言語である可能性を楽しませたくさえありません。耳を塞ぐだけです。既存のJavaアプリをM $に優しいウェブサイトにしたり、クラスタリングまたはパイプライン化するための洗練されたツールはありません。これは、ITが買収による成長の時代に気にするものの90%です。が、それは私が苦いだけだろう:)

10
ThePrisoner

私自身の主要なソフトウェアプロジェクトを今すぐ開始した場合、上記の基準に基づいて言語を決定します。確かに、私はLISPが大好きで、CLOSは素晴らしく、真のレキシカルスコーピングロックであり、LISPマクロは(指示通りに使用するとき)とてもクールで、個人的にはLISP構文が本当に好きです。 […]しかし、私が選択を担当していた場合、主要なソフトウェアプロジェクトにLISPを選択するように説得するには、多くの時間がかかり、特別な状況が必要になります。 - ダンワインレブ

9
Ólafur Waage

Autocadには、LISPを使用して製品を拡張する拡張機能があると思います。 AutoLISP を参照してください。

9
Alex Miller

ピーター・クリステンセンは、(財政的に)成功した​​LISP企業のすばらしいリストをまとめました。

http://www.pchristensen.com/blog/LISP-companies/

9
Eric Normand

さまざまな役割でLISPを使用する企業、プロジェクト、製品はたくさんあります。私はそれらのいくつかで仕事をしました。

関連する2つのポイントがあります。

  1. コンシューマエレクトロニクスの最新製品がCommon LISPで構築されているか、プログラムされていること、または使用するサービスがLISPサーバーによって提供されていることを決して知らないかもしれません。 LISPが「使用されていない」と結論付けるのは誤りです。

  2. …そして、非常に多くのドメインのように、それらのジョブはMonster.comに登場しませんでした。求人情報を見たことがないからといって、LISPが必要とする、または適切なツールを使用する機会がないというわけではありません。

8
Rich

GIMPのプラグインシステムはSchemeに基づいていると思います。これが完全に「現実の世界」であるかどうかはわかりませんが、少なくともLISPの実用的なアプリケーションのようです。

8
Tikhon Jelvis

ACL2 を検索します。これはLISPベースのフォーマルロジックエンジンであり、ソフトウェアセキュリティのフォーマルメソッドや浮動小数点ハードウェアの正確性の証明など、多くの「実世界」プロジェクトで使用されています。

6
BCS

http://www.franz.com/success/all_customer_apps.lhtml の使い果たされたリストからはほど遠い

6
fincomus

私の計画がうまくいけば、5年後にはすべてSchemeを使用します! ; p

6
leppie

LISPは、実世界のアルゴリズム音楽作曲で Common Music ライブラリとともに使用されます。 Rick TaubeのMetalevelからのメモは、LISPに作曲用の例がたくさんある主題への素晴らしい入門テキストです。サンプルディレクトリ here およびテキストのコピー here を参照してください。

6
Curtis

[〜#〜] prism [〜#〜] ("Prismプロジェクトは、人工知能を含む放射線治療計画のためのソフトウェアツールを構築する長期プロジェクトです。ツールおよび手動シミュレーションシステム。")はCommon LISPで記述されています。

私の仕事では、 [〜#〜] dicom [〜#〜] を使用するソフトウェアを書いています。そして、良いDICOM実装を書くのは難しい作業であると言わなければなりません。 report では、Common LISPがより少ない労力で他の実装よりも優れた(少なくともいくつかの点で)優れたDICOM実装を構築する方法を説明しています。

6
dmitry_vk

映画業界でのラケットの使用に関するマシュー・エリック・バセット: http://www.youtube.com/watch?v=37owCjWnkK

ラケットとPS3のDaniel Liebgold: http://www.youtube.com/watch?v=oSmqbnhHp1c

5
soegaard

Maxima (シンボリック代数のプログラム)がCommon LISPで書かれていることに気付きました。私はかなり長い間それを使用してきましたが、それは非常に良い実生活の例でもあると思います。

5
Jan Stolarek

Google App InventorはSchemeで書かれています

5
shikhar

まあ、それはほとんど主流ではありませんが、私は管理可能な限り多くの研究コードにLISPを使用します。ダイナミズムと表現力のバランスのために私が見つけた最高の言語でありながら、数値などに対してまともなパフォーマンスを生み出しています。

5
simon

GNU Makeはスキームで拡張可能です。実世界プログラミングの場合:)

https://www.gnu.org/software/make/manual/html_node/Guile-Integration.html

4
antono

LISPは80年代初期に光速へのジャンプを試みました。 PCが登場する前、商業的に生産された「LISPマシン」がありました。これは現代のワークステーションに非常によく似ていますが、「完全にダウン」したLISPでした。 LISPハードウェアは最終的にIntelに敗れました(他のすべてのものと同様)。 LISPソフトウェアは最終的にC/C++に敗れました。これがすべてである理由はさまざまです。 http://www.andromeda.com/people/ddyer/LISP/

3
ddyer

前述のように、コンピューター代数システム「Maxima」はLISPで記述されていますが、Axiomとそのフォーク(OpenAxiomおよびFricas)などの他のCASもLISPで記述されています。

2
Thomas Baruchel

Paul BergのAlgorithmic Composition Toolbox: http://www.koncon.nl/downloads/ACToolbox/

2
rabidmachine9

すでに数人が言及しているようですが、LISPはカスタムAutocad開発で広く使用されています。 Autocadには、組み込みのLISPインタープリターが含まれています。これは、製品を拡張する最も簡単な方法の1つであり、生産性を迅速に向上させる機能を提供します。

ユーザー側ではコンパイルは不要で、1つ以上の行LISP式をコマンドラインに入力して、図面上ですぐに実行できます。 LISPの基本を習得するために少しでも一歩進んでも構わない設計者や製図者にとっては、生産性に大きな恩恵をもたらすことができます。

Autocadは、製品をカスタマイズするためのその他の多くの方法を提供しています。 ObjectARX(C++)、VB、C#など。LISPインターフェースは、学習と実装がはるかに簡単です。そして、他の開発環境の大部分は何らかの方法でLISPを使用しています。

LISPインタープリターは、Autocadの非常に初期のバージョンで使用可能になり、変数と式と呼ばれていました。それはかなり限られていましたが、追加機能がすぐに追加されたほどユーザーに大きな成功を収めました。本格的なビジュアルIDEは後でありました(バージョン2000の場合))。

Autocadで利用可能なLISPコードの行数は何百万(10億?)であると推測したくありません。 「autocad .lsp」でGoogle検索を実行すると、230万件のヒットが返されます。

OK、十分なタイピング、それは私の仕事に戻り、私の現在のプロジェクトのためにより多くのLISPを書きます:)

2
bluesixty

AutoCADアプリケーションの場合、実際のプロジェクトにはAutoLISP/Visual LISPが多く使用され、ユーザーの大規模なコミュニティがあります。

Schemeプログラミング言語は、FLUENT Flow Modeling Software(計算流体力学、CFD)によってスクリプト言語として使用されます。

2
jfs

私の会社には、スキーム(PLOT)で書かれたソフトウェアがあります。このソフトウェアは、大企業のメールファイアウォールのように機能するために使用されます。

2
paul

http://www.gensym.com/ -リアルタイムビジネスルールエンジンには、多くの産業クライアントがいます。

内部的にはCommom LISPで書かれています

1
kmmbvnr

上記の非常に賢明なコメントをすべて追加するだけです。CormanLISPツールを見て、組み込みシステムに非常にインテリジェントな機能を組み込む方法を見つけてください。

1

http://echowaves.com はclojureとcompojureでビルドされます。このサイトは、Webアプリの構築にclojureを使用することが実用的かどうかを確認するための学習演習として作成されました。答えは-はい!ウェブ上のclojureに賛成です。必ずclojureを学んでください-それはあなたのキャリアを向上させます。コードはオープンソースです。典型的なcompojureアプリの典型的な可動部分を例にしたい人は誰でも https://github.com/echowaves/echowaves

1
dmitryame

それは素晴らしい言語ですが、(ソフトウェアビジネスオーナーおよびプログラマーとしての私の意見では)商用LISPパッケージは非常に少なく、そこにあるいくつかはランタイム料金を要求するため(適切なLISPパッケージはエンドユーザーがLISPプログラムを作成するためにも使用します)。

Steel Bank Common LISPを使用して、WindowsおよびLinuxでコードのプロトタイプを作成しますが、それが気に入っていますが、それで書かれた製品を出荷することは考えていません。プログラムへのシングルクリックアクセスを設定する簡単な方法はないため、エンドユーザーがLISPプロンプトに直面することはありません。コンパイルされた製品を出荷して、ユーザーがそれを分解したり、名前を削除するためにいくつかの変更を加えたり、自分の製品として販売したりできないようにする方法はありません。これらの両方を行うことができるLISPシステムについて言及しましたが、それらはプログラムのエンドユーザーごとにランタイム料金を支払う必要がある商用システムであり、これはばかげています。

LISPはいつの日か登場するかもしれません(そして、そうなることを切に願っています)が、ほとんどの商用ソフトウェアではまだ実行可能ではありません。唯一の例外は、Webサーバーのように、完全に制御できるシステム上で常に実行されるものです(そのためにも、それを使用している会社は数社しかありません)。

0
Head Geek

Walmart はclojureを使用してリアルタイムで購入を処理します

0
blue_note