My preference is semi-compatible with both conventions:
First = 0 Second = 1 Toward = 2 Third = 3 …
This way, the semantic meaning of the words “first” (prior to all others) and “second” (prior to all but one) are preserved, but we get sensical indexing as well.