All letters in English are silent. Letters are visual signs, and they don't make any noise.
What you're all peeving about is the fact that
- Modern English spellings don't represent Modern English pronunciations.
And it's true; they don't.
That's because they represent Middle English pronunciations.
Before Caxton set up his printshop in England in 1470 something, literate people speld inglish the way they spowke itt, and everyboddiz speling was diferent, juste as handewritting is nowe.
But printing always spelled the same words the same way. And so spelling got fixed before the finale of the Great Vowel Shift, which changed the place in the mouth where long (but not short) vowels were pronounced, and also totally destroyed the difference between long and short vowels in English.
The fact that English spelling is like Middle English is why Chaucer looks almost readable for modern English speakers when they see it, but is totally incomprehensible when presented spoken. We no longer understand the language that English spelling describes (and describes rather well, by the way -- the orthography is a decent phonemic accounting of Middle English).
So that made for lots of "silent letters". The rest are erroneous spellings (often, island), various stabs at diphthongs, and sounds that disappeared though their results didn't (all those gh spellings are remnants of the [x] allophone of Middle English /h/).
Don't think of them as silent letters.
There their to distinguish things we don't dare distinguish in speech but somebody thought we'd like to know about, so we could screw them up in spelling
-- the difference between there, their, and they're, for instance.