Hacker News new | ask | show | jobs
by ChairmanZach 4034 days ago
Not only do APIs resemble the chapters and headings of a book, they aslo include the contract that the content under those headings have exactly the same behaviour.

Google didn't just copy the "heading" java.lang.Math.max() they also copied the contract that calling this method should always return the bigger of the two arguments. Ergo, the "content" under the heading is the same, or rather the any differance between the content of Oracle's book and Google's book is irrelevant

As any programmer knows, you code against interfaces not implementations. And if you don't realize that declaring those interfaces take both effort and creativity then you probably aren't a very good programmer.

3 comments

A heading in a book is just as much a contract about the content as a method signature is about the content of a method. It takes effort and creativity to produce a coherent outline for a book.

And as any (competent) programmer knows, the "interface" in "code against interfaces not implementations" is merely a homonym of the "interface" in "application programming interface".

> Google didn't just copy the "heading" java.lang.Math.max() they also copied the contract that calling this method should always return the bigger of the two arguments.

Irrelevant, the contract is not part of the trial

Sure, some interfaces took time to develop. But most are obvious from a simplistic use case.

If any language has a function max that takes two integer values and doesn't return bigger, that language isn't worth bothering.