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: 
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.
According to the Tiobe Software Index, Prolog is currently #36: between Haskell and FoxPro:

<http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html>

What's it used for?

I first heard of it with respect to Japan's (now defunct) "Fifth Generation" project:

<http://en.wikipedia.org/wiki/Fifth_generation_computer>

Frankly, I'm not really aware of anybody using Prolog for any serious commercial development.