On Friday, 2 November 2012 at 23:08:00 UTC, Timon Gehr wrote:
On 11/02/2012 10:53 PM, Walter Bright wrote:
On 11/2/2012 2:33 PM, Jacob Carlborg wrote:
I said the gap is getting thinner, not that is gone. It got
foreach,
some form
of CTFE, static assert, lambda to mention a few new features.
No ranges. No purity. No immutability. No modules. No dynamic
closures.
No mixins. Little CTFE. No slicing. No delegates. No shared.
No template
symbolic arguments. No template string arguments. No alias
this.
No static if. Limited forward references. No real function
local aggregate types. No real nested classes. No local
template instantiation. No nested functions. No value range
propagation for implicit conversions. No built-in string
support. No built-in unicode support. No template guards. No
inout. No default-initialization. No return type deduction for
non-lambdas. No generic lambdas. No type deduction for lambda
parameter types. No super. Less powerful typeof that is called
decltype. No is-expressions. No compile-time reflection. No
thread-local by default. No UFCS. No tuple/sequence types. No
sequence auto-expansion. No sane built-in array types. No tuple
slicing. No .init/.min/.max/etc. No kind of static foreach. No
new scopes introduced in case statements. No block statements
in a for-loop initializer. No optional parentheses on function
calls. No implicit reference types. No ^^ operator. No binary !
operator. No built-in complex number types. Less comparison
operators. None of eg. bearophile's enhancement requests.
... in no particular order, afaik, and to name a few. :o)
What I have learned in all my years of enterprise development is
that all those features have zero value for business.
Languages get adopted because of business value, not due to the
coolness of their feature set, how boring it may sell.
If we want to sell D to companies using C++ for years, slowly
migrating to JVM, .NET worlds, or just updating their codebases
to C++11, then we need to sell D's business value not feature
lists.
--
Paulo