Don:

I agree completely. I would say that the #1 problem in D is the paranoid fear of breaking backwards compatibility. I said that in my 2013 talk. It is still true today.

Sociomantic says, PLEASE BREAK OUR CODE! Get rid of the old design bugs while we still can.

I keep a large amount of working D2 code, mostly for scientific-like usages (plus other code outside work, like almost one thousand of Rosettacode programs, a lot of lines of very carefully written good code). Most of such code is divided in many small programs. I have plenty of unittests and I also use contract programming. A planned breaking change, if it gives clear and nice error messages, allows me to fix the whole code base in a limited amount of time (1 hour, or 2 hours or a little more), and often it's an easy work that I can do late in the day when I am too tired to do more intelligent work anyway. Compared to the work to understand the problems, invent the problems, invent the solutions, and write working code, the amount of brain time & work to keep code updated is not significant for me.

So I suggest to deprecate the built-in sort, deprecate other things that are waiting for it since some time, do the other language updates that you think are good.

Bye,
bearophile

Reply via email to