It has a different behavior when you access past the end of the array. That makes error checking more difficult since you have to test for both error conditions. 1 based indexing is a mistake, but compounding that by changing the error conditions is the WTF.
Having 1 based indexing is a design flaw that R shares with SQL. SQL's error handling also leaves much to be desired.
Having 1 based indexing is a design flaw that R shares with SQL. SQL's error handling also leaves much to be desired.