One of my biggest bugbears on C / C++ programming is return 0; I wish people would #include <stdlib.h> /<cstdlib> and use EXIT_SUCCESS / EXIT_FAILURE just to make the code more obvious for the beginner on what the intent is. :-) To quote the "zen of python" "Explicit is better than implicit" we know what "SUCCESS" or "FAILURE" is! And we can use enums for other exit values.