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

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

Время на прочтение2 мин
Количество просмотров4.5K
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.
Теги:
Хабы:
+34
Комментарии3

Публикации

Изменить настройки темы

Истории

Работа

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

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн