Десять программистских книг, которые потрясли мир

vini

Десять программистских книг, которые потрясли мир, но все еще неизвестны в России
Андрей Терехов, computer.org
Опубликовано: 19.4.2004
[list]
--------------------------------------------------------------------------------
© 2002, Издательский дом «КОМПЬЮТЕРРА» | http://www.computerra.ru/
Журнал «Компьютерра» | http://www.computerra.ru/
Этот материал Вы всегда сможете найти по его постоянному адресу: http://www.computerra.ru/hitech/33081/
--------------------------------------------------------------------------------
Список Андрея Терехова, как и любой субъективный список, довольно спорен, но мы публикуем его, потому что книги, о которых он пишет, действительно хороши и, к сожалению, малоизвестны у нас. Сам Андрей несколько лет преподавал в СПбГУ, и тот факт, что его кафедра дала России единственную команду, побеждавшую на студенческой олимпиаде по программированию АСМ, вполне может служить достаточной рекомендацией составителю. — В.Г.
Перевод книг на русский язык — процесс парадоксальный: переводчики тратят уйму сил, издатель печатает тираж и рассылает его по магазинам, а книга почему-то обходится читателю в два-три раза дешевле, чем оригинал. Я точно знаю, что на каком-то звене этой цепочки нарушаются фундаментальные законы физики, но до сих пор не могу понять, где именно. Впрочем, если б не это чудо, нам пришлось бы покупать книги на компьютерную тематику по 50 долларов за штуку, а при таких ценах, согласитесь, особо не разгуляешься.
Поэтому я очень обрадовался, когда в середине 1990-х российские и украинские издательства начали одну за другой штамповать переводные книжки по программированию. Случилось это, надо сказать, своевременно: российские авторы уже почти ничего не писали, а издания конца 70-х—начала 80-х, осевшие в библиотеках, мягко говоря, перестали удовлетворять. Вскоре я собрал неплохую подборку трудов по программированию (пришлось даже купить книжный шкаф).
Однако полному счастью мешало одно досадное обстоятельство: мои представления о том, какие книги достойны перевода, почему-то сильно расходились с мнением издателей. И за последние десять лет мало что изменилось. При желании за это время можно было собрать богатейшую коллекцию книг о программировании на всех версиях Visual Basic, начиная с 3.0 и заканчивая VB.NET, но действительно полезные можно было пересчитать по пальцам. Поэтому я взял за правило при поездках за рубеж посещать книжные магазины. Кстати, не могу сказать, что в заокеанских магазинах процент приличных книг на эту тему выше, чем в России, но американцы, как обычно, берут не умением, а числом: в США объем полиграфической продукции таков, что всегда можно найти книги, заслуживающие внимания.
Покупка любой книги на Западе — это Поступок, последствия которого приходится тщательно взвешивать. Поэтому многие магазины поощряют чтение книг «не отходя от кассы» — ставят в салоне кресла, продают кофе и вовсе не настаивают на том, чтобы люди, перелистывающие томик, обязательно его купили! Но даже таких льготных условий, как показывает практика, мало, чтобы завлечь американцев в книжные магазины, а вот русские люди быстро превращаются в завсегдатаев. Сколько часов я провел в одном таком магазине во время командировки в США в 2000 году, только богу известно, — могу лишь сказать, что прочел не меньше десятка книг по программированию, а затем увез их в Россию целый чемодан.
Книги, что я привозил из заграницы, в целом были очень полезными. Некоторые из них я использовал для подготовки спецкурсов в университете, другие пригодились на работе, а третьи я читал для собственного удовольствия и саморазвития. Но поскольку многие из них до сих пор не переведены на русский, я чувствую себя обладателем бесценного, никому не известного знания. Поэтому я решил написать о своих любимых книгах и составил своеобразный хит-парад. Сразу оговорюсь: я высказываю личное, субъективное и, возможно, бесполезное мнение и представляю вам всю эту информацию «as is», а вы уж сами разбирайтесь, доверять моим оценкам или нет.
1 Tom DeMarco, Timothy Lister, «Peopleware»
Возможно, лучшее из того, что я когда-либо читал о психологии программирования. За двадцать лет с момента первой публикации книгу цитировали так часто, что большинство положений уже стали фольклором. Например, бессмертное наблюдение, что программисты, получающие одинаковую зарплату, могут отличаться по производительности в десять и более раз (для проверки этого утверждения авторы специально устраивали эксперименты по кодированию в течение десяти лет!); или утверждение, что основной фактор, от которого зависит производительность, — вовсе не организация процесса, а способности членов коллектива; или замечание о том, что основная функция менеджеров программных проектов — вовсе не заставлять людей работать, а создавать программистам идеальные условия для работы и впоследствии не мешать им, и т. д.
Однако самое интересное открытие авторов — это влияние удобства рабочего места на производительность труда. Оказалось, что организация офисного пространства, уровень шума, средняя частота отвлечений на телефонные звонки и т. п. влияют на процесс создания софта не меньше любого чисто программистского фактора. Поработав несколько лет в пресловутых «кубиках» и офисах с открытой планировкой, я ответственно заявляю, что у каждого программиста должен быть отдельная комната, с дверью, которую можно запереть на ключ, и телефоном, который можно переключить на автоответчик! К сожалению, для большинства программистов это по-прежнему голубая мечта. Наверное, все дело во всемирном заговоре менеджеров программных проектов.
2 Steve McConnell, «Code Complete»
Написанная в 1993 году, когда не существовало ни Java, ни .NET, ни рефакторинга, эта книга во многом устарела. Однако до сих пор, на мой взгляд, она остается лучшей книгой по software construction.
У меня сложилось свое мнение о том, почему на свете так мало толковых пособий по разработке программ: хорошие программисты не хотят писать книжек по software construction — для них это слишком очевидно (Стив Макконнелл — лишь исключение, подтверждающее правило а неумехи в принципе не могут написать ничего хорошего и от досады переходят в лагерь противников, утверждая, что разработка ПО — вовсе не главное в программной инженерии, а главное — это Процесс Разработки По Великой и Непогрешимой Методологии (неважно по какой, лишь бы с большой буквы).
Это утверждение, конечно же, не выдерживает критики, ибо даже самый лучший на свете процесс разработки ничего не стоит, если у вас нет людей, умеющих писать связные программы, но почему-то в последнее время сторонников всесильных Методологий все больше и больше, а голос программистского разума звучит все глуше и глуше.
К счастью, у меня есть очень хорошая новость для тех, кто считает, что хорошее программировани

vini

Есть ещё две - №1 и №4.
Теперь список такой:
1.PeopleWare. Productive Projects and Teams - Tom DeMarco. Timothy Lister.pdf
2.Code Complete - A Practical Handbook Of Software Construction (Steve Mcconnell).djvu
2.Code Complete, 2Nd Ed (Draft, Steve Mcconnell) - 2003 ! - (By Laxxuss).pdf
3.Psychology of Computer Programming.djvu
3.Psychology of Computer Programming.pdf
4.Writing Solid Code - Steve Maguire.pdf
5.Facts and Fallacies of Software Engineering(2002).chm
6.Addison Wesley - Software Project Management in Practice.chm
7.Software Project Survival Guide.pdf
10.Modern Compiler Implementation in Java 2nd Ed.chm
Смотреть там же.

vijrel7878

Спасибо!

hov77

Хорошо что там нет eXtreme programming, обнадеживает

vini

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

hov77

Нет спасибо, лучше пускай о нем забудут

vini

Я могу под паролем - только для избранных.
Все равно наши должны знать его в лицо, а другим не советовать и не давать литературу

hov77

Да пароль по сложнее , чтобы только настоящие экстремалы и фанаты могли подобрать.
Оставить комментарий
Имя или ник:
Комментарий: