I remember the "History of English Podcast" covering a lot of this. I'm more a programming language nerd than spoken language, but I still found it fascinating.
Old English was a Germanic language, later heavily influenced by Norman/French vocabulary. French of course descended from Latin, and Latin and Germanic languages both belong to the Indo-European family of languages. (The "C" language of humanity, if you will.)
French was forcibly thrust on the population in 1066, but of course the conquerors were the elite, and the defeated, their servants. So if you tend a cow, you call it with the Germanic word: cow, not vache. But if you consume its expensive meat, you name it in French: boef / beef, not rind(fleisch).
Old English was a Germanic language, later heavily influenced by Norman/French vocabulary. French of course descended from Latin, and Latin and Germanic languages both belong to the Indo-European family of languages. (The "C" language of humanity, if you will.)