Почему свинина — от свиньи, баранина — от барана, а корова превращается в говядину

А порой в телятину.
В русском языке всё вроде бы устроено логично, пока дело не доходит до коровы. Свинья даёт свинину, баран — баранину, телёнок — телятину, кролик — крольчатину. А вот «коровятины» почему-то нет.
На самом деле здесь тоже всё по правилам — просто одно старое слово мы давно перестали использовать.
Всё дело в «говяде»
В древнерусском языке существовало слово «говядо», которым называли крупный рогатый скот. Оно восходит ещё к праславянской форме govędo.
Отсюда и «говядина» — буквально мясо крупного рогатого скота.
Со временем слово «говядо» из обычной речи исчезло, а производное от него название мяса осталось. Поэтому сегодня связь уже не кажется очевидной.
В других славянских языках следы сохранились
В белорусском есть «гавядзіна», в чешском — hovězí, в других славянских языках встречаются похожие формы.
Есть и другой любопытный вариант — «яловичина», знакомый по украинскому и белорусскому. Он связан со старым словом «яловый», которым обозначали скот, не дающий приплода.
В английском вообще похожая история
Там живая корова — cow, а её мясо — beef.
Причина уже другая: после нормандского завоевания знать активно использовала французские слова, поэтому мясо на столе называли словом, родственным французскому bœuf, а сама корова у крестьян осталась cow.