You should use all powerful tools with care, and
dynamic is no different. By no means is
dynamic meant to be a substitute for static typing. Use of static typing provides many benefits, such as compile-time checking, tooling advantages, a more beneficial performance profile, and so on.
The main philosophy of the
dynamic feature is to make reaching out to dynamically typed code and data simpler. Or to say it in another way: Why should someone be punished for embracing some piece of dynamically typed code (for example, using some Python-based library), when calling it from languages like C#? In short, C# 4.0
dynamic allows developers to “ease into” the domain of dynamic typing with minimum friction. ...