We communicate to each other with languages, what we understand is the meaning behind the words-the Semantics of our languages. So the Semantics of programming languages allows us to have a common understanding of programming language constructs. The vocabulary we develop will determine the design space of programming languages, and allow us to express what are the tradeoffs in implementing one feature or another.
The methods and objectives of semantics of programming languages borrow a great deal from the work in semantics of natural language and mathematical logic. It is a specialization of ``semantics'' in programming languages. Programming languages also have the same ambiguity and subjectivity as natural languages. Our aim is to minimize the ambiguity and have clean and neat programming languages. Every successful programming language has a clean semantics model behind it. We need mathematical model to describe this clean idea.