Re: [RFC] Splitting kernel headers and deprecating __KERNEL__

Linus Torvalds
2004-12-02T03:58:43Z

On Wed, 1 Dec 2004, Alexandre Oliva wrote:
>
> > Then your definition of a "contract" is flawed or your world-view has
> > nothing to do with reality.
>
> It's not my definition, it's a definition used in software
> engineering.

Not that I've seen. Maybe your school. Google also doesn't seem to agree
with you. In other words, it seems to be in pretty limited use.

> An ABI is a definition of an interface, including operations with pre-
> and post-conditions, data structures with their invariants, constants,
> file formats, etc.

Oh, I know what an ABI is. I just don't think your "contract" part has
anything to do with it.

> Most of that is covered by the software engineering term `contract'.

I think you're making that up. Maybe there's some sw cult that swears by
"contract programming", the same way there are the "extreme programming"
cults etc. For example, I find this "Design by Contract" cult for object-
oriented programming, but it has _zero_ to do with external API's, and is
all about the interfaces for object-oriented components.

IOW, I don't find your arguments or your language usage in the least
convincing. But hey, I did all my CS stuff outside of the US, whatever.

Linus