Note that this is not a duplicate of this. I am taking about the ものだ and ことだ that expresses exclamation and strong feelings.
My textbook says that 〜ことだ means:
本当に〜だ(驚き・感動・皮肉などを表す)
and 〜ものだ means:
〜ということを非常に強く感じる・感心する・あきれる
〜という過去の習慣が懐かしい
and 〜ものがある means:
〜という感じがある
After reading that, I was very confused because all three of them seem to mean roughly the same thing. For example, this JLPT question:
迷惑をかけてしまった人たちのことを考えると、今でも心苦しい( )。
a ものだ b ことだ c ものがある
If we substitute the meanings, we get:
a 迷惑をかけてしまった人たちのことを考えると、今でも心苦しいということを非常に強く感じる
b 迷惑をかけてしまった人たちのことを考えると、今でも本当に心苦しい
c 迷惑をかけてしまった人たちのことを考えると、今でも心苦しいという感じがある
All three sentences seem to mean the same thing! Yet the "correct" answer is "c". Why? What are the differences between these three grammar?