> The separation of specification and implementation in C/C++ is not some > feature that they came up. I would call it a design defect. Having to > split up code between header files and source files is one of the things I > dislike about C/C++. As for why anyone would be in love with such a thing, > well that's just beyond me.
In Modula and Ada separation specification and implementation is the key feature. Ada was designed for large mission critical systems. I want be able to separate specification from implementation. Specification is primary and must be written manually. Compiler must check conformance implementation and specification.