I am sorry - you cannot expect a language that has evolved over 1000 years to be logical. There are far too many influences and origins.
You need to start looking at etymology in order to understand the anomalies. This is a useful site:
Online Etymology Dictionary
Learn to live with the unexpected - it's far less wearing on the nerves!
