Revision Control Systems are usually more effective at keeping textual data instead of binary. Not that they cannot - but the possibility to make useful diffs, that help the programmer understand what changed and things like that, are obviously tailored around a textual world. And here we come to what impressed me in your post:
Since most of the example are for compiled language like C/C++ where it required linking etc.
You usually don't track compiled objects with revision systems, for the reasons above and, most of all, because the objects are likely to be different in different machines. OTOH, the source code is the same - and it' (usually!) text much like any Perl script (even if it may resemble line noise ;). IIRC, all examples in the CVS manual relate to the sources, except of course the chapter about binary objects :)
Flavio
perl -ple'$_=reverse' <<<ti.xittelop@oivalf
Don't fool yourself.