What features of D you would not miss?

ryuukk_ ryuukk.dev at gmail.com
Thu Sep 15 10:50:11 UTC 2022


On Thursday, 15 September 2022 at 08:40:22 UTC, Dukc wrote:
> On Wednesday, 14 September 2022 at 05:58:53 UTC, Walter Bright 
> wrote (on the thread about binary literals):
>> On 9/13/2022 7:56 PM, Steven Schveighoffer wrote:
>>> But it doesn't disprove the fact that *sometimes*, hex digits 
>>> aren't as clear.
>>
>> Does sometimes justify a language feature, when there are 
>> other ways?
>>
>> People often complain that D has too many features. What 
>> features would you say are not worth it?
>
> This is a good question, but would quickly derail the original 
> thread from it's topic, so I decided to start a new one.
>
> What features could be removed from D if it were up to you? 
> Please consider the breakage that would result from the 
> removal, don't settle on thinking what shouldn't have been 
> added in the first place.
>
> -------------------------------------------------------------
>
> Quoting direct replies to the question from the original thread.
>
> On Wednesday, 14 September 2022 at 13:30:46 UTC, Adam D Ruppe 
> wrote:
>> On Wednesday, 14 September 2022 at 05:58:53 UTC, Walter Bright 
>> wrote:
>>> People often complain that D has too many features. What 
>>> features would you say are not worth it?
>>
>> ImportC, -betterC, @nogc, nothrow, @live. These things don't 
>> even *work* on their own terms, and they continue to have 
>> additional downstream effects over several parts of D and the 
>> ecosystem. Massive complication for little benefit.
>>
>> To a lesser extent, @safe and dip1000 can go too.
>
>
>
> On Wednesday, 14 September 2022 at 14:28:40 UTC, Steven 
> Schveighoffer wrote:
>> On 9/14/22 1:58 AM, Walter Bright wrote:
>>> People often complain that D has too many features. What 
>>> features would you say are not worth it?
>>> 
>>
>> There's a difference between "not worth adding" and "not worth 
>> keeping". Removing features needs a very high bar to make 
>> sense. Adding features also needs a high bar, considering that 
>> it's more difficult to remove later than it is to not add it.
>>
>> That being said, if binary literals weren't in the language, 
>> I'd be fine adding them. They don't cost anything, and add a 
>> way to write code that is clearer in some cases.
>>
>> If I had to pick at gunpoint an established language feature 
>> to remove, it would be betterC. But I can't see any features 
>> I'd *want* to remove. D's features are pretty nice.
>>
>> -Steve
>
> On Wednesday, 14 September 2022 at 15:51:17 UTC, Nick Treleaven 
> wrote:
>> On Wednesday, 14 September 2022 at 05:58:53 UTC, Walter Bright 
>> wrote:
>>> On 9/13/2022 7:56 PM, Steven Schveighoffer wrote:
>>>> But it doesn't disprove the fact that *sometimes*, hex 
>>>> digits aren't as clear.
>>>
>>> Does sometimes justify a language feature, when there are 
>>> other ways?
>>>
>>> People often complain that D has too many features. What 
>>> features would you say are not worth it?
>>
>> Template constraints. Horrible error messages (though better 
>> than they were) and confusing to work out which overload 
>> matches. They make documentation complicated. Just use static 
>> if and static assert instead to solve all these problems.

- Class as reference type without the *, it should have been like 
Go since day 1, so no confusion instead of trying to be Java or C#

- Exception Handling (taking inspiration from Swift would be 
interesting)

- @property apparently, i forgot this was a thing until i saw the 
post yesterday

- enum, replace this and make better enum with pattern matching 
and .Enum

- byte, short, int, long, give me (u*8, u*16, u*32, u*64, * = 
either nothing or int)





More information about the Digitalmars-d mailing list