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

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

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

Git Magic Git Magic
Lynn B.

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

Pro Git Pro Git
Chacon S.

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

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

Developing Applications With Objective Caml Developing 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 Edition Programming 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 Era Actors 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’е и спешу сообщить вам, что это прекрасно! Почему я раньше им не пользовался? Здесь вы можете посмотреть мой вишлист. В него я заношу книги, которые, вероятно, захочу прочитать в ближайшем будущем.

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

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

EnglishRussianUkrainian