For what reasons does French have so many silent letters?
Silent letters are common in most languages, and it occurs largely due to changes in pronunciation whilst traditional spelling remains intact. French originated from Latin, which developed into the Frankish dialect, which over time changed into the French language we have today.
Through this, pronunciations and grammatical rules changed considerably, but traditional spellings were kept both for formality and also for the efficacy of teaching, which made many of their letters seem silent. This also occurs in English, with words such as knight, queue, and foreign being some examples to name a few.