Изменение пароля
Пользователь
anonymous
Текущий пароль
*
Новый пароль
*
Подтверждение
*
Запомнить меня
Забыли пароль?
Электронная библиотека (16+)
Впервые на сайте?
Вход
/
Регистрация
Национальный цифровой ресурс
Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 684782)
Для выхода нажмите Esc или
Функциональное программирование на F# (2000,00 руб.)
0
0
Первый автор
Сошников Д. В.
Издательство
М.: ДМК Пресс
Страниц
193
Предпросмотр
ID
795512
Аннотация
Автор этой книги имеет богатый опыт преподавания курсов функционального программирования на базе F# в ведущих российских университетах, в то же время, будучи технологическим евангелистом Майкрософт, он умеет доходчиво объяснить концепции функционального программирования даже начинающему разработчику ПО, не прибегая к сложным понятиям лямбда-исчисления. Книга содержит много полезных примеров использования F# для решения практических задач: доступа к реляционным или слабоструктурированным XML-данным, использование F# для веб-разработки и веб-майнинга, визуализация данных и построение диаграмм, написание сервисов для облачных вычислений и асинхронных приложений для Windows Phone 7. Используя фрагменты кода, рассмотренные в книге, читатели могут немедленно приступить к решению своих практических задач на F#.
Кому рекомендовано
Для разработчиков программного обеспечения.
ISBN
978-5-97060-534-9
УДК
004.438F#
ББК
32.973.26-018.1
Сошников, Д.В. Функциональное программирование на F# / Д.В. Сошников .— Москва : ДМК Пресс, 2017 .— 193 с. : ил. — ISBN 978-5-97060-534-9 .— URL: https://rucont.ru/efd/795512 (дата обращения: 27.11.2025)
Популярные
Введение в теорию игр: учебное пособие
110,00 руб
Этика и права человека в информационном ...
220,00 руб
Блок-схемы на основные технологические ц...
220,00 руб
Программирование технологических контрол...
200,00 руб
Современные направления развития измерит...
150,00 руб
Библиотековедение, библиографоведение и ...
290,00 руб
Вы уже смотрели
Аудиторские ведомости №2 2024
1200,00 руб
ИССЛЕДОВАНИЕ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ В ...
90,00 руб
Просто Big Data
300,00 руб
Экономика предприятия. Тесты, задачи, си...
200,00 руб
Журнал Сибирского федерального университ...
Право Евразийского экономического союза ...
289,00 руб
Предпросмотр (выдержки из произведения)
Резюме документа
Страницы
Текст
Функциональное_программирование_на_F#.pdf
Стр.3
Стр.4
Стр.5
Стр.6
Стр.7
Функциональное_программирование_на_F#.pdf
Сошников Д. В. Функциональное программирование на F# Москва, 2017
Стр.3
УДК 004.438F# ББК 32.973.26-018.1 С54 Сошников Д. В. С54 Функциональное программирование на F#. – М.: ДМК Пресс, 2017. – 192 с.: ил. ISBN 978-5-97060-534-9 Автор этой книги имеет богатый опыт преподавания курсов функционального программирования на базе F# в ведущих российских университетах, в то же время, будучи технологическим евангелистом Майкрософт, он умеет доходчиво объяснить концепции функционального программирования даже начинающему разработчику ПО, не прибегая к сложным понятиям лямбда-исчисления. Книга содержит много полезных примеров использования F# для решения практических задач: доступа к реляционным или слабоструктурированным XML-данным, использование F# для веб-разработки и веб-майнинга, визуализация данных и построение диаграмм, написание сервисов для облачных вычислений и асинхронных приложений для Windows Phone 7. Используя фрагменты кода, рассмотренные в книге, читатели могут немедленно приступить к решению своих практических задач на F#. УДК 004.438F# ББК 32.973.26-018.1 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. © Сошников Д. В. ISBN 978-5-97060-534-9 © Оформление, издание, ДМК Пресс, 2017
Стр.4
Содержание Предисловие Дона Сайма ...................................................................... 6 Предисловие автора .................................................................................. 8 0. Введение ................................................................................................... 10 0.1. Зачем изучать функциональное программирование ................................... 10 0.2. О чем и для кого эта книга ........................................................................... 12 0.3. Как установить и начать использовать F# ................................................... 13 1. Основы функционального программирования .................. 17 1.1. Применение функций vs. Присваивание ..................................................... 17 1.2. Упорядоченные кортежи, списки и вывод типов .......................................... 19 1.3. Функциональные типы и описание функций ................................................ 20 1.4. Каррирование ............................................................................................. 22 1.5. Условный оператор и опциональный тип ..................................................... 23 1.6. Типы данных, размеченное объединение и сопоставление с образцом ...... 25 1.7. Рекурсия, функции-параметры и цикл for ................................................... 27 1.8. Конструкции >>, |> ..................................................................................... 28 1.9. Пример – построение множества Мандельброта ........................................ 29 1.10. Интероперабельность с .NET .................................................................... 31 2. Рекурсивные структуры данных ................................................. 34 2.1. Списки и конструкторы списков ................................................................. 34 2.2. Сопоставление с образцом......................................................................... 35 2.3. Простейшие функции обработки списков ................................................... 36 2.4. Функции высших порядков ......................................................................... 37 2.4.1. Отображение ...................................................................................... 37 2.4.2. Фильтрация ........................................................................................ 39 2.4.3. Свертка .............................................................................................. 41 2.4.4. Другие функции высших порядков ...................................................... 43 2.5. Генераторы списков .................................................................................... 44 2.6. Хвостовая рекурсия .................................................................................... 45 2.7. Сложностные особенности работы со списками ......................................... 47 2.8. Массивы ..................................................................................................... 50 2.9. Многомерные массивы и матрицы .............................................................. 52 2.9.1. Списки списков, или непрямоугольные массивы (Jаgged Arrays) ........ 52 2.9.2. Многомерные массивы .NET ............................................................... 53 2.9.3. Специализированные типы для матриц и векторов ............................. 54 2.9.4. Разреженные матрицы........................................................................ 55
Стр.5
4 Содержание 2.9.5. Использование сторонних математических пакетов ........................... 56 2.10. Деревья общего вида ................................................................................ 56 2.11. Двоичные деревья .................................................................................... 59 2.11.1. Определение .................................................................................... 59 2.11.2. Обход двоичных деревьев ................................................................. 59 2.11.3. Деревья поиска ................................................................................. 60 2.11.4. Деревья выражений и абстрактные синтаксические деревья (AST) ... 62 2.12. Другие структуры данных .......................................................................... 63 2.12.1. Множества (Set) ................................................................................ 63 2.12.2. Отображения (Map) ........................................................................... 63 2.12.3. Хеш-таблицы .................................................................................... 64 3. Типовые приемы функционального программирования .................................................................................. 66 3.1. Замыкания .................................................................................................. 66 3.2. Динамическое связывание и mutable-переменные ..................................... 67 3.3. Генераторы и ссылочные переменные ref .................................................... 68 3.4. Ленивые последовательности (seq) ............................................................ 71 3.4.1. Построение частотного словаря текстового файла ............................. 73 3.4.2. Вычисление числа π методом Монте-Карло ........................................ 74 3.5. Ленивые и энергичные вычисления ............................................................ 76 3.6. Мемоизация ............................................................................................... 79 3.7. Продолжения .............................................................................................. 81 4. Императивные и объектно-ориентированные возможности F# ......................................................................................... 84 4.1. Мультипарадигмальность языка F# ............................................................ 84 4.2. Элементы императивного программирования на F# ................................... 85 4.2.1. Использование изменяемых переменных и ссылок ............................. 85 4.2.2. Цикл с предусловием .......................................................................... 86 4.2.3. Условный оператор ............................................................................. 87 4.2.4. Null-значения ...................................................................................... 87 4.2.5. Обработка исключительных ситуаций ................................................. 87 4.3. Объектно-ориентированное программирование на F# ............................... 89 4.3.1. Записи ................................................................................................ 89 4.3.2. Моделирование объектной ориентированности через записи и замыкания ................................................................................................ 90 4.3.3. Методы ............................................................................................... 91 4.3.4. Интерфейсы ....................................................................................... 92 4.3.5. Создание классов с помощью делегирования .................................... 93 4.3.6. Создание иерархии классов ............................................................... 94 4.3.7. Расширение функциональности имеющихся классов ......................... 97 4.3.8. Модули ............................................................................................... 97 5. Метапрограммирование ................................................................. 99 5.1. Языково-ориентированное программирование ......................................... 99 5.2. Активные шаблоны ....................................................................................102 5.3. Квотирование ............................................................................................103
Стр.6
Содержание 5 5.4. Конструирование выражений, частичное применение функции и суперкомпиляция ..........................................................................................106 5.5. Монады .....................................................................................................107 5.5.1. Монада ввода-вывода .......................................................................108 5.5.2. Монадические свойства ....................................................................110 5.5.3. Монада недетерминированных вычислений ......................................111 5.6. Монадические выражения .........................................................................112 6. Параллельное и асинхронное программирование ........115 6.1. Асинхронные выражения и параллельное программирование ...................115 6.2. Асинхронное программирование ...............................................................116 6.3. Асинхронно-параллельная обработка файлов ...........................................118 6.4. Агентный паттерн проектирования ............................................................120 6.5. Использование MPI....................................................................................122 7. Решение типовых задач .................................................................127 7.1. Вычислительные задачи ............................................................................127 7.1.1. Вычисления с высокой точностью ......................................................127 7.1.2. Комплексный тип ...............................................................................128 7.1.3. Единицы измерения...........................................................................128 7.1.4. Использование сторонних математических пакетов ..........................129 7.2. Доступ к данным ........................................................................................131 7.2.1. Доступ к реляционным базам данных (SQL Server) .............................131 7.2.2. Доступ к слабоструктурированным данным XML ................................136 7.2.3. Работа с данными в Microsoft Excel ....................................................139 7.3. Веб-программирование ............................................................................143 7.3.1. Доступ к веб-сервисам, XML-данным, RSS-потокам ..........................144 7.3.2. Доступ к текстовому содержимому веб-страниц ................................144 7.3.3. Использование веб-ориентированных программных интерфейсов на примере Bing Search API .........................................................................147 7.3.4. Реализация веб-приложений на F# для ASP.NET Web Forms ...............148 7.3.5. Реализация веб-приложений на F# для ASP.NET MVC ........................150 7.3.6. Реализация веб-приложений на F# при помощи системы WebSharper .................................................................................................152 7.3.7. Облачное программирование на F# для Windows Azure ......................156 7.4. Визуализация и работа с графикой ............................................................158 7.4.1. Двухмерная графика на основе Windows Forms API ............................159 7.4.2. Использование элемента Chart ..........................................................160 7.4.3. 3D-визуализация с помощью DirectX и/или XNA .................................164 7.5. Анализ текстов и построение компиляторов ..............................................171 7.4.1. Реализация синтаксического разбора методом рекурсивного спуска .........................................................................................................171 7.4.2. Использование fslex и fsyacc ..............................................................174 7.5. Создание F#-приложений для Silverlight и Windows Phone 7 .......................179 Вместо заключения .................................................................................185 Рекомендуемая литература ..............................................................190
Стр.7
Облако ключевых слов *
* - вычисляется автоматически
Мы используем куки, чтобы сделать сайт удобней для вас.
Подробнее
Хорошо