We’ve established how the alphabet works, so now it’s time to look into exactly why French seems to ignore its own spellings. And to be fair, while the French adherence to alphabetical “rules” is loose, it’s probably not any worse than English. One thing French has that English doesn’t is the Académie française, which is an institution that conserves the French language and keeps it from changing as much as it would naturally. But in spite of that, English and French have similar reasons for why their pronunciation is tough for second language learners.
The biggest reason for unpronounced letters is that, at one time, the letters were pronounced. Spelling tends to reflect the language as it was spoken when the language was standardized, rather than how it’s pronounced today. French spelling went through various phases of reformation — no language stays still forever — but some words can trace their spelling back nearly 1,000 years.
One such change is that the last syllable of French words were pronounced less and less historically, which is why today, you often don’t pronounce the last letters in French words. A similar thing happened in English; the silent “e” at the end of words used to actually be pronounced. It’s only because spelling doesn’t evolve together with French speaking that the mismatch occurs.
Another contributor to alphabetical weirdness is “etymological spelling.” Sometimes, a word will reflect the language it comes from, even if it was never actually pronounced that way. The French word paix never pronounced the “x,” but the “x” is still there to reflect the Latin word it comes from: pax.
Again, these factors aren’t that unusual for any language. English has just as many quirks for similar reasons; it just manifests in different ways. And if you’re raised speaking a language, you tend not to notice how aggravating the language can be to non-native speakers.