CTFE and DI: The Crossroads of D

Nick Sabalausky SeeWebsiteToContactMe at semitwist.com
Wed May 9 15:17:41 PDT 2012


My take, FWIW:

1. DI is only useful for those anachronistic corporations who beleive in 
code-hiding (and even then, only the ones who release libs), which 
regardless of everything else, isn't even *realistic* anyway - there's 
always reverse-engineering, and with the super-popular JS there *IS NO* 
pre-compiled form, and yet non-OSS companies *still* get by just fine 
anyway. If you're relying on the increasingly-irrelevent practice of 
code-hiding (which there is *no such thing* - only obfuscation, which is 
exactly what compiling does, it only obfuscates the source, it doesn't hide 
it), then you need to accept that there *are* going to be things you will 
*never* be able to do, period, like virtual templates (which *are* possible 
in theory if all the source is available, even if D doesn't currently allow 
it).

2. We should be seriously looking into the idea of making CTFE work by 
executing already-compiled code, a la Nemerle (but without needing the extra 
build step). There may be enough technical hurdles involved to hold this 
back for [the still-hypothtical] D3, but it should at least be a direction 
we should be seriously considering. (Unless someone can already come up with 
a deal-breaking reason now.) Actually, there's *FAR* more important things 
than this right now, like a solid ARM-tablet toolchain, so this should 
definitely just be an "on hold for now" feature.




More information about the Digitalmars-d mailing list