現実世界のLisp


146

私はLisp(実際にはScheme)を実験しましたが、それが私がもっと学びたいと思っている非常に美しい言語であることがわかりました。しかし、Lispが深刻なプロジェクトで使用されることは決してないようで、どの求人でも望ましいスキルとしてLispがリストされているのを見たことがありません。Lispを使用したことがある人、または「現実の世界」で使用されているのを見た人、またはそれが純粋に学術的な言語と見なされているかどうかを知っている人からの連絡に興味があります。


1
@titaniumdecoy:Clojureを発見したばかりで、Lispスタイルの言語でこれまでの経験がないため、Lispに関する談話を検索する人のためにClojureタグを追加しました。:)
アンデターナー

1
@titaniumdecoy:Clojureは、JVMで実行されるLispの子孫であり、Javaで記述されたAPIを利用することができます
Ande Turner

12
あなたのキャリアを向上させる方法としてLispを学ぶつもりはありません。ぜひ、あなたをより一般的なプログラマーにするためにそれを学んでください。
skaffman 2009

13
Clojureメーリングリストでは、この言語を使用する人々から業界の成功事例を頻繁に受け取ります。
レイン、

42
@skaffman:しかし、それはあなたのキャリアを向上させるのに役立ちませんか?
エリックフォーブス

回答:


88

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

Lispがアニメーションとグラフィックス、AI、バイオインフォマティクス、B2Bとeコマース、データマイニング、EDA /半導体アプリケーション、エキスパートシステム、ファイナンス、インテリジェントエージェント、ナレッジマネジメント、機械CAD、モデリングとシミュレーションにのみ有用であると想定しないでください。自然言語、最適化、研究、リスク分析、スケジューリング、テレコム、およびWebオーサリング。—ケント・ピットマン

ここで他の成功事例を見つけることができます:http//lisp-lang.org/success/

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


41
その言い回しは、私にとって非常に中空のマントラのようです。確かに、それはそれらの領域に存在するかもしれませんが、その後は主にレガシーコードとして存在します。私の実生活での経験では、実用的なハッカーが選択するラピッドプロトタイピング言語として、PythonとC / C ++の組み合わせがLispに大きく取って代わりました。
Johan Kotlinski、

30
@kotlinski証拠はどこにありますか?業界を過度に一般化すると、それは平均のことであり、業界の最良の部分ではありません。サクセスストーリーは、ほとんどの場合、特徴的でそれほど平均的ではないテクノロジー/アイデアに従っています。
Luka Ramishvili

もっとここに:lisp-lang.org/success(美しく提示された)そしてここに:Common LIspを使用している企業
Ehvince

54

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


いいえ。ただしvim、;)。残念ながら(または幸いなことに)、誰も真面目なソフトウェアをで作成したことがありませんvimscript
new123456



25

小さなスタートアップとして、「アプリケーションサーバー」と呼ばれるものを構築しました。しかし実際には、それはSQL接続とWebアプリケーションのための統合された一般的なlispライブラリのほんの一部です。いくつかの詳細はcl-dwimプロジェクトページで利用可能です

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

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

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

それは実用的ですか、それとも学術的ですか?あなたが決める... :)


うわー!私は、政府が使用するすべてのソフトウェアは、ほとんどの人がどれだけ吸うかを考えると、せいぜい基本的なものであると完全に思っていました。これはまだ使用されていますか?
RR

5
もちろん、そうではありません...プロジェクトが設計され、実行可能であることが証明され、十分なお金/注意が割り当てられたら、私たちは捨てられました。接続の良い大企業が引き継ぎ、独自のバージョンをJavaで作成しました。興味深い一口は、彼らが私たちのコードベースを何年も実行し続けたことです。私はコンサルティングの日で彼らを助けました...
Attila Lendvai


22

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

ここでそれを読んでください-平均を打ちます


4
それは本当に良い例ではありません、彼らは数年前に廃業しました
1800情報

9
ところで、私はポールがこれについて妄想的だと思うことを付け加えることができます:彼らに優位性を与えたのはLISPではなく、単にスマートで注意を払っていただけです。それが手元にある唯一のツールであれば、彼らはVBで成功したかもしれません。
ジェフ

23
彼らは廃業することなく、Yahooに買収された。少なくとも開発者にとっては大きな違いです。:-)
オタクヘッド

18
@ 1800:Yahooがそれを所有し、別の言語で書き直してからはじめて「地面にぶつかった」ので、わらわらをやめます。
wfarr 2008年

6
@ 1800:マティアスが言ったことを忘れて、私は実際にはかなり面白いと思います。「現実の世界でLISPが使用されている重要な例は他にない」というあなたの主張は、あなたが全知的であることを意味しています。ブラボー!
アリ


12

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

書き込みが簡単なテキストファイルを入力として取り、美しい楽譜(pdfファイル)に変換する楽譜作成プログラムです。必要に応じて、出力をいじるあらゆる方法を提供します。それはまともなサウンドのmidiファイルを生成することもできます。他のミュージシャンが読む素晴らしい楽譜を作成する必要があるときはいつでも使用します。私はそれがフィナーレよりも優れていて、無料だと思います!

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

ゲームでLispを使用するNaughty Dog(コンピューターゲーム会社)もあります。この記事ではそのことについて説明し、いくつかのコードも示します。

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


1
Schemerとして、SchemeがどのようにLilyPondの一部になったかを説明するLilyPondマニュアルの一部を読むの興味深く刺激的です。以前は完全にC ++で作成されていましたが、ユーザーがよりプログラム可能にする必要があることがわかり、Schemeでその一部を書き直して、ユーザーにLilyPondへのアクセス権を与えるSchemeインタープリターを構築することで問題を解決できました内部。
Lindsey Kuper

10

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


そうです、それでは誰も雇えないことを楽しんでください:)
Jeff

@ジェフ:「しかし、メジャーなソフトウェアプロジェクトにLispを選択するように私を説得するには、かなり時間かかる、特別な状況が必要になるでしょう」。Lispに反対する点です。
jfs 2008年

この見積もりはどこから?テキストチャンクでグーグルすると、この投稿のみが生成されます

「結果を省略して検索を繰り返す」をクリックする必要があります。引用は次のとおり
Chris Jester-Young

5
乾杯。私は言わなければならない、この引用は、文脈の外では、実際よりも強く読めます。weinrebは現在ITAで働いており、とりわけlispについてブログを書いています。それが彼の意見にどのように、そして影響を与えたのだろうか。

10

最近のいくつか:

  • ドイツのブラウザゲーム、Thanandar:http ://www.thanandar.de/
  • ポーランドの起業家コミュニティ、Aula Polska:http : //www.aulapolska.pl/
  • LAMsight、医療調査アプリケーション:https ://www.lamsight.org/
  • 愚かなgfxの遊び場であるWigflip:http : //wigflip.com/ :)
  • Clutu、マルチプレイヤーAJAXクロスワードパズル:http ://www.clutu.com/

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

コーディングを始めましょう!:)


10

ハッブル宇宙望遠鏡は、Lisp計画ツールを使用してスケジュールされます。スペースシャトルはそうでした。ウェッブ望遠鏡になります。私がLispを書いている会社は、数十億ドルの健康保険請求を分析しており、不況の中でも年に約30%の成長を続けています。私たちは巨大な会社に買収されました。プログラマーの1人が(巨大な会社の)メディケアのクレームを分析するためのソフトウェアの出力に(自分で)自分で1年で適合(実際には改善)しました。(巨大な会社)のコードはLispではなく、6年と数人のプログラマーを要しました。キャリア面での問題は、あまりにも多くの人が「刺激的な愚かな括弧」などについてのつまみを聞いていることです。ほとんどのマネージャーは「理解する」ことはせず、むしろ、彼らがマイクロ管理できるほど十分に親しみのある言語でプロジェクトを持っているでしょう。彼らは考える "


9

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


正しい。また、ActiveXも実装しています。これは非常に強力であり、AtoDesk自体がそれを使用して「内部」コマンドを記述します。基本的に、ObjectARX-C ++に解釈されます。
CADは、2008年


8

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

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

  1. 最新の家庭用電化製品がCommon Lispを使用して構築されている、またはCommon Lispでプログラムされていること、または使用するサービスの一部がLispサーバーを利用していることを決して知らないかもしれません。Lispは「決して使用されていない」と結論付けるのは誤りです。

  2. …そして、非常に多くのドメインと同様に、これらの仕事はMonster.comに登場したことはありません。求人情報を見たことがないからといって、そこにLispが必要な機会や仕事に適した道具がないということではありません。


そこでここではない、これらのジョブが表示されますか?私はそれを自分で困惑させようと試みてきました。
チャーリーフラワー

2
経験から:メーリングリスト、企業や採用担当者からの直接の個人メール、対面での言及、ユーザーグループなど。
2011

1
ありがとう。Lispの世界は小さなコミュニティであり、そのコミュニティ内で貢献し、知られることでそれを利用でき、Lispを入手するための最良の方法だとあなたが言っているように思えます...仕事。同意しますか?
チャーリーフラワー

5
はい。さらに、それは仕事、期間を取得するための最良の方法です。あなたのスキルを示し、人々を知り、そしてあなた自身を知らせてください。
リッチ

8

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


6

見上げてACL2を。これは、ソフトウェアセキュリティの正式な方法や浮動小数点ハードウェアの正当性の証明など、多くの「実際の」プロジェクトで使用されているlispベースの正式なロジックエンジンです。


これはすばらしいソフトウェアです。
user37248 2009年


6

私の計画がうまくいけば、私たちは皆、今から5年後にSchemeを使用することになります!; p


私の計画はおそらく非常によく似ています。1)スキームの上にキッカーライブラリを作成します(現在は途中です)。2)クールなプログラムを作成して、ライブラリをテストします(1つ下、あといくつか)。3)ライブラリをオープンソースにします(すでに完了していますが、非常にカジュアルです)。4)... 5)Lispは仕事での仕事のための自然なツールになります。
アリ

3
私はあなたのために引っ張っています。しかし、あと2年半しか残っていません。順調です。
チャーリーフラワー

10
こんにちは。5年が過ぎました。
Karol S

1
遅刻することは決してしないよりはましです!
ロイック・フォーレ-ラクロワ

1
@LoïcFaure-Lacroixまだ試しています!:D
leppie 2016

6

PRISM(«Prismプロジェクトは、人工知能ツールや手動シミュレーションシステムを含む、放射線治療計画のためのソフトウェアツールを構築する長期プロジェクトです。»)がCommon Lispで記述されていることを知ったとき、私は非常に感銘を受けました。

私の仕事では、DICOMを使用するソフトウェアを作成しています。適切なDICOM実装を作成することは難しい作業であると言わざるを得ません。彼らの報告書では、Common Lispが他の実装よりも少ない労力で(少なくともいくつかの点で)優れた優れたDICOM実装を構築する方法を説明しています。


6

Lispは、Common Musicライブラリを使用した実際のアルゴリズム音楽作曲で使用されます。リック・タウベのメタレベルからノートは、Lispで作曲するための例がたくさんある、件名への素晴らしい導入テキストです。examplesディレクトリを参照してください。ここでは、テキストのコピーここを


5

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



5

記号代数のプログラムMaximaがCommon Lispで書かれていることに気づきました。私はこれをかなり長い間使用してきましたが、これも実例として非常に良い例だと思います。




3

Lispは80年代初頭に光速へのジャンプを試みました。PCが登場する以前は、最新のワークステーションに非常によく似ていながら、 "ずっと下"のように見栄えがする "Lisp Machines"が商業的に生産されていました。Lispハードウェアは最終的にIntelに負けました(他のすべてと同様に)。Lispソフトウェアは最終的にC / C ++に負けました。これがこれだけである理由はさまざまです。 http://www.andromeda.com/people/ddyer/lisp/


2

Schemeプログラミング言語は、FLUENTフローモデリングソフトウェア(計算流体力学、CFD)によってスクリプト言語として使用されます。



2

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

ユーザー側ではコンパイルは不要です。1つ以上のラインLisp式をコマンドラインに入力して、図面上ですぐに実行できます。lispの基本を学ぶために少しでも踏み込んでくれるデザイナーやドラフトマンにとって、それは大きな生産性の恩恵をもたらします。

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

Lispインタープリターは、Autocadのごく初期のバージョンで利用可能になり、変数と式と呼ばれていました。それはかなり制限されていましたが、追加機能がすぐに追加されたユーザーの成功でした。本格的なビジュアルIDEが後に登場しました(バージョン2000ではそう思います)。

Autocadで利用できるlispコードの行が何百万(十億?)あるとは思いません。「autocad .lsp」でグーグル検索すると、230万ヒットが返されます。

さて、タイピングは十分です。私にとっては動作するようになりました。私の現在のプロジェクト用にもっとlispを書いています:)

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