Программирование на естественном языке может быть невозможно по нескольким причинам:
- Неоднозначность. dzen.ru Естественные языки полны двусмысленности, простое предложение может иметь десятки толкований. dzen.ru Например: «Поставь книгу на полку у окна» — какая именно полка, какое окно? dzen.ru
- Отсутствие строгих правил. dzen.ru В формальных языках программирования строго регламентированы синтаксис и семантика, что позволяет избегать множества ошибок. dzen.ru
- Ложная простота. dzen.ru Вера в то, что программирование станет проще, если машины научатся понимать речь человека, — иллюзия. dzen.ru Чтобы корректно сформулировать инструкцию, человеку придётся стать не менее точным, чем при написании кода. dzen.ru
- Ограниченный набор функций. stackoverflow.com Набор функций, которые компьютер умеет выполнять, довольно невелик, поэтому количество языковых конструкций, необходимых для этого, также ограничено. stackoverflow.com Напротив, естественные языки должны быть способны выражать весь человеческий опыт, а для этого требуется множество языковых конструкций. stackoverflow.com
Теоретически программу можно написать и на естественном языке, но из-за неоднозначности естественного языка автоматически перевести такую программу в машинный код пока невозможно. moodle.kstu.ru