"Walter Bright" <newshou...@digitalmars.com> wrote in message news:i4nn6k$so...@digitalmars.com... > SK wrote: >> Do you mean to say: >> Instead of shipping the intermediate code, always ship source code. > > Yes. > >> -or- >> Instead of caching the binary, just cache the source code. >> >> Neither of those guesses make general sense so I'm afraid I miss your >> point. > > Why doesn't it make sense?
The only possible complaints I can think of are: 1. Redoing the parsing and semantic analysis. 2. Being uncomfortable about releasing source. I'm curious what you have to say about #1. But I consider #2 to be a very poor reason because: - There's always reverse engineering. - There's always obfuscation. - IL may even provide better reverse-engineering results than machine code, depending on the IL. - All the companies sinking time and money into JS and PHP middleware don't seem to have a problem with handing out their source. - If someone's gonna steal a product and rebrand it as their own, they don't usually need the source, and having it would probably only be of fairly small help, if any. - As a customer, the idea of spending money on a product that I can't service myself if/when the company goes under or loses interest makes me nervous. Providing their source would given them a competetive advantage. - Even though providing source gets in the way of effective DRM (as if there even were such a thing), DRM itself gets in the way of sales. - Distributing in source form makes certain things possible that wouldn't otherwise be, like virtual template functions (in theory, even if not in actual D practice).