I'm going to implement a small crypto lib/tool. The "do not implement crypto by yourself" rule does not apply here, since this crypto system is new and not implemented yet. ;) So the first step is the choice of the implementation language. And my question here is, if there are reasons to prefer one over another.
Since it has to be efficient, I sympathize with C or C++. And with C or C++ it should be easy to create bindings for other languages like Java or Python, later.
So if you agree with me, that C or C++ is nice for this purpose, lets focus on C vs. C++.
C may be a bit simpler and the lack of stuff like objects could help avoiding critical bugs. On the other hand, C++ might offer the ability to do some things in an easier way. Like the use of the C++11 random device for cryptographically secure random numbers (e.g. from /dev/urandom). Or exception handling etc.
There are probably more points. But maybe the choice isn't that important?!
What are your thoughts?