Прочитанные мной книги
О сколько нам открытий чудных Готовят просвещенья дух И Опыт, [сын] ошибок трудных, И Гений, [парадоксов] друг, [И Случай, Бог изобретатель]
А.С. Пушкин
Живи будто завтра умрешь, учись будто будешь жить вечно.
Махатма Ганди
У умных большие библиотеки. У глупых большие телевизоры.
Поговорка
По статистике 80% программистов не читают профильных книг. По той же статистике продуктивность лучших программистов больше чем у худших в 10 раз. Пусть я никогда не буду лучшим программистом, но по крайней мере я стараюсь не пристать к худшим.
В книгах содержится информация которую вы не получите никаким другим способом.
Программирование, проектирование
The Humble Programmer, Edsger Dijkstra
Чтение этой небольшой статьи не займёт много вашего времени, но откроет перед вами одну из фундаментальных проблем – человеческую ограниченность, и способ как с этой проблемой бороться.
On the Criteria to Be Used in Decomposing Systems into Modules, Parnas
Совсем крохотная статья, но очень полезная для всех программистов. Обязательно прочтите. Она вооружит вас важным и полезным принципом.
Object Oriented Analysis and Design, Grady Booch
Название очень ясно описывает содержание: книга об объектно-ориентированном анализе и дизайне. Если вы думаете, что знаете ООП, но не знаете что такое ООАД, значит ООП вы тоже не знаете. Без анализа и дизайна объектно-ориентированного программирования не существует.
Очень годная книга и она (или подобная ей) обязательно должна быть прочитана.
Code Complete, Steve McConnell
Книга для программистов о кодировании. Масса времени (до 80%) уходит на поддержание проекта. Грамотно оформленный код позволяет радикально облегчить эту задачу.
Возможно она могла быть и короче, но тем не менее очень ценная книга. Она должна быть прочитана.
UML Distilled, Martin Fowler
Если вам нужно быстрое введение в UML, то эта книга как раз подойдёт. Коротко, по существу и без снобизма. Рекомендую.
201 Principles of Software Development, Alan M. Davis
Книга обзорная, но неплохая. Одна страница на каждый принцип, который сопровождается ссылкой на книгу, из которые он извлечён.
Closure, The definitive guide, Michael Bolin
Эта книга не что иное как введение в такой замечательный инструмент для разработки javascript приложений среднего и высокого уровня сложности: Google Closure. С помощью этого инструмента написаны такие приложения как Google Mail и прочие их продукты.
Книга доступная и в общем-то доходчива и даст хороший старт в этой области. Для достижение же уровня эксперта по Google Closure необходимо тщательное изучение исходного кода. Я давно не видел библиотеки которая была бы снабжена таким обилием комментариев.
Моё знакомство с этим инструментом началось с просмотра доклада «JavaScript Programming in the Large with Closure Tools» на конференции Google I/O 2011.
Также для меня ценным оказались приложения, особенно то, в котором указаны недостатки функционального метода организации наследования из книги «JavaScript: The Good Parts» by Douglas Crockford.
Хорошая книга. Спасибо, Майкл.
Bug Patterns In Java, Eric Allen
Главный и единственный тезис книги можно передать одним предложением: все проблемы от дублирования кода. Содержание книги полностью состоит из обзора возможных симптомов нарушения этого правила.
ZeroMQ, by Pieter Hintjens
Книга посвящена использованию библиотеки ZeroMQ в программных продуктах. Хотя разработка сетевых протоколов не является моей специализацией, но почитать всё равно было интересно.
Считаю, что автору нужно было более детально описать различие шаблонов библиотеки, хотя код библиотеки (написана на C) читается очень легко.
Web Development with Zend Framework 2, Michael Romer
Неплохое введение для программиста знакомящегося с Zend Framework. Даёт представление об главных компонентах библиотеки, связях между ними. Достаточно ссылок на сторонние вспомогательные проекты и практики.
Проста, практична и понятна. Может быть потому, что написана немцем.
The Pragmatic Programmer, by Andrew Hunt, David Thomas
В книге рассмотрены основные принципы разработки программного обеспечения, тестирования, сбора требований. Получается что обзорная.
Вся информация, которую вы найдёте в этой книге, уже будет у вас если вы читали остальные книги этого раздела. Вроде бы смысла читать нет, но книга неплохая. Повторение – мать учения.
Scrum and XP from the Trenches, Henrik Kniberg
Для начала, эта книга неправильно называется. Её следовало бы назвать «Как в нашей компании построен скрам». Это не передовая. Это текущей состояние дел конкретно у них. Эта книга не о скраме как таковом, а лишь описание в какой форме он у них существует.
О пользе книги судить трудно, т.к. после прочтения я посмотрел свои записи, которые делаю по ходу чтения, и увидел что их не много и они не такие уж значительные. Я думаю, что книга пригодится тем, кто только в теории знаком со скрамом. Книга от первого лица поведает какие проблемы ожидают вас впереди. От себя только добавлю, что мы в нашей реализации тоже шли по тем же стопам.
Перед прочтением вы уже должны иметь представление о скраме, иначе книга будет пустым звуком. Опытным скрамщикам эта книга скорее всего ничего не даст.
Примечание
Книга переведена на русский язык: Scrum и XP: заметки с передовой.
Domain-Driven Design: Tackling Complexity in the Heart of Software, Eric Evans
Считаю эту книгу наиважнейшей для программиста. Столько прояснилось и встало на свои места в моей голове после прочтения этой книги. Слои и взаимодействия между ними, репозитории и аггрегаты. Все представленные принципы имеют прямое практическое применение и так важны для построения целостной и гибкой системы. Вы просто обязаны прочитать её.
Maintainable JavaScript, Nicholas C. Zakas
Книга доведёт о практиках способствующих работе команды над проектом. Подойдёт начинающим и среднего уровня разработчикам. Профессионалам эта книга ничего не даст.
PHP Beyond the web, Rob Aley
Книга о не профильных (не веб) аспектах программирования на PHP. Неплохая книга. Узнал несколько новых трюков и особенностей. Книга на половину состоит из ссылок на библиотеки и расширения PHP. К сожалению некоторые из этих библиотек уже не развиваются.
HTML5: Up and Running, Mark Pilgrim
Не сказать что какая-то особая книга, но подтянет ваши знания по нововведениям в HTML если вы отстали. Я нашёл для себя несколько ньюансов которые не знал.
Flex & Bison, John Levine
Это переиздание другой его книги: «lex & yacc», но та содержит много ссылок на устаревшие реализации. Хотя и схожа содержанием с этой.
Книга неплохая для начинающих. Вроде бы ставит многое на своим места. Однако разобраться вот так сразу без обращения к руководствам flex и bison, а так же без постоянных попыток проверить прочитанное, вряд ли удастся. Пришлось вспоминать как программировать на Си.
Чего, как мне кажется, не хватает в этой книге, так это ссылки на современные практики по управлению памятью в Си. Много места эта информация не заняла бы, а вот пользы от неё было бы много, т.к. выделение памяти через strdup, как это показано в книге, сулит очень много проблем с отслеживанием подлежащей освобождению памяти.
Version control with git, Jon Loeliger
Я уже знал кое-что о git, но некоторые белые пятна ещё оставались (и остаются по сей день). Эта книга помогла поближе познакомиться с git, познакомила с неизвестными для меня командами, решениями часто встречающихся проблем. Книга неплохая, но не является исчерпывающим источником информации по инструменту.
Dart: Up and Running, Kathy Walrath and Seth Ladd
Очень короткое введение в синтаксис языка. Показаны некоторые подводные камни при транслировании кода в Javascript. В этой книге не освещён вопрос перспективности языка и преимуществ его использования перед другими подобными решениями. Но от себя могу сказать, что ClojureScript выглядит куда более многообещающим.
Facts and Fallacies of Software Engineering, Robert L. Glass
Книга обзорная, но хорошая. Во-первых, она короткая, написана чётко и ясно. Во-вторых, написана практиком. То есть книга о реальных вещах, а не призрачных многообещающих технологиях.
Эта книга не о программировании (на каком-нибудь языке), а об ремесле в принципе: что работает, что не работает и почему. Я для себя открыл несколько новых фактов, а некоторые вспомнил, и как вовремя. Кроме того дан отличный список литературы. Не сказать, что книга первостепенной важности, но по приоритету я бы поставил её ближе к верху.
R in action, Robert I. Kabacoff
Язык R мне показался очень интересным и в плане решения математических задач его высокоуровневыми вызовами и графическими возможностями представления данных. Книга в этом знакомстве мне очень помогла своей лёгкостью изложения. Языку посвящены первые шесть глав. Остальные главы посвящены применению статистических методов.
Эта книга не научит вас статистике. Если вы не изучали статистику в институте или по другим книгам, то вторая половина книги (с седьмой главы) вам ничего не даст. Я эти главы пропустил.
Основная цель книги – как можно быстрее дать возможность статистику перейти к анализу данных, не вдаваясь в тонкости языка (для этой цели больше подойдёт официальное руководство). Это книга не для программистов как таковых, но для знакомства с языком и его возможностями подойдёт.
Patterns Of Enterprise Application Architecture, Martin Fowler
Книга в общем хорошая, но к моменту прочтения я почти все паттерны уже знал. Хотя прочтение лишним не оказалось, книга больше нацелена на младший и средний программистский состав. Для чего хороша эта книга:
Для усвоения "маленьких" ньюансов, которые есть всегда
Для общения с коллегами с помощью устоявшихся терминов, коими являются паттерны
Для отсылки на неё новичков: "делаем так".
Хороший список литературы
Growing Object-Oriented Software Guided by Tests, by Steve Freeman, Nat Pryce
Это замечательно написанное практическое введение в TDD. Дана не только информация о принципах написания тестов и классов, которая сама по себе очень познавательна, но и ход мыслей разработчика. Если тесты направляют разработку, то программировать гораздо легче.
Я очень жалею, что не прочитал эту книгу раньше, так хороша.
Building Microservices, by Sam Newman
Книга обзорного плана, вообще, так сказать. Конкретики не то, чтобы совсем нет, но мало. Мне кажется если сделать её в четыре раза короче, она от этого только выиграет. Книга даст вам общее представление о микросервисах, принципах их построения и некоторых вспомогательных инструментах.
Я оцениваю её как среднюю.
Clojure
Clojure и ClojureScript очень интересный инструмент и удобный прагматический язык. Я прочитал две книги для начинающих: Programming Clojure: Second Edition, Stuart Halloway и Clojure for the Brave and True, Daniel Higginbotham. Книги неплохие, но есть другая, гораздо лучшая: Clojure Programming, Chas Emerick. Её и надо читать.
Язык программирования Go, Донован, Керниган
Годится для самостоятельного изучения. Язык хорош своей быстротой и простотой. С непривычки некоторые моменты раздражают.
Для сравнения один свой домашний проект я писал на PHP, Clojure и Go. Если брать время работы программы на Go за единицу, то на Clojure будет 2, а на PHP – 10.
Test Driven Development, Kent Beck
Книга о том, как нужно писать свои программы. Если лень читать, то посмотрите серию лекций Роберта Мартина из серии «Clean code». Он понятно и нескучно объясняет.
Object-Oriented Software Engineering, Ivar Jacobson
Кажется эта лучшая книга по предмету, которые мне приходилось читать, хотя его нападки на FP не считаю обоснованными.
Working Effectively with Legacy Code, Michael Feathers
Всем нам приходится поддерживать старые системы и всем нам это доставляет мало удовольствия. Книга объясняет как в старые системы впилить тесты.
Математика
How to Measure Anything, Douglas Hubbard
Мне уже какое-то время хочется познакомиться поближе со статистикой, но все учебники, которые попадались до сих пор, были написаны в сильно перегруженным непонятными для меня фразами.
Эта книга – совсем другое дело. Непонятные для обывателя моменты она прячет, конечно и не абсолютно всё мне стало ясно, но зато она написана понятным человеческим языком. На живых примерах показано как применить некоторые статистические приёмы.
Mastering Predictive Analytics with R, Rui Miguel Forte
Очень понятное введение в искуственный интелект. Надо сказать, что книга раскрыла мне глаза на эту область знания и развеяла некоторые имевшиеся у меня мифы.
Базы данных
SQL Antipatterns, Bill Karwin
Книга рассматривает часто встречающиеся ошибки разработчиков баз данных, а так же даёт решения некоторых часто встречающихся задач, например, иерархические структуры. Очень полезная книга.
NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence, Sadalage, Martin Fowler
Книга задумана как быстрое, но поверхностное введение в область технологий объединённых термином NoSql. Мне кажется книга своей цели достигла. Общее представление я получил и теперь, если возникнет необходимость, буду способен принимать более-менее осознанные решения.
Redis in Action, by Josiah L. Carlson
Мне книга понравилась. Во-первых, быстрым введением в инструмент (а Redis очень интересный инструмент). Во-вторых, примерами решением задач, которые расширили мой горизонт возможного.
Есть недостаток: код примеров написан на Питоне. Я не очень люблю этот язык.
High Performance MySQL, 3rdEdition
Книга мощная, многогранная и нужная для прочтения. Есть у неё недостаток – она устарела. Многие советы уже неработают для новой версии MySql. Ждите следующего издания или читайте выборочно нужные главы.
MongoDB The Definitive Guide, Kristina Chodorow
Адекватное введение в предмет, но и без раскрытия трюков.
Управление проектами
Mastering the Requirements Process, Robertson, Robertson
Книга о бизнес-анализе. Это не управление и не программирование, но прочитать этот труд я рекомендую и программистам, и будущим менеджерам. Ведь по статистике 75% проектов проваливаются именно из-за неправильно проведённого (или вообще не проведённого) бизнес-анализа.
Весьма и весьма ценный материал.
The Mythical Man-Month, Fred Brooks
Классика. Почти все остальные книги по менеджменту будут ссылаться на этот труд. Читается и усваивается легко.
Writing Effective Use Cases, Cockburn
Замечательная книга о том, как грамотно и эффективно составлять use case. Очень полезный навык.
Software Project Survival Guide, Steve McConnell
Книга обзорного характера, но неплохая. Вы не сможете управлять проектами прочитав книгу, но получите общее представление об этой работе и список книг, которые помогут освоить это ремесло. Список книг, наверное, самая жирная её часть.
Peopleware, DeMarco and Lister
Вы не подходите к печке и не говорите ей: «Ты согрей меня, а потом я положу в тебя дрова». Так же и с управлением. Эта книга об Управлении. О том, что нужно делать, чтобы работа двигалась вперёд.
Обязательно прочитайте. Без неё вы не сможете понять свою работу.
97 Things Every Project Manager Should Know, Barbee Davis
Обзорная. В общем-то книги такого плана не обладают глубиной, поэтому рекомендовать их к прочтению смысла нет. Если вы читали книги про agile технологии и по сбору требований, то ничему новому она вас не научит.
Я только что сэкономил вам кучу времени.
Waltzing With Bears: Managing Risk on Software Projects, Tom DeMarco, Timothy Lister
Об управлении рисками проекта. Можно свято верить, что на пути вашего проекта не будет никаких препятствий, что вы выполните его вовремя и в рамках выделенного бюджета, но бывает так, что непредвиденные обстоятельства (или жизнь, другими словами) вмешиваются в эту идиллию. Книга не защитит от возникновения таких событий, но покажет вам способ как с такими ситуациями обходиться.
Хорошая и полезная книга. Обязательна к прочтению.
How to Run Successful Projects II: The Silver Bullet, Fergus O'Connell
После беглого просмотра мне показалось что эта книга будет очень тяжёлой, но в действительности вышло наоборот. Книга очень легко читается и воспринимается. Это не означает, однако, что не придётся шевелить мозгами.
Обязательна к прочтению, но мне кажется нужным отметить, что при управлении программными проектами предварительно желательно ознакомиться с «Mastering the Requirements Process», т.к. автор упоминает об этом вскользь, и может показаться, что это нечто неважное.
Также будет интересно посмотреть на метод, предлагаемый автором, с позиции agile. В сравнении информация легче и живее воспринимается. Есть о чём подумать.
После прочтения этой книги вы сможете управлять проектами.
Пять языков любви, Гари Чапмен
Автор делит всех людей по предпочтениям в способах выражения признательности. Хотя книга ориентирована в первую очередь на семейные пары, её прочтение будет также полезно менеджерам.
Путешествия и туризм
The South Pole, Roald Amundsen
Захватывающая книга о путешествии на Южный Полюс. Мне книга так понравилась, что я даже написал в отдельной статье на неё рецензию.
Winter Camping, Stephen Gorman
Базовые знания о зимних походах. Ходить в зимние походы так сразу после прочтения вы не сможете, но хотя бы будете знать в каком направлении нужно работать.
Beyond Backpacking: Ray Jardine's Guide to Lightweight Hiking, Ray Jardine
Книга о легкоходстве. Если вы не знаете что это такое, то прочтите статью о легкоходах. Очень важное направление в туризме.
The Personal Life of David Livingstone, by William Garden Blaikie
Эта книга произвела на меня очень сильное впечатление. Может быть не такое сильное как «Великая борьба», но всё же. Давид Ливингстон всю жизнь свою посвятил миссионерскому труду, а потом и географическим исследованиям в Африке. Там же положил свою жизнь.
Осознание того с какими трудностями приходилось сталкиваться этому путешественнику, каких трудов стоило каждое действие, какая угроза для жизни от людей, животных и болезней, особенно в сравнении с комфортом, которым нам посчастливилось наслаждаться, приводит в странное чувство своей малозначительности и пассивности.
Когда перед глазами встаёт образ Ливингстона, отпадает всякое желание жаловаться на свои лишения и тяготы.
Мои полярные путешествия, Трёшников
Книга про полярников, их жизнь и быт. Подробнее читайте рецензию.
Другое
Conceptual Blockbusting, James Adams
Книга о том, как решать задачи, особенно нестандартные. Есть несколько интересных идей. В общем неплохая книга.
Содержание книги вкратце: решения приходят после того как вы уже перестали думать о них в минуты отдыха; иногда самые лучшие решения кажутся не очень нормальными когда впервые попадают в поле зрения (в процессе мозгового штурма, например); не забывайте про табличный метод представления данных.
Networking for People Who Hate Networking, Devora Zack
Хорошая книга про интровертов и для интровертов, а так же тех, кто хочет их лучше понимать. Что может быть лучше, чем узнать свои (и чужие) сильные и слабые стороны и как это знание заставить работать на себя?
Вся картина, Бен Карсон, Грег Льюис
В первой части книги автор, детский нейрохирург, рассказывает о своём жизненном пути, за счёт чего его семье удалось выбраться из оков нищеты, а ему стать преуспевающим врачём с мировой репутацией. Очень жизненная и вдохновляющая книга.
Вторая часть книги посвящена проблемам системы здравоохранения и чёрного населения в США. Меня эта часть мало интересовала, поэтому её можно легко опустить.
Примечание
Выступление доктора Карсона на национальном молитвенном завтраке можно рассматривать как пересказ основных идей книги и к тому же очень легко смотрится, т.к. доктор не лишён чувства юмора.
Примечание
Бен Карсон написал ещё несколько книг, и они по-своему интересны: «Не бойся рисковать», «Мысли широко», «Золотые руки».
Великая борьба, Елена Уайт
Книга освещает историю Церкви, борьбу которую велась (и будет вестись) между добром и злом внутри неё начиная со времён первоапостольской Церкви, через мрачное средневековье в эру просвещения и протестантизма, а затем и отступничества последнего времени.
Пожалуй это самая яркая, торжественная и захватывающая книга которую я читал за всю жизнь.
Договориться можно обо всём, Гевин Кеннеди
Книгу, в чём-то наивную, в чём-то с подвохом, я всё равно советую прочитать. Особенно программистам, которые на работе могут горы сворачивать, а в жизни словно дети малые. Есть в ней немало жизненных советов о торговле. А торговаться нам всем приходится в этой жизни, хотим мы этого или нет.
Man's Search for Meaning, Viktor E. Frankl
Это очень короткая, интересная и поучительная книга. Обязательно прочтите. Её написал заключённый концлагеря Аушвиц. Он выжил и написал эту книгу. Интересных мыслей много, но самые главые такие:
Часто более сильные не переживали более слабых, но имеющих более богатый внутренний мир.
Не человек должен спрашивать в чём смысл жизни, а жизнь у человека, в чём смысл его жизни? Человек сам должен наполнить свою жизнь смыслом.
В неизбежных страданиях тоже есть смысл, хотя мы его не понимаем.
d'Sozo, David Fiedler
Очень захватывающая книга о докторе Келлоге и его грустном финале. Читается как детектив. Рекомендую.
В планах прочитать
Что-нибудь по scrum-методике. Пока не определился. Сначала хотел взять книгу Alistair Cockburn, но она не переиздавалась уже много лет, поэтому засомневался. Посоветуйте.
«The Goal», Elihu Goldratt
Great Second Advent Movement, John N. Loughborough
- Дата публикации:
- 23 декабря 2012
- Дата последнего обновления:
- 27 ноября 2017
Комментарии
Прежде чем оставить собственный комментарий, убедитесь, пожалуйста, в том, что вы ознакомились с политикой сайта.
Добавить комментарий
Ваше сообщение было успешно отправлено.
Я отвечу вам как только представится такая возможность.
Спасибо за ваш интерес и хорошего дня.
Ошибка
Ваше сообщение не было отравлено по причине сбоя в программе.
Мне очень-очень жаль.