Final by default?

Manu turkeyman at gmail.com
Wed Mar 12 22:30:59 PDT 2014


On 13 March 2014 15:14, Joseph Cassman <jc7919 at outlook.com> wrote:

> On Thursday, 13 March 2014 at 04:57:49 UTC, H. S. Teoh wrote:
>
>> On Wed, Mar 12, 2014 at 08:01:39PM -0700, Walter Bright wrote:
>>
>>> On 3/12/2014 6:30 PM, Kapps wrote:
>>> >I used to get frustrated when my code would randomly break >every
>>> >compiler update (and it shows how much D has progressed that
>>> >regressions in my own code are now a rare occurrence), but >unexpected
>>> >regressions such as the std.json regression are much >different from
>>> >intended changes with plenty of time and warning that provide >an
>>> >overall (even if slight in many cases) benefit to the >end-user.
>>>
>>> I got caught by breaking changes myself. I even approved the changes.
>>> But they unexpectedly broke projects of mine, and I had to go through
>>> updating & fixing them, supplying updates, etc.
>>>
>>> It sux.
>>>
>>> And it's much, much, much worse if you've got lots of legacy code
>>> with only a vague idea of how it works because the engineers who
>>> wrote it have moved on, etc.
>>>
>>
>> Or you wrote that code but it has been so long ago that you don't
>> remember the fine details of it to be able to judge what is the correct
>> way to fix it. This doubly sux when the code is for a workhorse program
>> that you're actually *using* on a daily basis, which has been working
>> just fine for the last 2 years, and now it suddenly doesn't compile /
>> doesn't work anymore, and you need it to get something done and don't
>> have time to sit down and figure out why it broke (or how to fix it).
>>
>>
>> T
>>
>
> Here here!
>
> Or even the tooling and environment needed to get it to work are a thing
> of the past. Starting to remember some long hours working with old versions
> of MS Access on old Windows installations and trying to get them working on
> newer versions. Arg!
>
> Joseph
>

Again, this is conflating random breakage with controlled deprecation.
A clear message with a file:line that says "virtual-by-default is
deprecated, add 'virtual' _right here_." is not comparable to the behaviour
of byLine() silently changing from release to release and creating some
bugs, or std.json breaking unexpectedly with no warning.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20140313/2084045b/attachment.html>


More information about the Digitalmars-d mailing list