DIP 1024--Shared Atomics--Community Review Round 1
Ola Fosheim Grøstad
ola.fosheim.grostad at gmail.com
Tue Oct 15 11:28:24 UTC 2019
On Tuesday, 15 October 2019 at 10:25:54 UTC, Gregor Mückl wrote:
> generated by at most one of the running threads. So there is no
> need to synchronize memory writes when the underlying hardware
> architecture provides sufficient cache coherency guarantees.
So what you basically is saying is that a low level language
should be careful about assuming a particular hardware model and
leave more to intrinsics and libraries. I think that is
reasonable, because hardware does change and concurrent
programming strategies change.
So D has to figure out whether it is a low level language for
many architectures or a specific x86 centric one limited to
common contemporary programming patterns.
My perception is that D does not need to lock down «shared» but
can rather improve on these:
1. A set of basic lowlevel building blocks + intrinsics (which D
has mostly).
2. Metaprogramming features to build libraries that support
contemporary patterns (which D has mostly).
3. Language features that support clean static analysis tooling
(perhaps lacking).
But given the history of D, it will probably go with what is
demanded based on contemporary x86 patterns.
More information about the Digitalmars-d
mailing list