I heard that semantics and type systems are very important for all programmers! But I why are they so important? I don't understand. Maybe they are imortant only for theoreticians and compiler developers?
In my practice I never think about semantics and type theory. As for me it is enough to know that the semantics defines the meaning of syntax. When I write
+ I just know that it is the addition operation. And it is enough for me.
Then, I want to describe my thoughts about type systems. Also, when I write
int i;, I know that int is an integer and it is enough for me.
Another case - it is important to know what the difference beetwen static and dynamic, weak and strong type systems.
Tell me please, are there any practical benefits from the knowledge of semantics and type systems?