C++ developer choices in open source projects

Paulo Pinto via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 29 04:05:47 PDT 2014


On Wednesday, 29 October 2014 at 08:55:39 UTC, ponce wrote:
> 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.

On Ubisoft's presentation at CppCon, Nicolas Fleury even mentions 
that they have written tools to generate code, instead of relying 
on templates due to error messages and compilation time.

--
Paulo


More information about the Digitalmars-d mailing list