That's because the word "first" in first() uses one-based indexing. In true programmer fashion it would have been called zeroth() but that is wholly unintuitive to most humans.
I maintain that the element with the lowest index is called the "zeroth" element in zero-based indexing and "first" in one-based indexing. The element with index N is the Nth element.