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