в линейке языков Вирта паскаль - модула2 - оберон, каждый чих долженбыть описан. что-бы было понятно, что ты ничего не пропустил. в Си можно было делать грязные хаки, не всегда понятные новичкам. в ++ потом убрали например преобразование типов (а вдруг ты этого не хотел), чтобы не было ошибок. и рекомендации в условиях типа (0 == var) неспроста, вдруг пропустил равно?