Пишут-то программы люди. Да, языки высокого уровня частично проблему несоответствия машинной и человеческой систем счисления решают, но во-первых, это дополнительная прослойка, во-вторых, не всегда эффективно, особенно для системного программирования, в-третьих, языки высокого уровня возникли на определённом этапе развития информационных технологий, а поначалу писали прямо в машинных кодах.