5 ms·
With the recipe analogy, I would say that the API would be the books table of contents. The recipes themselves are the implementation. So the question is, shoul
by meling 6y ago
With the recipe analogy, I would say that the API would be the books table of contents. The recipes themselves are the implementation. So the question is, should the book’s toc be copyrightable? That is, is it lawful to write another book with the exact same toc, but with different recipes/implementations...
- AnthonyMouse 6y agoA ToC doesn't actually work like an API. A ToC cares what order it's in. You can't move Chapter 4 to before Chapter 2 or the implementation has to change. By contrast, the order of functions within a class, or classes within a package, isn't really part of the API -- they're most often in alphabetical order, which is totally mechanistic, and changing the order doesn't change the API. A ToC is also not a rigid formal specification (like a recipe), but that's the core of what an API is.
- thaumasiotes 6y ago> A ToC doesn't actually work like an API. > A ToC cares what order it's in. You can't move Chapter 4 to before Chapter 2 or the implementation has to change. This isn't true. Table of Contents Foreword.................i Introduction............ii Preface................xvi Chapter 1................1 Chapter 2...............17 Chapter 3...............30 Chapter 4...............51 Chapter 5...............58 Chapter 6...............76 Compare: Table of Contents Foreword.................i Introduction............ii Preface................xvi Chapter 4...............51 Chapter 1................1 Chapter 2...............17 Chapter 3...............30 Chapter 5...............58 Chapter 6...............76 Note that real-world tables of contents behave in the second way. It's not at all uncommon to see chapters listed in order, followed by other materials (commonly illustrations) which are listed last in the table of contents while being physically interspersed among the chapters.
- meling 6y agoTo clarify what I meant. I don’t think the order matters. What would matter is the chapter and section titles... they are the package names and method signatures.