Главная » 2019»Ноябрь»3 » Рубанцев В. - Программирование в среде PascalABC.NET. Функциональное программирование
06:59
Рубанцев В. - Программирование в среде PascalABC.NET. Функциональное программирование
Многие современные языки программирования поддерживают несколько парадигм, почему и называются мультипарадигменными. Например, на С++, Си-шарпе, Яве, Питоне, паскале PascalABC.NET можно писать программы в процедурном, объектно-ориентированном и функциональном стиле. Функциональное программирование насчитывает уже несколько десятилетий, но только сравнительно недавно стало одной из ведущих парадигм программирования. Программы, написанные в функциональном стиле более надёжные, короткие и понятные. Их проще писать и отлаживать. Они превращают императивное программирование в декларативное. Программы, написанные в императивном стиле, показывают, как нужно что-то сделать. А программы, написанные в декларативном стиле, показывают, что мы хотим сделать. Декларативное программирование помогает избежать множества мелких подробностей.
Например, методы расширения для последовательностей OrderBy и OrderByDescebding умеют сортировать элементы по заданному условию. Теперь нет необходимости подробно расписывать функции сортировки. Весь код занимает единственную строку в программе. В функциональном программировании уже существующие данные не изменяются ! К ним либо добавляются данные, либо создаются новые. При каждом изменении объекта программы создаётся новый экземпляр. К примеру, в Паскале нельзя изменить последовательность. Всякий раз будет создаваться новая последовательность, которая может включать элементы исходной последовательности. Поэтому в функциональном программировании все переменные могут только единственный раз получить значение, то есть должны быть константами. В мультипарадигменных языках программирования, к которым относится и Паскаль, невозможно использовать только чистые функции, но вполне можно программировать в функциональном стиле. В книге подробно, с многочисленными примерами, рассказывается:
О процедурном типе в Паскале. Об анонимных функциях. О лямбда-выражениях. О генерировании последовательностей. Об языке интегрированных запросов LINQ. Обо всех встроенных методах расширения для последовательностей. Обо всех дополнительных методах расширения в языке PascalABC.NET. О разработке собственных методов расширения.
Автор: Рубанцев В. Язык: Русский Издательство: RVGames Жанр: Программирование Год: 2017 Формат: djvu Размер: 10 mb