Очередные десять прочитанных книг

25 марта 2013

Данная заметка содержит краткие рецензии на десять книг, прочитанных мною за последние два месяца. Преимущественно это были книги о функциональном программировании, PostgreSQL и Git. Со списком из предыдущих десятки книг вы можете ознакомиться здесь.

Регулярные выраженияРегулярные выражения
Фридл Дж.

Великолепная книга, полностью посвященная регулярным выражениям. Бесспорно, является одной из тех, которую любой программист должен прочитать и держать в качестве настольного справочника. С ее помощью вы не только познакомитесь с синтаксисом регулярных выражений, но и узнаете о том, как они реализованы в различных языках программирования и приложениях, почему одни регулярные выражения работают быстрее других, а также многое, многое другое.

Git MagicGit Magic
Lynn B.

Честно говоря, это скорее даже не книга, а брошюрка на сорок страниц. Однако эта самая брошюрка является замечательным введением в систему управления версиями Git. Содержит описание основных команд и примеры их использования. Мало теории, много практики. Если к вам в команду пришел новый программист, которому никогда раньше не доводилось работать с Git, обязательно дайте ему прочитать эту книгу.

Pro GitPro Git
Chacon S.

А вот если вы уже долгое время работаете с Git и не понимаете, как вообще когда-то могли жить без него, то эта книга для вас. Благодаря «Pro Git» вы узнаете, как работает Git, в каком формате он хранит информацию о коммитах и ветках, почему нельзя объединить несколько коммитов с последним без изменения его хэша, а также многое другое.

Однако следует отметить, что когда несколько человек сказали мне, дескать эта книга просветляет, у меня возникли сомнения, одну и ту же ли книгу мы читали. Книга, бесспорно, интересная и полезная, но что-то ничего просветляющего я в ней не нашел.

Developing Applications With Objective CamlDeveloping Applications With Objective Caml
Chailloux E., Manoury P., Pagano B.

Хорошая, годная книга о языке программирования OCaml. Немного старовата, местами слишком нудная (бывает, что автор разжевывает совершенно очевидные вещи), но в целом годная. Если вам в силу каких-то причин требуется познакомиться с OCaml, самое то. С другой стороны, в последнее время я склонен сомневаться, что в 21-ом веке имеет смысл изучать OCaml. В общем, не факт, что эту книгу следует читать.

Структура и интерпретация компьютерных программСтруктура и интерпретация компьютерных программ
Абельсон Х., Сассман Дж. Дж.

Да-да, я лишь совсем недавно осилил SICP. Книга занятная. Содержит много разных задачек, материалы по разработке компиляторов, описание нескольких способов вычисления числа π и другие интересные вещи. Все это с примерами кода на Scheme. Чтобы книга была интереснее, авторы разбавили ее разными приколами. Например, вымышленными именами в стиле Лиза П. Хакер, Ева Лу Атор, Дайко Поправич и тп, а также сносками типа «Размышления о значении true? расширяют наше сознание безотносительно к материальной сущности истины».

Книга хорошая и читается преимущественно легко (ближе к концу там начинается жесть), однако я определенно не понимаю людей, которые называют ее книгой всех книг, которая учит буквально всему и которую нужно перечитывать снова и снова до достижения полного просветления. Да, она не столько о Scheme, сколько о разработке в целом, о том, как разбить сложную задачу на множество маленьких и так далее, но дальше-то что? Как я считаю, вы не много потеряли, если никогда не открывали эту книгу.

PostgreSQL для профессионаловPostgreSQL для профессионалов
Уорсли Дж., Дрейк Дж.

Книга примерно наполовину состоит из пересказа официальной документации и манов. С нудным разбором всех лексем, которые могут встретиться в SQL-запросе, всех флагов, которые имеют программы, и прочим в этом духе. Еще примерно восьмая часть книги посвящена JDBC и еще восьмая — описанию никому не нужного проприетарного аналога PHP с XML-подобным синтаксисом, разработанного автором книги. К счастью, в отдельной главе.

Оставшаяся четверть книги вроде неплоха. Правда, все это в контексте старенького PostgreSQL 7.1. Тема репликации, оптимизации SQL-запросов и других интересностей не раскрыта. Также был замечен забавный ляп в стиле «такие языки функционального программирования, как Си и PL/pgSQL». В целом, моя оценка — три с большим жирным минусом.

UNIX --- универсальная среда программированияUNIX — универсальная среда программирования
Керниган Б.В., Пайк Р.

А вот удивительный пример книги, опубликованной аж в 1983 году (в русском переводе — в 1992 году) и не потерявшей своей актуальности по сей день. Конечно, если не считать пары милых моментов, вроде разъяснений того, как настроить контроль четности у терминала и что, возможно, он позволяет вводить только заглавные буквы.

Книга повествует о программах, доступных в UNIX, написании шелл-скриптов, программировании на Си и использовании инструментов типа lex. Очень, очень хорошая книга.

Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd EditionProgramming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition
Odersky M., Spoon L., Venners B.

Прекрасная книга, посвященная языку программирования Scala. Очень интересная, не слишком заумная, не слишком примитивная. Ровно то, что нужно. Сначала нам дается общее представление о возможностях и синтаксисе языка, затем начинается постепенное углубление в различные его особенности с объяснением, почему сделано именно так и где это нужно. Явно не годится на роль первой книги о программировании. Да и сама Scala, думается, не лучший выбор в качестве первого языка программирования.

Actors in Scala: Concurrent Programming for the Multi-core EraActors in Scala: Concurrent Programming for the Multi-core Era
Haller P., Sommers F.

Тоненькая книжечка, посвященная акторам в Scala 2.8. Безнадежно устарела. Если только в обозримом будущем вам не предстоит переписывать старый код на Scala, не следует ее читать. Также меня смутил ляп в самом начале книги типа «в некоторых языках программирования, например, Erlang, все, включая типы Int и String, является акторами». После такого очень хочется захлопнуть книгу. Или, быть может, я просто чего-то не знаю об Erlang’е? Вы меня тогда поправьте, пожалуйста.

Работа с PostgreSQL: настройка и масштабированиеРабота с PostgreSQL: настройка и масштабирование
Васильев А.

Хорошая, хотя и несколько специфическая, книга. Содержит инструкции по настройке PostgreSQL с целью повышения производительности, обзор большого количества расширений PostgreSQL и инструментов для администраторов данной СУБД. Распространяется бесплатно. Я бы не сказал, что она представляет собой большую ценность для программистов. С другой стороны, учитывая бесплатность и малый объем книги, прочитать ее как минимум не повредит. И автор в любом случае молодец, побольше бы таких людей.

Вот такие книги я читаю. И кстати, я тут открыл для себя покупку книг на Amazon’е и спешу сообщить вам, что это прекрасно! Почему я раньше им не пользовался? Здесь вы можете посмотреть мой вишлист. В него я заношу книги, которые, вероятно, захочу прочитать в ближайшем будущем.

А что интересного вы прочли в последнее время?

Дополнение: Третий десяток прочитанных книг и журналов

Метки: .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.