Final by default?

Sarath Kodali sarath at dummy.com
Wed Mar 12 21:37:24 PDT 2014


On Thursday, 13 March 2014 at 01:18:14 UTC, Chris Williams wrote:
> On Thursday, 13 March 2014 at 00:48:15 UTC, Walter Bright wrote:
>> On 3/12/2014 5:18 PM, Andrei Alexandrescu wrote:
>>> We are opposed to having compiler flags define language 
>>> semantics.
>>
>> Yeah, that's one of those things that always seems like a 
>> reasonable idea, but experience with it isn't happy.
>
> I would imagine that the reasons for this goal are 1) to keep 
> the compiler and language sane, and 2) insufficient personel to 
> maintain legacy variants.
>
> I think the answer to #1 is to not introduce such changes 
> lightly nor frequently.
>
> For #2, since the codebase is now open sourced and, I presume, 
> your "clients" pay you to perform specific tasks, legacy 
> compilation features will end up being maintained either by 
> random people who fix it themselves, or a client who based his 
> code on an older version pays you to go into the legacy 
> branch/build target code. This is the way most open sourced 
> software works. Linux, GCC, emacs, etc. are all constantly 
> moving targets that only through people paying Red Hat and 
> others like them to make the insanity go away are able to work 
> together as a single whole.

If I'm a enterprise customer I would be very angry if my code 
breaks with each new release of compiler. I will be angry 
irrespective of whether I'm paying for the compiler or not. 
Because every time my code breaks, I will have to allocate 
resources to figure out the reason why a working production code 
is broken and then have to test new code and testing can take 
months to complete.

Languages are adopted by enterprises only when there is long term 
stability to it. C code written 30 years back in K&R style still 
compiles without any problem. Please enhance the language but 
don't break existing code.

Also if something has to be deprecated, it should exist in that 
deprecated state for at least for 5 years. Currently it is one 
year and for enterprise customers that is a very short period.

- Sarath


More information about the Digitalmars-d mailing list