In molte lingue, la funzione sottostringa funziona in questo modo:
sottostringa (startIndex, endIndex)
restituisce la sottostringa da startIndex fino a endIndex-1 (se si visualizza startIndex e endIndex come 0) / da startIndex + 1 a endIndex (basato su 1)
Questo è confuso. Capisco che i due parametri possono essere interpretati come "startIndex" e "lunghezza della sottostringa", ma a mio avviso è ancora confuso e anche in questo caso, startIndex è basato su 0 mentre la lunghezza è basata su 1.
Perché non attenersi a una convenzione per entrambi gli argomenti della funzione? e perché le lingue più recenti come Ruby e Python continuano ad attenersi a questo standard?