Программирование в среде PascalABC.NET. Функциональное программирование


Программирование в среде PascalABC.NET. Функциональное программирование

Многие современные языки программирования поддерживают несколько парадигм, почему и называются мультипарадигменными. Например, на С++, Си-шарпе, Яве, Питоне, паскале PascalABC.NET можно писать программы в процедурном, объектно-ориентированном и функциональном стиле. Функциональное программирование насчитывает уже несколько десятилетий, но только сравнительно недавно стало одной из ведущих парадигм программирования. Программы, написанные в функциональном стиле более надёжные, короткие и понятные. Их проще писать и отлаживать. Они превращают императивное программирование в декларативное. Программы, написанные в императивном стиле, показывают, как нужно что-то сделать. А программы, написанные в декларативном стиле, показывают, что мы хотим сделать. Декларативное программирование помогает избежать множества мелких подробностей.

Например, методы расширения для последовательностей OrderBy и OrderByDescebding умеют сортировать элементы по заданному условию. Теперь нет необходимости подробно расписывать функции сортировки. Весь код занимает единственную строку в программе. В функциональном программировании уже существующие данные не изменяются ! К ним либо добавляются данные, либо создаются новые. При каждом изменении объекта программы создаётся новый экземпляр. К примеру, в Паскале нельзя изменить последовательность. Всякий раз будет создаваться новая последовательность, которая может включать элементы исходной последовательности. Поэтому в функциональном программировании все переменные могут только единственный раз получить значение, то есть должны быть константами. В мультипарадигменных языках программирования, к которым относится и Паскаль, невозможно использовать только чистые функции, но вполне можно программировать в функциональном стиле. В книге подробно, с многочисленными примерами, рассказывается:

О процедурном типе в Паскале.
Об анонимных функциях.
О лямбда-выражениях.
О генерировании последовательностей.
Об языке интегрированных запросов LINQ.
Обо всех встроенных методах расширения для последовательностей.
Обо всех дополнительных методах расширения в языке PascalABC.NET.
О разработке собственных методов расширения.

Книжная инфа
Автор публикации:Рубанцев В.
Язык публикации: Русский
Жанровый вектор:Программирование
Год выпуска в свет: 2017
Издательство: RVGames
Предоставленный формат публикации: djvu
Размер залитого архива залитого файла: 10 mb

Купить печатную версию на LITRES

Категории