Изд. ДМК Пресс, 2007
Стр.: 688

Ну вот мы и дожили до выхода первой русскоязычной книги по этому замечательному языку. Наткнулся я на нее случайно где-то неделю назад, сокрушаясь по поводу отсутствия русскоязычной печатной литературы по Ruby. В поисках подтверждения этого прискорбного факта, я зашел на сайт СПРКИМКРН (Самого Популярного Российского Книжного Интернет-Магазина, Которому Реклама не Нужна) и ввел в строку поиска "Ruby". Удивился, ага.
Только ее не было в продаже. Еще. Или уже. Поскольку книга вышла из печати совсем недавно, пришел к выводу, что все-таки еще. Ранним утром прошедших суток, маясь от безделья и бессонницы, зашел на СПРКИМКРН повторно, но на сей раз повезло: книжка появилась в продаже (то есть появилась цена), а еще оказалось, что на складе в Санкт-Петербурге имеется единственный экземпляр, отгрузка которого начнется в тот же день.
Значит перевод «Programming Ruby». Электронная версия англоязычной "Киркомотыги" от Прагматичных программеров, как ее называют "в народе", у меня была, и по мнению опытных рубистов это - "Ultimate book (The)" (Библия вроде как). Стоп. Что-то имя автора не то. Откопав в сети сайт Хэла Фултона, осознал, что никакой «Programming Ruby» он не писал, да и к Прагматичным программерам отношения не имеет. Зато имеет в своем портфолио весьма неплохую «Ruby Way».
Да, это все-таки перевод второго издания «Ruby Way», выпущенного за рубежом издательством Addison-Wesley. Интересно, что первоначально перевод назывался «Путь Ruby» - на 18-й странице так и написано: "Эта книга называется «Путь Ruby»". Видимо, в ДМК Пресс решили, что с таким названием книга не будет продаваться и в последний момент его изменили.
Обложка оригинальной версии, кстати, совсем другая. Эта же мне напомнила обложку книги "Искусство программирования для Unix" Эрика Реймонда, англоязычная версия которой была издана все тем же Addison-Wesley.
"Книга является полноценным руководством Ruby - ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby»". Так написано в аннотации. Во введении же прямо под заголовком «Как организована эта книга» есть такие строки: "Вряд ли вы станете изучать Ruby по этой книге. В ней не так уж много вводного и учебного материала. Если вы еще ничего не знаете о Ruby, то лучше начать с какой-нибудь другой книги". Вот это уже больше похоже на правду. Если вы планируете подобрать руководство "для самых маленьких/неопытных", то спешу порекомендовать вам "Учись программировать" Криса Пайна, первое издание которой есть в свободном доступе и для которого имеется очень даже неплохой перевод. Если же вы - опытный программист, то перед прочтением книги вам будет достаточно ознакомиться со статьей о Ruby на википедии. Хотя тем, кто не имел дела с объектно-ориентированными языками, рекомендую вместо статьи прочесть соответствующий викиучебник.
Первая глава, «Обзор Ruby», в достаточно сжатой форме излагает основы программирования на Ruby. Причем по большей части именно программирования, а не синтаксиса (хотя и это тут есть). Почти в самом конце главы на шестнадцати страницах размещен едва ли не самый полезный раздел всей книги - «Потренируйте свою интуицию: что следует запомнить». Это просто сборник фактов о многих аспектах языка, изложенных в конспективной форме. Опытным программистам читать и проникаться. Лучше несколько раз.
Надо сказать, что главы достаточно независимы - примеры в них редко требуют изучения других глав. Большая часть книги представляет собой нечто среднее между справочником и сборником рецептов. Однако ни на то, ни на другое книга не очень похожа. В каждой главе есть определенное количество вводного материала (но без "воды" и особых растеканий мысью по древу), и в этом отличие от сухих справочников и "поваренных книг", где уже на двадцатой странице вам покажут, как написать свой веб-сервер.
На мой взгляд, переводчик не всегда выбирал правильные аналоги для англоязычных терминов (относящихся к Ruby, само собой), но в целом с этой задачей он вполне справился. Да-да, это я придираюсь. В целом же перевод весьма хорош.
Не очень хорошо, что в текстах примеров используются строки с нелатинскими символами. Во второй главе есть такой пример:
Код: Выделить всё
str = "Шалтай-Болтай"
sub1 = str[7,4]
Лично у меня в sub1 сохранилось странное "аГђ" вместо положенного "Болт". Технический редактор мог бы подумать о том, чтобы вставить сюда сноску со ссылкой на четвертую главу, в которой рассказывается об интернационализации и кодировках. Но это не так важно, поскольку книга эта явно не для тех, кто вчера впервые увидел компьтер. А уж если вы программист, то подобные мелочи не должны вас пугать.
А вот зачем в книгу вставили раздел с обзором (пусть даже и очень кратким) сред программирования и редакторов, мне совершенно непонятно. Именно по той причине, из-за которой я назвал предыдущий недочёт не столь важным. Впрочем, то была ошибка переводчика или технического редактора, но никак не автора книги.
Резюмируюя, скажу, что очень жаль, что в издательстве перед принятием решения о переводе не прочли хотя бы введение (хотя думаю, что прочли, но не отнеслись к этому серьезно; но что поделать, бузинесс...), где автор говорит, что первое издание Ruby Way было второй изданной книгой о Ruby и дополняло уже упоминавшуюся тут "Киркомотыгу" (которая, соответственно, была первой). Нет, не подумайте, что здесь нет ничего из того, что есть в пособии прагматиков. Но первая часть их книги - это все-таки учебник, написанный очень доступным языком. А хорошего печатного учебника по Ruby на русском языке очень не хватает. И все-таки я очень рад, что для перевода выбрали достойную книгу, а не что-то из разряда "Ruby для чайников".