П. Ю. Шалимов - Функциональное программирование на языках Лисп, Эрланг
Название: | Функциональное программирование на языках Лисп, Эрланг | |
Автор: | П. Ю. Шалимов | |
Жанр: | Учебники и пособия ВУЗов, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Lisp, Scheme | |
Изадано в серии: | неизвестно | |
Издательство: | БГТУ | |
Год издания: | 2010 | |
ISBN: | 5-89838-224-0 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Функциональное программирование на языках Лисп, Эрланг"
Рассмотрены теоретические и практические положения, а также принципиальные вопросы функционального программирования: управление памятью, типизация, виды вычислений, управление в функциональной программе, определение функций и организация повторяющихся вычислений. Дано системное представление об основах высокоуровневого программирования на примере одного из самых популярных его стилей — функционального программирования.
Учебное пособие предназначено для студентов всех формы обучения специальностей 010503 «Математическое обеспечение и администрирование информационных систем», 230105 «Программное обеспечение вычислительной техники и автоматизированных систем», а также может быть полезно для лиц, самостоятельно изучающих функциональное программирование.
Ил. 3. Библиогр. — 24 назв.
Читаем онлайн "Функциональное программирование на языках Лисп, Эрланг". [Страница - 2]
- 1
- 2
- 3
- 4
- . . .
- последняя (56) »
программированием на языках типа Си, Паскаль и логическим
программированием на Языке Пролог. Оно позволяет разработчику
сосредоточиться на решении собственно прикладной задачи и
обладает сравнительно высокой вычислительной эффективностью.
Функциональное
программирование
характеризуется
следующими признаками, некоторые из которых впоследствии
переместились в императивные языки, повысив их уровень.
Требование использования только чистых функций (без
побочных эффектов), не является уникальным признаком
функционального программирования, но именно здесь оно
становятся обязательным.
Отказ от присваивания и любых структуроразрушающих
действий,
которые
являются
основой
императивного
программирования, также становятся обязательными.
Бестиповость, которая означает отсутствие какое-либо
связывания синтаксических объектов, оперируемых программистом,
с ячейками памяти, и в этом плане полное отрешение от аппаратной
реализации вычислительной системы.
Использование
функции
высшего
порядка
возможно
практически во всех императивных языках программирования, но в
функциональной парадигме применение таких функций позволяет
вывести разрабатываемый проект на новый уровень абстракции, что
приводит к большей выразительности.
Карринг, как форма записи функции от нескольких аргументов,
в виде синтеза функций от одного аргумента, являлся до недавнего
времени уникальным свойством функциональных языков.
Ленивые (отложенные) вычисления (уникальный признак
функционального программирования) заключаются в том, что
вычисления откладываются до тех пор, пока не понадобится их
результат. Ленивые вычисления логично вытекают из концепции
6
функциональных языков, находят теоретическую основу в лямбдаисчислении Черча.
Лямбда–выражения (анонимные функции), создаются в любом
месте программы с контекстом, существующим на время вычисления.
С использованием лямбда-выражений создается особый вид
функционального объекта – лексическое замыкание.
Замыкание − механизм связывания кода функции с ее
лексическим окружением, наряду с объектами, является одним из
способов композиции программ и данных.
Сопоставления с образцом является мощным инструментом
анализа
структур,
широко
используется
в
логическом
программировании.
В
некоторых функциональных языках
программирования используется как основной способ определения
функции.
Использование лямбда-выражений, замыканий и механизма
сопоставления с образцом позволяет значительно повысить
выразительность программного кода. Программист, использующий
платформу
Microsoft.NET
с
императивными
языками
программирования,
может
применять
такие
традиционно
функциональные инструменты, как лямбда-выражения, замыкания,
сопоставления с образцом.
Изучение функционального стиля программирования позволяет
сформировать полноценное «программистское мировоззрение», на
основе которого появится возможность решения практически любых
задач и активной позиции в области теоретических исследований и
разработок.
7
ГЛАВА 1
ОСНОВНЫЕ ПОЛОЖЕНИЯ ВЫСОКОУРОВНЕВОГО
ПРОГРАММИРОВАНИЯ
Парадигмы программирования
Стили декларативного программирования
Функциональное программирование
в разработке систем
искусственного интеллекта
Функциональное программирование в телекоммуникационных
приложениях
Сферы применимости
Понятие высокоуровневого программирования
Высокоуровневое программирование, несмотря на условность и
относительность этого понятия, связывается в большинстве случаев с
декларативной парадигмой программирования (п. 1.1). Декларативная
парадигма может реализовываться посредством логического либо
функционального программирования.
При определении места функционального программирования
среди других стилей программирования, необходимо определить в
чем именно выражается «сверхвысокий» уровень изучаемых языков
программирования, ввести критерии и признаки высокоуровневого
функционального программирования.
Функциональное программирование ориентировано на решение
задач, которые можно отнести к задачам искусственного --">
- 1
- 2
- 3
- 4
- . . .
- последняя (56) »