RTTI does what globally unique ordinals specified during development can do much better. Two reasons not to use RTTI.
Performance: It's not trivial to come up with an implementation that scales, and also use ordinals / enumerations to represent types, and since you don't want namespace collisions, you should use strings, not just strings, globally unique strings. In scripting languages, everything is a string, so in these languages โโthere is no frown.
Elegance Design: working with fundamentals based on ordinals, and if you use it, most likely you had the foresight for the correct development of the system from the very beginning. Such a design is almost always better than relying on RTTI.
source share