grauzone wrote:
Walter Bright wrote:
grauzone wrote:
Data this small you would simply copy. Because it's so small, copying won't have negative performance impact. The OS approach can be used for large data (at least in the order of hundreds of KB) and immutable parts of the data segment.

You'd also have to transitively copy everything referenced.

If that becomes a problem depends entirely from how the message passing API (or whatever) is used*.


If there's anything I've learned about language design, it's that if there is a capability, it will be used, and if there's a major problem with it, that will generate major complaints.

The fact is, people *do* have major problems with concurrent programming. Sharing of mutable state is a large generator of these problems, and I don't think we can wish it away or blame the programmer.

What transitive immutability offers is a guarantee. As programs become ever larger and more complicated, relying on individual programmer diligence and uncheckable conventions is less and less acceptable.

For example, we're at the stage now where mainstream languages offer guarantees against buffer overflows. This is a huge win - just witness the $$$$$ the C shops spend on Coverity to desperately try and squeeze them out of their code.

Reply via email to