Дмитpий Hecтepук

Блог о программировании — C#, F#, C++, архитектура, и многое другое

Ревью нескольких .Net-ориентированных книг от Apress

13 комментариев

Решил написать весьма нетипичный (для меня) пост на тему отзывов о книгах для программистов. Что касается того, что я читаю, могу сказать что 100% моих книжек на английском, примерно 90% касаются .Net, остальные обычно либо про альтернативные языки программирования либо по менеджменту. В этом посте я решил написать про книги от Apress благо у меня их больше всего (по сравнению с другими издательствами). Внимание: рецензии сугубо мое бескомпромиссное имхо, просьба сильно не бить.


Pro .Net 4 Parallel Programming


Эта книжка пришла мне несколько дней назад, но я уже успел ее прочитать и причина этому простая – до нее мне не попадалось ни одной книги которая покрыла бы TPL и PLINQ полностью, целиком, в отдельной книге. На самом деле это не совсем так – покрыты тут не только TPL/PLINQ но также часть новых структур относящихся к многопоточной разработке (например ReaderWriterLockSlim). Но это еще не всё – в книге, как вы наверное догадались, показаны также инструменты отладки многопоточной разработки VS2010. Но самая соль – особенно для начинающих разработчиков – это глава 8, в которой обсуждаюся паралелльные алгоритмы. То есть, помимо чисто академических примеров которые есть во всей книге, конкретно в этой главе показаны реальные, живые примеры, которые можно при желании адаптировать и утянуть в свои проекты.

Книгу я прочитал на одном дыхании, примерно за пару выходных дней. Конечно, ко многим вещам придется возвращаться – ведь тема многопоточности сложная, и новые конструкты вроде Task<T> хоть и упрощают работу, но не делают ее вообще не нужной. Поэтому в целом могу сказать что книжка очень понравилась, поэтому я и решил сначала написать именно о ней.

Pro Asp.Net 4 CMS


Скажу честно: вместо этой книги я ожидал книжку Троэльсена чтобы ее кому-нибудь подарить. Но получив книгу про создание CMS, мне все-таки стало интересно и я решил заглянуть, хотя признаюсь честно – книга на данный момент простаивает у меня на полке. Если коротко и по существу, то книга начинается вообще не с создания CMS, а с обсуждения новых фич VS2010 и .Net 4. Также, на протяжении книги, идет достаточно живое обсуждение различных технологий – той же параллелизации (3я глава вся по ней), MEF, DLR (IronPython), jQuery, Memcached. Также идет обсуждение тюнинга CMS в плане скорости, SEO и т.п.

Вообще, читать про то, как кто-то пишет CMS – дело достаточно нудное. Понятно что основные концепции CMS (например то, как «склеивать» модули с помощью MEF) знать полезно, но углубление в детали не всегда требуется. Вот например – зачем книжке про CMS глава про jQuery? С одной стороны понятно, что jQuery вездесущь и любая книга по веб-технологиям должна его по крайней мере упомянуть. С другой стороны, CMS – ее написание – это ведь скорее всего сугубо серверная вещь, некий фреймворк на базе которого можно строить сайты. Описывать то, как работает AJAX в этом контексте – значит таргетить не совсем ту аудиторию. Ведь люди которые не знаю что такое AJAX вряд ли способны на написание своей CMS-системы. Хотя, кто знает.

Целиком книжку читать не захотелось – во-первых, очень много пройденного, а во-вторых, как-то не работает для меня модель «все вперемешку» – понятное дело что в реальной жизни все именно так и происходит, но когда вдумчиво что-то читаешь, не хочется постоянно прыгать их одной темы в другую.

Expert F# 2.0


В каком-то смысле, Apress держит монополию на F# – по крайней мере что касается серьезных книг которые достаточно глубоко раскрывают тему. Я читал эту книгу еще в 1й редакции, и насколько я знаю, вторая редакция книги является точной копией первой (где тут логика?). Моя рецензия касается 1й редакции книги.

Expert F# – самая полная книга по F#. Если хотите выучить этот язык на серьезном, production-уровне, следует покупать именно ее, а не ее младшего брата или альтернативы (хотя F# for Scientists тоже интересная книга). Книга это очень большая (огромная как Троэльсен!), и достаточно полная чтобы прокачать ваши знания F# с нуля до весьма высокого уровня. Скажем так – проще сказать что в ней не описано чем то, что описано. В ней описаны все конструкты языка, а также ряд типовых применений языка. Очень сильный акцент в книге сделан не только на функциональную составляющую, но также на OOP, и порой книга начала мне казаться каким-то учебником на тему «переучиваем C#». Действительно, процентная составляющая конкретно по этой теме в ней немаленькая, поэтому я решил снять хотя бы пол звезды, т.к. подозреваю что большинство людей покупает книгу не для этих целей.

В целом же, книга – эпичный труд, который читается «в удовольствие» и который я бы рекоммендовал каждому .Net-чику несмотря на вероисповедание – просто чтобы знать что это такое. Хотя с другой стороны, для людей которых интересует конкретно функциональные аспекты как в F# так и в C# специально есть книга Real-World Functional Programming в которой поучаствовал сам Джон «Чак Норрис» Скит. Я ее еще не читал но обязательно гляну.

Следует понимать, что поскольку F# продолжает хоть немного, но меняться, книга эта чуток устарела. Это не критично, и особо серьезных проблем она не должна вызывать, но могут возникнуть ситуации когда вы не сможете скомпилировать тот код, который увидите в книге. Что сказать – язык продолжает эволюционировать, и если винить, то его а не авторов книги – хотя по идее могли бы и порезвее адаптироваться к изменениям.

Pro LINQ


Осторожно: холивор. Книжка по Linq – это лично для меня странновато т.к. сам по себе язык Linq можно изучить за пару дней, выучив конструкции вроде where или select. Написание Linq-провайдеров – это отдельная тема, тут уже нужно побольше времени, но я считаю что делать целую книгу конкретно по Linq – странно, т.к. любой хороший учебник по C# (например, C# in a Nutshell) может спокойно выделить главу на то, чтобы рассказать что это такое.

И вот тут начинается самое неинтересное – в книге начинают монотонно обсуждаться разные операторы. Один за одним. И все с примерами. Причем простенький материал тянется на страницы и уже начинаешь ощущать себя студентом, который зазубривает длиннющие конспекты вместо того чтобы быстренько разобраться в основных принципах, а остальные доучить «у станка». Если коротко, то книга мне совсем не понравилась. Разжевывание таких вещей как Linq to Xml – это тоже очень нудное занятие где, в принципе, можно наплодить миллион примеров (благо API достаточно богатый), но кому это нужно – непонятно. Хочется чтобы коротко и со вкусом. А Pro Linq – это как 10 подходов к обычному шведскому столу.

Вообщем мое мнение такое: чтобы изучить Linq, есть ресурсы и получше. Все равно все часто зависит от специализации: например при работе с Rx появляются свои надстройки над Linq-операторами, а книжку по Rx пока никто не написал. А что, это идея…

Beginning Scala


На днях прочитал эту книгу, и если вы думаете что это не касается .Net, вы ошибаетесь – Scala, якобы, может работать под CLR, только я естественно не пробовал, т.к. мое увлечение этим языком действительно связано скорее с JVM и подобными вещами. Почему я выбрал книгу от Apress – непонятно. Просто захотелось изучить новый язык, и я нашел себе книгу «начального» уровня.

Если честно, я немного предвзят в плане этой книги потому что я знаю F# – а следовательно большинство тем, как оказалось, не совсем новые для меня. Другое дело что у меня есть несколько придирок в плане самого языка, но книга структурирована неплохо. Начинается все с ну очень простых тем – как если бы читатель изучает Scala первым языком. Это немного удивляет, но концепции в книге рассказаны достаточно неплохо, хотя как-то я не уверен что получается синергия для тех кто не знает ничего и тех кто знаете Java (или, тем более, F#). Сам контент разобран очень лаконично, но не следует ожидать особой «глубины» – мне например после прочтения книжки уже хочется большего. Хоть я в Java-стеке работаю мало.

В принципе книжка нравится но в ней есть один минус – консольный вывод, который в не представлен, весьма неслабо занимает страничное пространство. Тем самым, автор мог бы покрыть намного больше материала… хотя тогда это не была бы beginner-level book. Еще один минус – не описано как начать работать с той или иной IDE, ссылка на скачивание устарела – на том сайте больше ничего нет. Я потратил немало времени, чтобы разобраться как все работает в IntelliJ. Мне кажется что для книги «для начинающих» это как раз тоже важно, хотя ввести людей в конструкты языка конечно является приоритетной задачей. Короче, от книги мне не жарко не холодно – наверное надо брать аналогичную книгу из серии Pro.

Founders at Work

В заключение хочу обсудить весьма странную книгу, которую я приобрел уже давным-давно, но так целиком и не прочитал (она большая, а времени мало). Для Apress эта книга – неформат. Она не по программированию, а про стартапы. Размер у нее побольше обычного paperback’а но ощущение такой что читаешь сборник занимательных историй. На самом деле – так и есть, только это не худ. лит. а реальная жизнь – интервью со стартаперами больших технологических компаний, которые многого достигли. Каждое интервью – записанный диалог, иногда интересный но в основном – увы – скучный и предсказуемый. Понятное дело что у каждого успешного стартапа были свои сугубо специфичные проблемы и задачи, и все стали успешными благодаря конкретным действиям, но действия эти в основном не магия менеджмента, а вполне обдуманные действия которые «выстрелили» как в игре в рулетку.

Если я что и вынес для себя из этой книги, так это то, что успех классных компаний порой очень прозаичен – он зависит не от гениальности основателей, а скорее что им повезло: они были в нужное время в нужном месте, сделали несколько достаточных для успеха шагов, и у них «все получилось». Впрочем, никакое везение не поможет без постоянной работы и драйва.

Advertisements

Written by Dmitri

22 августа 2010 в 20:23

Опубликовано в .NET, Books

комментариев 13

Subscribe to comments with RSS.

  1. «Следует понимать, что поскольку F# продолжает хоть немного, но меняться, книга эта чуток устарела»
    Простите за нескромный вопрос, но вы точно описываете книгу “Expert F# 2.0”? Потому что она вышла из печати только в июне этого года и покрывает последнюю версию F# (2.0, April 12, 2010).
    У меня возникло ощущение, что вы перепутали редакции книги: первое её издание, также написанное Доном Саймом, называлось просто “Expert F#” (выпущено в декабре 2007) и на данный момент действительно значительно устарело.
    Для сравнения:
    http://www.apress.com/book/view/1590598504
    http://www.apress.com/book/view/1430224312

    morhetz

    22 августа 2010 at 21:51

    • Неа, я описываю первую книгу. Стоп, я же это упомянул прямо в отзыве! :)

      Моя рецензия касается 1й редакции книги.

      Вторую редакцию не смотрел т.к. не было еще шанса выпросить эту книгу у Apress. Покупать самому не захотелось из-за вот этого отзыва. Как я понимаю, он не верен?

      Dmitri

      22 августа 2010 at 23:52

      • Оах, приношу свои извинения. Вечер воскресенья всё-таки, взглядом пропустил это замечание.
        С отзывом я скорее соглашусь в заключительном выводе “if you do own the old book don’t waste your money on this new rendering”. Разница между редакциями невелика, что впрочем вполне объяснимо — это просто новое (обновлённое) издание той же книги.
        Adam Granicz вполне точно описывает все отличия вот здесь: http://bit.ly/bhYb2a
        При желании ознакомится могу отправить вам вторую редакцию email’ом

        morhetz

        23 августа 2010 at 0:59

  2. Спасибо за хорошие рецензии, особенно заинтересовали книго по F# И Parallel Programming

    Сергей

    22 августа 2010 at 21:52

  3. Классно пишете отзывы, спасибо!
    Пусть будет побольше таких «нетипичных» постов ;)

    Вячеслав

    22 августа 2010 at 23:20

  4. Begging Scala — а что это Scala умоляет кого-то? Все же может ‘Beginning’?

    Founders at work — неплохая книга, но уж очень неровная. Читать интервью Возняка на 30 страниц, где он постоянно говорит о чипах (без уточнений), несколько занудно. Но все же она намного лучше, чем Coders at work — такой же примерно набор интервью с известными программистами.

    pennanth

    23 августа 2010 at 7:26

    • Название пофиксил — спасибо. А мне вот после Founders at Work как-то Coders at Work и не хочется особо читать. То ли дело вот эта книга. Это — эпичный фан. Хоть и не связан толком с программированием, но по формату похож на «.. at Work».

      Dmitri

      23 августа 2010 at 10:33

  5. А откуда книги? Amazon?
    И не было опыта с электронными читалками?

    Alex

    25 августа 2010 at 12:55

    • Книги либо бесплатно получаю либо с amazon.co.uk

      Dmitri

      25 августа 2010 at 20:35

  6. […] книги издательства Manning. По сравнению с Apress (см. предыдущий обзор), издательство Manning Publications печатают книги совсем […]

  7. […] Читать далее>> Posted in Личное « Ревью нескольких .Net-ориентированных книг от Manning You can leave a response, or trackback from your own site. […]


Оставить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: