Sorry to say this (and I might get some flak for this) but English is a pretty dumb language. I am no linguist and not even a native English speaker and thus this may be my ignorance speaking. I am happy to learn from you all and change my current opinion on English. I am native Hindi speaker and at no time in Hindi can you have a different pronunciations from how the word is written (cache, knowledge, repertoire...)…
I would hazard to say it's a pretty common feeling to think every language is dumb except your own. You're so used to the weirdness of your own language you don't even notice it, but weirdness in other language is always grating.
> I am native Hindi speaker and at no time in Hindi can you have a different pronunciations from how the word is written (cache, knowledge, repertoire...)
IMHO, the only dumb thing about English is the cultural tendency of its speakers to not modify spelling of foreign words as they are imported, even when those languages have completely different sound assignments (see Pinyin).
However, once a word has a standard spelling, it makes sense to keep it even as pronunciation changes.
> You can also never have a word pronounced differently in different tense (for example, Read.)
That's the remnant of an old grammar rule: https://en.wikipedia.org/wiki/Indo-European_ablaut. It's from Proto-Indo-European and was apparently still present in Sanskrit.
> Furthermore, there are no words to my knowledge which sound the same but have different written spelling! (Write, Right, Rite.)
There's a good reason for that: to help disambiguate homophones in writing.