Generality creep

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Mar 28 18:51:18 UTC 2019


On 3/28/19 2:48 PM, ag0aep6g wrote:
> On 28.03.19 19:30, Andrei Alexandrescu wrote:
>> We should do what C, C++, Java, C# and many other languages do - leave 
>> past mistakes in maintenance mode and move on with new stuff. It's 
>> like blockchain - once done, it can't be undone. You do a new one. C 
>> has about three ways of converting numbers to strings and back. C++ 
>> added a couple, poorly designed. Then they added a better one. And 
>> don't get me started about I/O (two ways of doing it in C, and another 
>> one in C++ that nobody in their right mind would use). Same with Java 
>> pre- and post-generics interfaces for comparing objects. It's just 
>> that if something is bad they define a better one and move on.
>>
>> We have a language with virtually no global scope - a versioning 
>> engineer's dream. Yet we are coy to tap into that power. Instead, we 
>> wring hands over the breakages that would happen if we change 
>> std.json. The time is ripe for std.v2, which would do the right things 
>> and support simple migration.
> 
> I'm not against that at all, but I'm not convinced that you can make it 
> happen quickly.

Three solid engineers would make this a quarter's worth of work. I don't 
think we have them.

  Remember that this sub-thread started with a mention of
> my pull request that was open for a year, sitting idle most of the time.
> 
> So until new Phobos materializes some more, I'd appreciate if we could 
> fix issue 18657 one way or the other in old Phobos.

For that I think we should bite the bullet and let RefRange go.


More information about the Digitalmars-d mailing list