How to persuade C fanatics to work on my C++ open source project?
- by paperjam
I am launching an open-source project into a space where a lot of the development is still done Linux-kernel-style, i.e. C-language with a low-level mindset.
There are multiple benefits to C++ in our space but I fear those used to working in C will be scared off. How can I make the case for the benefits of C++?
Specifically, the following C++ attributes are very valuable:
concept of objects and reference-counting pointers - really don't want to have to malloc(sizeof(X)) or memcpy() structs
templates for specialising whole bodies of code with specific performance optimizations and for avoiding duplication of code.
template metaprogramming related to the above
syntactic sweetness available (e.g. operator overloading, to be used in very small doses)
STL
Boost libraries
Many of the knee-jerk negative reactions to C++ are illfounded. Performance does not suffer: modern compilers can flatten dozens of call stack levels and avoid bloat through wide use of template specializations. Granted, when using metaprogramming and building multiple specializations of a large call tree, compile time is slower but there are ways to mitigate this.
How can I sell C++?