4 ms·
That function does create an object with a well defined interface, but because you are using a dynamically typed language, that object has the type "Object" (or
by hota_mazi 9y ago
That function does create an object with a well defined interface, but because you are using a dynamically typed language, that object has the type "Object" (or Any, or whatever the mono type of that language is).
If you call that function, you have no idea what the type of that object is. Only the function knows it and that information is lost as soon as the function returns.
- harpiaharpyja 9y agoI think I will have to disagree with that. The type of object is not enforced by the compiler, but that's a long way off from "you have no idea what the type of that object is."
- hota_mazi 9y agoThe fact that the compiler cannot enforce it is a big deal since it prevents automatic refactorings, often impairs performance and overall, hinders readability. And yes, you really have no idea what the type of that object is unless you look at the source of the function. Which is obviously suboptimal, especially if you don't have access to that source.