Question: I am curious about this. I must learn Prolog for my course, but the applications that I seen mostly are written using C++, C# or Java. Applications written by Prolog, to me is very very rare application.

So, I wonder how Prolog is used and implement the real-world application?

Answer: 
SWI-Prolog website is served from... SWI-prolog, using just a small subset of the libraries available.

Well, it's not a commercial application, but it's rather [real world](http://www.swi-prolog.org/).

Much effort was required to make the runtime able to perform 24x7 service (mainly garbage collection) and required performance scalability (among other multithreading).

Several libraries were developed driven by real world applications needs.
* **Microsoft Windows NT Networking Installation and Configuration applet**

One of the notorious and in a way notable examples is Microsoft Windows NT OS network interface configuration code that involved a Small Prolog interpreter built in. Here is a [link](http://www.drdobbs.com/cpp/184409294) to the story written by David Hovel for Dr. Dobbs. (*The often cited Microsoft Research link seems to be gone.*)

* **Expert systems**

Once Prolog was considered as THE language for a class of software systems called *Expert Systems*. These were interactive knowledge management systems often with a relational database backend.

* **Beyond Prolog**

In general rule-based programming, resolution and different automated reasoning systems are widely used beyond Prolog.