C++ developer choices in open source projects

ponce via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 29 01:55:38 PDT 2014


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.

The sad reality of C++ programming is that you can't use most 
things, and people might resist basic stuff like exceptions and 
smart pointers on unfamiliarity alone. Some small things like the 
lack of std.path in the STL cause inordinate amount of damage.


More information about the Digitalmars-d mailing list