On 5/30/12 11:41 AM, Jacob Carlborg wrote:
On Wednesday, 30 May 2012 at 15:45:05 UTC, Andrei Alexandrescu wrote:
On 5/30/12 2:14 AM, Jacob Carlborg wrote:
It seems more and more that D2 is not a designed language. Instead new
features are just slapped on without considering how it would impact the
rest of the language.

What features are you referring to?

The concurrency model as this thread shows. There is no bridge between
shared and unshared data like const is to immutable and mutable.

We considered that (maybe_synchronized) , but decided not to go with it amid fear of overcomplicating things.

Perhaps
the monitor on every object should have been removed when the new
concurrency model was designed, as this thread suggests.

This thread does a good job at arguing that scoped locking does not prevent deadlocks, but this is not new or interesting. Unfortunately I fail to derive significant proposed value.

There exist type systems that avoid locks. They are very restrictive and difficult to work with.

"inout" was added long after the const system was added to D. If done
correctly this should have come up as a problem when designing the const
system. You cannot apply const/immutable to an object reference in the
same way as you can to a pointer.

"const" doesn't play nice with ranges.

I see how these can be annoying, but they're not the result of us not designing things. We designed things best we could.


Andrei

Reply via email to