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

Содержимое удалено Содержимое добавлено
Строка 310:
Создатели языка Haskell очень гордятся тем, что в нём используется чистая функциональная парадигма. Они утверждают, что на Haskell
* проще писать сложные программы, и программы получаются существенно короче;
* программы имеют ясный, илегко «читабельный»читаемый вид,; их можно легко понять, даже не зная многих деталей языка Haskell;
* меньше делается меньше ошибок, так как синтаксис языка Haskell защищает программиста от совершения многих типичных ошибок;
* короче и проще этап проектирования и разработки программ: программист должен просто понять, что ему нужно, и затем описать это на формальном математическом языке;
* создаются адаптивные, легко изменяемые и расширяемые программы.
Строка 317:
Кроме того, отмечается, что благодаря строгой типизации языка, в программах на Haskell не случается системных ошибок и не бывает аварийных ситуаций (сore dump).
 
Создатели также утверждают, что программы на Haskell получаются более [[w:Модульность (программирование)|модульными]] и встраиваемыми и предоставляют больше возможностей для ([[w:Повторное использование кода|повторного использования]] ({{lang-en|code reuse}}). В частности, представленная программа быстрой сортировки на Haskell (в отличие от программы на Си) может сортировать не только целые числа, но и числа типа <code>Float</code> и любые другие объекты, на которых определена операция сравнения.
 
Язык Haskel имеет высокий уровень абстракции. Грубо говоря, под этим имеется в виду возможность создавать функции, которые возвращают функции. Но более точно сказать, что язык Haskell включает в себя абстрактное [[w:Лямбда-исчисление|лямбда-исчисление]] (λ-исчисление). Мощь, которую предоставляет это исчисление, ещё не до конца осознана программистами, и не в полной мере используется на практике.