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.
I once asked my supervisor a similar question, when he is giving us a Prological lecture.

And he told me that people do not really use prolog to implement a whole huge system. Instead, people write the main part with other language(which is more sane and trivial), and link it to a "decision procedure" or something written in Prolog.

Not sure about other Prolog implementation, we were using BProlog and it provides C/Java interface.