On C/C++ undefined behaviours
Nick Sabalausky
a at a.a
Fri Aug 20 22:37:32 PDT 2010
"Walter Bright" <newshound2 at digitalmars.com> wrote in message
news:i4nn6k$sos$2 at 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).
More information about the Digitalmars-d
mailing list