On 9/14/22 1:58 AM, 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?
This isn't Go. We have comfort features that make code easier to read and write. binary literals cost nothing to have. There is no cost on the user, and no cost on the compiler (parsing a binary literal isn't any more taxing than parsing a hex literal).
If we were talking about adding binary literals, when it's possible to do it via a template, maybe you have a point. But we aren't. We are talking about removing a zero-cost feature.
Can you describe exactly what is gained by removing binary literals? If you think it's because the compiler gets simpler, think again. The only code that is removed is this:
Half of which is dealing with ImportC.
>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