On Wednesday, 29 October 2014 at 04:37:47 UTC, Walter Bright
wrote:
http://www.codergears.com/Blog/?p=421
This is interesting as it relates to D's choices:
1. No common build system ,Visual Studio, make and CMake are
the most widely used
D - no change.
2. Namesapces not widely used
D - forces use of namespaces, i.e. modules
3. Inheritance and polymorphism are widely used
It's my impression that D uses a lot more parametric
polymorphism (i.e. templates) than virtual inheritance.
4. Design Patterns not widely used
Don't know if D changes that.
5. No common frameworks for the GUI, database access and
logging needs.
Same for D, though std.experimental.logger may change that.
6. Smart pointers not enough used
The general problem with SP is you have to proactively use
them, they are not the default. D's gc pointers are the default.
7. STL widely used , not boost
Phobos' ranges appear to be widely used.
8. Exceptions not widely used
Exceptions are embraced in D, perhaps even excessively :-)
9. For many projects two or more ways used to represent a
string class
D's strings are built-in to the language, which is a huge win
for consistency. Even modern C++ suffers from two distinct
string types.
10. New created projects use more the new C++ standards
As they should.
I do like C++, even with its warts, as my bookshelf can attest.
However, this is the sad reality of the language. In which what
ANSI/ISO give us and what we are allowed to use are two different
realities.
Almost everything from the standard that makes C++ modern, is
frowned upon in most companies, leaving it little more than a
safer C.
This was well shown at CppCon, with one corner showing what cool
stuff C++11 and C++14 bring to the table, and the other corner
showing laundry lists of forbidden features.
Personally, this is the reason I enjoy C++ in projects under my
control and am an happy JVM/.NET camper at work. It just wouldn't
be the language I enjoy.
Now with Java 9+ AOT compilation, .NET Native, Swift, Go, D,
Rust, Objective-C coming into the picture, C++ will be driven
further down the stack it seems, regardless of what the committee
might say.
Which in the end might be good opportunity for D.
--
Paulo