On 5/14/2012 1:03 AM, Mehrdad wrote:
On Monday, 14 May 2012 at 06:27:15 UTC, Walter Bright wrote:
#3 Improves self-documentation of code - it's more understandable and less
susceptible to breakage during maintenance.
#3 is also valid for C++, so I wasn't exactly considering that.
No, it isn't.
1. C++ legally allows changing const values.
2. const only applies to the top level (i.e. head const). So if you have
anything more than a simple value type, it literally means *nothing*.
#4 Improves encapsulation
o.O How does it improve encapsulation?
By guaranteeing that the method call is a reader, not a mutator.
D is a very deliberate step away from correctness by convention and towards
correctness with mechanical verification.