私はこれについて興味があります。コースのために Prolog を学ばなければなりませんが、ほとんどのアプリケーションは C++、C#、または Java を使用して作成されています。Prolog で作成されたアプリケーションは、私にとって非常にまれなアプリケーションです。
では、Prolog はどのように使用され、実際のアプリケーションを実装するのだろうか?
私はこれについて興味があります。コースのために Prolog を学ばなければなりませんが、ほとんどのアプリケーションは C++、C#、または Java を使用して作成されています。Prolog で作成されたアプリケーションは、私にとって非常にまれなアプリケーションです。
では、Prolog はどのように使用され、実際のアプリケーションを実装するのだろうか?
SWI-Prolog Web サイトは、SWI-prolog から提供されており、利用可能なライブラリのほんの一部を使用しています。
まあ、それは商用アプリケーションではありませんが、むしろ現実世界です .
ランタイムが 24 時間 365 日サービス (主にガベージ コレクション) を実行できるようにするために多大な労力が必要であり、(他のマルチスレッドの中でも特に) パフォーマンスのスケーラビリティが必要でした。
実世界のアプリケーションのニーズに合わせて、いくつかのライブラリが開発されました。
悪名高く、ある意味で注目に値する例の 1 つは、組み込みの Small Prolog インタープリターを含む Microsoft Windows NT OS ネットワーク インターフェイス構成コードです。(よく引用される Microsoft Research のリンクはなくなったようです。 )
かつて Prolog は、 Expert Systemsと呼ばれるソフトウェア システムのクラスの THE 言語と見なされていました。これらは、多くの場合、リレーショナル データベース バックエンドを備えたインタラクティブな知識管理システムでした。
一般的なルールベースのプログラミングでは、解決とさまざまな自動推論システムが Prolog を超えて広く使用されています。
私は以前、上司が Prological の講義を行っているときに、同様の質問をしたことがあります。
そして彼は、巨大なシステム全体を実装するためにプロローグを実際に使用する人はいないと私に言いました。代わりに、人々は主要部分を他の言語 (より正気で些細な言語) で書き、それを「決定手順」または Prolog で書かれた何かにリンクします。
他の Prolog 実装についてはわかりませんが、BProlog を使用しており、C/Java インターフェイスを提供しています。
Tiobe Software Indexによると、Prologは現在#36です:HaskellとFoxProの間:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
それは何のために使われますか?
私は、日本の(現在は機能していない)「第5世代」プロジェクトに関して最初にそれを聞いた。
http://en.wikipedia.org/wiki/Fifth_generation_computer
率直に言って、私は、深刻な商業開発のためにPrologを使用している人を本当に知りません。