If you could make any changes to D, what would they look like?

Dennis dkorpel at gmail.com
Mon Oct 25 14:52:55 UTC 2021


On Monday, 25 October 2021 at 13:42:19 UTC, Guillaume Piolat 
wrote:
>> If you could make any changes to D, what would they look like?
>
> It's a great thing other people get to decide, because I would 
> remove:
> - pure
> - shared
> - @property
> - inout
> - GC-calling-destructors
> - virtual-by-default
> - real
> - synchronized
> - inout
> - alias this
> - and parts of Phobos too.
>
> But D is also about catering to many different people.

Apart from `pure`, I agree with everything on that list, and 
would even add a bunch of things:

- Module constructors
- `lazy` parameters
- `in` / `out` parameters
- `in` / `out` contracts
- Function body literals (`{}` instead of `() {}`)
- Typesafe Variadic Functions (`foo(int[] a...)`)
- String literals starting with `q`
- The remaining octal literals (00-07)
- `is()` expressions
- `switch` with run-time variable cases
- `switch` with string cases
- `alias` reassignment
- `__traits(compiles)`
- `opDispatch`
- `opCall`
- `opApply`



More information about the Digitalmars-d mailing list