Cписок книг, которые возможно будут интересны другим программистам
Эти книги не являются учебным пособием по какому-то конкретному языку программирования, в них практически нет больших листингов кода, описания API и другой технической информации.
В них можно научится другому — интуитивному пониманию вещей, осознанности своих действий. Чтение таких книг может изменить Ваш подход и отношение к программированию. Обучение новому языку программирования или технологиям превратится из вызова, испытания воли и интеллекта, в процесс аналогичный изучению инструкции от нового телевизора или сборки IKEA-вского шкафа. Вы учитесь не столько самому программированию, сколько КАК надо программировать, учиться, жить. Вы начинаете постигать дао программирования.
Итак, приступим к обзору.
Алан Картер (Alan Carter) и Колстон Сэнджер. Программистский камень.
Классика жанра. Описывается противостояние Mapper vs Packer (Картостроители против Паковщиков). Интрига занятней чем Хищник против Чужих (или Протосы против Зергов).
… Классическое поле сражения картостроителей с паковщиками в программировании состоит в том, что картостроители видят, что с тем, что они узнали, повторная реализация может быть сделана быстрее и не будет страдать от проблем сопровождения, вырисовывающихся в существующем коде. Паковщики видят, что картостроители безумствуют, пытаясь разгромить всю их работу (как будто нет резервной копии) и повторить работу нескольких последних месяцев, которые были ужасны, поскольку они, очевидно, не знали, что они делали (они хранят изменяющиеся вещи). Паковщики настраивают одного из своих защитников остановить картостроителей, и организация вынуждена забыть о достигнутом понимании, которое не может быть использовано в контексте существующего кода…
В книге автор пытается объяснить как работают мозги у разных программистов, как осуществляется программирование в целом и многое многое другое.
Читать обязательно!
![Как пасти котов](http://www.ozon.ru/multimedia/books_covers/1000271220.jpg)
Даже если Вы еще не являетесь руководителем и в глубине души убежденный пацифист, то вам все равно стоит прочитать эту книжку. Из нее Вы узнаете о разных “породах” программистов: конструктивист, инженер, волшебник, разгильдяй, тормоз и другие (всего около 15). Возможно узнаете себя. Поймете какие подходы используют Ваши начальники, чтобы манипулировать Вами. Ведь для того чтобы противостоять манипуляции, нужно её распознать, а в этой книжке очень хорошо все расписано.
В том случае, если из Вас сделали начальника, то прочитаете какие ошибки не следует допускать в первую очередь.
Книга легкая, написано с юмором, не плохо подходит например для метрочтения.
Фредерик Брукс. Мифический человеко – месяц или Как создаются программные системы
![Фредерик Брукс Мифический человеко-месяц](http://www.ozon.ru/multimedia/books_covers/1001687399.jpg)
Фундаментальный труд. Наверное один из самых цитируемых в сфере разработки программного обеспечения. Очень полезно иметь под рукой эту книгу, чтобы в нужный момент тыкнуть объяснить начальнику (не программисту) почему его планы ошибочны. Почему измерять в человеко-часах объем работы не разумно. В книжке есть очень наглядные диаграммы и с пояснениями, например такие:
![mithsoftware_pic2_4](http://programador.ru/wp-content/uploads/2010/07/mithsoftware_pic2_4.png)
… Для трех работников требуется втрое больше попарных общения, чем для двух, для четырех – вшестеро. Если помимо этого возникает необходимость в совещаниях трех, четырех и т.д. работников для совместного решения вопросов, положение становится еще хуже. Дополнительные затраты на обмен данными могут полностью обесценить результат дробления исходной задачи и привести к положению, описываемому рисунком.
Поскольку создание программного продукта является по сути системным проектом – практикой сложных взаимосвязей, затраты на обмен данными велики и быстро начинают преобладать над сокращением сроков, достигаемым в результате разбиения задачи на более мелкие подзадачи. В этом случае привлечение дополнительных работников не сокращает, а удлиняет график работ …
Книга содержит в себе солидное количество различных фактов о разработки ПО, графики, диаграммы и даже формулы. Очень полезное чтиво.
![Путь камикадзе](http://www.ozon.ru/multimedia/books_covers/1000197928.jpg)
Оригинальное название книги “Death March”, то есть смертельный марш. Определение “Death March” взято из американской истории Второй Мировой Войны. Такое название получили трагические переходы американских солдат, взятых в плен японцами, по тропическим джунглям. Во время этих переходов большая часть военнопленных заболевала или погибала. Другими словами переведенное название “путь камикадзе” не совсем подходит к этой книги. Военнопленные которые идут в смертельном марше, это люди подневольные, как и программисты которые в силу обстоятельств пришлось впрячься в безнадежный проект, а камикадзе, как вы знаете, это японские добровольцы-смертники из специального ударного отряда „божественный ветер“ осуществлявшиеся самоубийственные атаки на врага. Так вот, в этой книге, не о том как осуществить программисткое самоубийство во имя великого проекта, а как попробовать выжить в нудном, затянутом и сложном проекте.
Полезная книжка, немного депрессивная, но она возможно убережет Вас от убийственных проектов, а если уж влипли, то выйти из них с наименьшем вредом для здоровья.
Том Демарко. Deadline. Роман об управлении проектами.
![Deadline. Роман об управлении проектами](http://www.ozon.ru/multimedia/books_covers/1000284950.jpg)
Беллетристика. По большому счету бульварное чтиво, но это не умаляет достоинство этой книги. Во-первых читается просто и улучшает настроение (особенно на контрасте с Йордоном), можно прочитать за один-два дня, как какую-нибудь фентезийную книжку.
Во-вторых показывает и разжевывает несколько простых правил в разработке ПО, которые почему-то многие до сих пор игнорируют.
Джоэл Спольски. Джоэл о программировании Joel on Software
![Джоэл о программировании Джоэл о программировании](http://www.ozon.ru/multimedia/books_covers/1000389765.jpg)
Я бы сказал, что это не книга, а сборник новелл о программировании. Написано очень живым языком, читать одно удовольствие. Главы слабо зависимы друг от друга и содержат истории, которые интересны сами по себе и могут быть прочитаны в любой последовательности. Как сказки Шахеризады или серии Футурамы . Это Вам не Ф. Брукс, где на второй половине книги начинаешь пробиваться к финалу сквозь наукоемкие формулировки и тяжеловесные академические языковые конструкции. Джоэл пишет ярко и по делу, для тех кто не знает, на самом дела эта книжка основана на переводах некоторых статей из его блога.
Эрик Синк. Бизнес для программистов. Как начать свое дело.
![Бизнес для программистов. Как начать свое дело](http://www.ozon.ru/multimedia/books_covers/1000782976.jpg)
Книга которая заставляет задуматься. Программист, который работает в фирме, видит лишь одну сторону медали. В этой книге дается представление о программирование с точки зрения бизнеса. Это несколько другой мир. Мне было любопытно, поскольку я читал эту книжку после завершения обучения по программе mini-MBA и многие вещи были для близки. Но даже дело не в этом. Книга содержит много интересных историй из жизни программисткой фирмы, читать которые одно удовольствие. А если вдруг окажется, что Вы достаточно смелы и амбициозны, чтобы начать свое программисткое дело, эта книжка будет Вам полезна.
Приятного чтения!