Обзор книги «Beginning F#»

суббота, 30 января 2010, Yuriy Bogomolov

Недавно Александр Краковецкий предложил всем желающим написать ревью некоторых книг издательства APRESS в обмен на бумажные версии этих книг. Так как я веду цикл статей о F#, я заинтересовался книгой «Beginning F#».

Название «Beginning F#» является несколько неточным — я бы назвал книгу «Beginning, Advancing and Getting Astounded by F#». Эта книга последовательно описывает все более и более сложные тематики, вызывая у читателя удивление и невольное уважение к скрытым возможностям нового языка программирования под платформу Microsoft .NET — F#.

Вот краткая сводка по основным главам:

  1. Главы «Functional Programming, «Imperative Programming», «Object-Oriented Programming» последовательно рассматривают три известных парадигмы программирования, акцентируя на их плюсах и минусах, и демонстрируют соответствующие возможности F#. Хорошее начало, чтобы просто разобраться, что к чему.

  2. Глава «Organizing, Annotating and Quoting Code» описывает специфические для F# возможности организации кода в модули, пространства имен; описывает различные типы комментариев и автогенерацию документации по ним; знакомит с цитированием (quotation) кода, позволяющим делать вывод не только типов, но и деревьев выражений.

  3. Глава «F# Libraries» — описывает основные библиотеки языка, дает краткие характеристики содержащихся там функций. Также описывается очень мощная библиотека FSharp.PowerPack, дающая доступ к богатому выбору математических функций и компилятору языка.

  4. Глава «User Interface» описывает работу с пользовательским интерфейсом из кода; при этом описываются как WinForms, так и WPF. Радует, что описывается не только платформа Windows/.NET, но и Linux/Mono.

  5. Глава «Data Access» — базы данных, ADO.NET, Data Bindings, LINQ. Этим всё сказано :)

  6. Глава «Parallel Programming» описывает крайне важную, по моему мнению, тему — параллельное программирование. Даны основы работы с потоками, описаны механизмы блокировки (locking), параллельность относительно данных (Data Parallelism), асинхронное программирование. Необычайно полезный с методической точки зрения раздел, который стоит прочитать, даже если вы не будете писать на F# большую часть времени.

  7. Глава «Distributed Applications» дают представление о использовании F# при написании клиент-серверных приложений с использованием сокетов, HTTP и WCF. Также описана возможность вызовов F# из ASP.NET.

  8. Глава «Language-Oriented Programming» знакомит читателя с техникой использования DSL (domain-specific languages) и основами метапрограммирования на основе написания простенького компилятора и интерпретатора.

  9. Глава «Parsing Test» — для меня наиболее увлекательный раздел. В нем описан парсинг EBNF-грамматик, рассмотрена open-source библиотека FParsec (изящный поклон в сторону Haskell).

  10. Глава «Compatibility and Advanced Interoperation» — вызовы F# из других .NET-языков, в частности, из C#; вызовы COM-объектов; использование P/Invoke и встраивание IL-кода.

Вывод напрашивается только один: книга — безусловный «must have» не только для тех, кто интересуется функциональным программированием, но и для тех, кто сталкивается со сложными задачами вроде парсинга текстов, сложных научных расчетов, распределенных задач. «Beginning F#» написана легким и понятным языком и читается буквально взахлёб! Я считаю, что эта книга достойно украсит полку любого программиста, желающего стать настоящим профессионалом.

Компании из статьи


Apress


Сайт:
http://apress.com/

Apress Apress is a technical publisher devoted to meeting the needs of IT professionals, software developers, and programmers, with more than 700 books in print and a continually expanding portfolio of publi...

Microsoft Украина


Сайт:
http://www.microsoft.com/ukr/ua/

Microsoft Украина Украинское подразделение компании Microsoft.

Ищите нас в интернетах!

Комментарии

Свежие вакансии