interfaces should be simpler than their implementations
Which the author then goes to some lengths to absolutely reject.
I find this very interesting, because 1) this is the view I’ve always held and 2) I’m having trouble accepting the authors proposition than an interface and a formal specification are equivalent.
...if they are, certainly, the non-code ‘level 3 artifacts’ that define code behaviour but are not code, will be much more than the implementation in some cases.
However, I dispute more strongly that the principal is wrong.
Surely not every implementation is longer than its interface, but in general striving to avoid bloated hideous interfaces is ideal.
Certainly it’s a sliding scale... and the idea of ‘too simple’ an interface that is superficially simple seeming, but actually very complex (eg. the file I/O example) is food for thought.
...but I feel too much is made of rejecting the point that all interfaces should be simpler than their implementation absolutely.
Did the book really claim that?
Hm.
I want to actually read it myself now.