Как стать автором
Обновить

Книга Криса Смита «Программирование на языке F#»

Время на прочтение2 мин
Количество просмотров4.7K
image

Любая методология разработки, инструмент, технология или язык программирования привлекает к себе внимание по разным причинам. Это может быть нечто инновационное и тогда по прошествию десятка или двух лет (!), до него таки дотянутся руки всего остального компьютерного сообщества. Так было практически со всеми идеями, которым пришлось пройти длительный путь от конференций гиков до признания широкой общественностью. Другим способом ворваться в «мейнстрим» является поддержка уже известного вендора, например такого, как компания … Майкрософт. Большинство людей инерционны и не будут вкладывать свои силы в «нонейм» инструменты, пока не удостоверятся, что их капиталовложение будет востребовано. Если же инструментом занимается подобный вендор, то риск изучить что-то, что не пригодится в будущем, очень не велик.


На самом деле такое мнение весьма близоруко, поскольку при изучении нового инструмента, языка или технологии вы развиваетесь, узнаете что-то новое и включая способности применять эти подходы в другом контексте. Это особенно справедливо, когда речь касается новых парадигм программирования, таких как функциональное программирование, которое само по себе не привязано к конкретному языку или технологии.

Если говорить о книге Криса Смита «Программирование на языке F#» (Chris Smith “Programming F#”), то в ней можно выделить несколько составляющих. Во-первых, в ней рассказывается о функциональных «фишках», таких как функции первого рода, неизменяемость, сопоставление с образцом (a.k.a. pattern matching), размеченные объединения (discriminated unions), отложенные вычисления, каррирование функций, мемоизация и т.д. Во-вторых, это некоторые функциональные возможности специфичные для языка F#, такие как вычислительные выражения (computation expressions), генерация списков и последовательностей (list comprehensions и sequence comprehensions), асинхронные выражения (async workflow) и др. Третьей составляющей является тема мультипарадигменного программирования в языке F#, в которой автор рассматривает изменяемость, императивное и объектно-ориентированное программирование. Эта тема тесно связана с межъязыковым взаимодействием, которое сводится к использованию из языка F# объектно-ориентированных библиотек, таких как BCL, а также использованию сборок, полученных на языке F# в объектно-ориентированном окружении.

Мне кажется, что книга будет наиболее полезна читателям уже знакомым с объектно-ориентированным программированием и программированием на платформе .Net, поскольку именно эти темы в книге раскрыты весьма слабо (а неточности в объектной терминологии просто напрягают). Но это не является серьезной проблемой, поскольку книг, посвященных платформе .Net и языку C# достаточно много и попытаться переплюнуть Рихтера или Скита и втиснуть в несколько глав то, чему другие авторы посвящают книги – мало реально. Но с другой стороны, «функциональная сторона» описана достаточно неплохо и информации будет вполне достаточно, чтобы читатель начал применять полученные знания на практике. А поскольку многие современные разработчики как раз таки обладают знаниями в ООП и языке C# и посматривают в сторону функционального программирования, то эта книга будет именно тем, что нужно.

З.Ы. Да, кстати, эта книга уже очень скоро должна появиться на русском языке. Я не знаю точной даты выхода, но поскольку я закончил ее редактирование пару недель назад, то речь, в любом случае, идет о неделях, а не о месяцах.

via Programming Stuff.
Теги:
Хабы:
Всего голосов 42: ↑38 и ↓4+34
Комментарии3

Публикации

Истории

Работа

.NET разработчик
76 вакансий

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань