Язык Haskell: О пользе и вреде лени: различия между версиями

мНет описания правки
 
Для многих программистов не секрет, что на процедурных языках можно писать [[w:Объектно-ориентированное программирование|объектно-ориентированным]] образом, а на объектно-ориентированных языках писать программы, следуя процедурному стилю программирования.
Аналогично, практически на всех языках можно использовать функциональный стиль программирования. Это связано с тем, что создатели языков стараются сделать их достаточно универсальными, чтобы они успешно использовались при решении разных задач. Абсолютной универсальности достичь невозможно. Хотя есть некоторые удачные экземпляры, такие как язык Python, которые покрывают большой диапазон стилей программирования и в то же время имеют достаточно простой синтаксис. Универсальность языка не всегда является плюсом. Часто она влечёт за собой сложность синтаксиса и неоднозначность языковых конструкций. Конечно, сам язык (транслятор языка) все конструкции интерпретирует вполне однозначно, а вот программист, если язык слишком универсальный, может запутаться. Есть множество забавных примеров — коротких программ на Си и Си++, в которых ненедостаточно могутопытные разобратьсяспециалисты даже специалистыне могут разобраться, пока не скомпилируют их, не запустят и не проведут часок-другой за их исследованием.
 
Ограничения, которые вы встретите в языке программирования Haskell, следует уважать. Они спасают вас от множества проблем, которые могли бы возникнуть, если бы вы писали на слишком универсальном языке программирования типа Си++.
Анонимный участник