Where the prior might start a project by writing everything in header files, because of very strict inclusion orders, for example, just of the top of my head, and the latter would set up a project with proper classes and inheritance and no magic numbers in code anywhere, preferably all numbers from external conf.