From the users’ perspective, the main difference between the Ruby programming language and that of the mainstream enterprise technologies is dynamic typing. This means that the need for clearly telling which type of an object it will reference is not needed as oppose to static typing wherein we tell the compiler that a certain variable will only be used to refer to objects of a specified type. On the other hand, in dynamic typing there is no compiler to tell us that we’ve made a mistake, like delivering the wrong type of object to a method, but we’ll get a runtime exception when we perform that specific piece of code.