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.