Основы функционального программирования/Вводная лекция: различия между версиями
Содержимое удалено Содержимое добавлено
м исправил ударения: больш́их — больши́х |
|||
Строка 42:
=== Краткость и простота ===
Программы на функциональных языках обычно короче и проще, чем те же самые программы на императивных языках. Сравним программы на [[w:Си (язык программирования)|Си]] и на абстрактном функциональном языке на примере [[w:Алгоритм сортировки|сортировки]] списка [[w:Быстрая сортировка|быстрым методом]] [[w:Хоар, Чарльз Энтони Ричард|Хоара]] (пример, уже
'''Пример 1. Быстрая сортировка Хоара на [[w:Си (язык программирования)|Си]]'''
Строка 93:
#Если список пуст, то результатом также будет пустой список.
#Иначе выделяется голова (первый элемент) и хвост (список из оставшихся элементов, который может быть пустым). В этом случае результатом будет конкатенация (сращивание) отсортированного списка из всех элементов хвост меньших либо равных голове, списка из самой головы и списка из всех элементов хвоста
'''Пример 3. Быстрая сортировка Хоара на языке [[w:Haskell|Haskell]]'''
Строка 128:
=== Модульность ===
Механизм модульности позволяет разделять программы на несколько сравнительно независимых частей ([[w:Модульность (программирование)|модулей]]) с чётко определёнными связями между ними. Так облегчается процесс проектирования и последующей поддержки
=== Функции суть значения ===
|