MongoDB is written in C++, C and Javascript. CouchDB is written in Erlang. It's not weird that it ended up like this.
For example, Erlang/OTP brings a lot to the table. Being functional, it would protect you against certain types of errors leaving you free to solve more complex problems. You pay for it with run time performance. String operations are slow etc.
C++ is very fast and very sharp. Not easy to get everything right. (Some sort Greenspun's rule would apply here I think. Substitute Erlang for Common Lisp).
I am only saying that Mongo is not unreliable because C++ was selected; it's unreliable because of architectural choices and lack of care which may or may not have been intentional.