auto: useful, annoying or bad practice?

Nick Sabalausky (Abscissa) SeeWebsiteToContactMe at semitwist.com
Wed May 2 04:11:57 UTC 2018


On 04/30/2018 05:35 PM, H. S. Teoh wrote:
> 
> Also, design by introspection.  Dependence on explicit types is so last
> century.  Design by introspection FTW!  Decoupling your code from
> explicit types makes it more encapsulated, and gives you incentive to
> write more defensively, resulting in better, more change-resilient code.
> When an upstream library changes a return type, you can just recompile
> and go, rather than waste time patching the 150 different places where
> the explicit type was named.  Let the machine do the work for you!
> 

There's a lot about that I like too, but I really wish D didn't use 
structral typing to do it. I still think the only reason D's structral 
typing hasn't blown up in our faces is because it's still mostly limited 
to the basic ranges isn't not a prevalent part of most internal and 
external APIs. Structural typing basically amounts to a form of global 
namespace (which can also work out ok *if used sparingly*, not that I'd 
want to try). At first, D thankfully killed off the global namespace for 
the most part...but then it brings its pitfalls right back in the form 
of structural typing. Grrr...

Structral typing isn't "If it walks like a duck and quacks like a 
duck...". Structural typing is "If it walks and it talks, then it must 
be a duck, because ducks walk and have their own form of talk, so 
clearly anything that walks and talks must be a duck."


More information about the Digitalmars-d mailing list