Я очень четко понимаю разницу между функциональными и императивными методами программирования. Но там широко распространена тенденция говорить о "функциональных языках", и это меня действительно смущает.
Конечно, некоторые языки, такие как Haskell, более гостеприимны для функционального программирования, чем другие языки, такие как C. Но даже первые делают I/O (он просто держит его в гетто). И вы можете писать функциональные программы на C (это просто абсурдно сложнее). Так что, возможно, это только вопрос степени.
Тем не менее, даже в какой-то степени, что это значит, когда кто-то называет Scheme "функциональным языком"? Большинство кода схемы, которые я вижу, являются обязательными. Это просто, что Scheme упрощает запись в функциональном стиле, если вы хотите? Так же делают Lua и Python. Являются ли они "функциональными языками"?
Я (действительно) не пытаюсь быть языковым полицейским. Если это просто свободный способ поговорить, это прекрасно. Я просто пытаюсь выяснить, имеет ли он определенное значение (даже если это значение степени важности), которое я не вижу.