On Monday, 16 March 2015 at 13:21:13 UTC, ponce wrote:
On Monday, 16 March 2015 at 13:11:56 UTC, weaselcat wrote:
An example of a simple but fundamental issue are the defaults of the built-in attributes. I think some of them, for historical or compatibility reasons, are currently simply the wrong way around (pure, @safe, final and scope should really all be enabled by default, with scope providing recursive guarantees) and using them properly completely destroys the initial idea of having a clean language syntax. It's sometimes really sad to see modern idiomatic D code degrading into a mess of attributes and contract syntax noise. After all, a clean syntax used to be one of the key selling points.

+1 for this entire paragraph, sometimes D looks simple and elegant, other times it looks like someone puked attributes.

Rust code is safe by default and it is littered with unsafe{ } blocks.

I think this has more to do with Rust's extreme safety, many things doable in @safe D code would be no-no in Rust(i.e, you can't even manipulate pointers IIRC)

Reply via email to