Найти в Дзене

Литература для новичков от программирования

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

Хотелось в этот список добавить не только учебную литературу, но и просто полезные книги для понимания работы в отрасли. Было одно фундаментальное требование – книга должна быть доступна на русском языке. Т.е. одновременно быть переведенной и иметься в наличие в магазинах. Список получился не большим и я решил им поделиться здесь.

1) Объектно-ориентированный анализ и проектирование ISBN: 978-5-496-00144-1 . Книжка вас вообще не научит писать код, однако практика показывает, что не очень много людей понимают подобные базовые вещи. Заодно за пару глав поймете значение фразы «клиент не знает, что он хочет» (спойлер: это не значит что клиент идиот).

2) Head First. Паттерны проектирования. ISBN: 978-5-496-03210-0 . Книжка тойже серии. Переходим к более практической стороне разработки, дистанцируясь от какого-либо конкретного языка программирования. Да, есть более фундаментальные труды по данной тематике, например «Приемы объектно-ориентированного проектирования. Паттерны проектирования» (ISBN: 978-5-496-00389-6, 0-201-63361-2) , однако мне кажется, что у среднего начинающего эта книга вызовет только сонливость и рвотные позывы.

3) Совершенный алгоритм. Основы (ISBN: 978-5-4461-0907-4) – свежая публикация на тему алгоритмов. На русский язык, насколько мне известно, переведено 2 из 4 книги серии и в планах перевод всей серии. Вообще говоря мне иногда подобные книги хочется жестоко вбивать коллегам в голову. Концепция «тащи из базы всё, а потом разберемся» это бич целого ряда программистов.

4) Психбольница в руках пациентов (ISBN: 978-5-4461-0674-5). Своего рода классика. Рекомендую с оговорками. Автор много пишет о том, что делать не нужно и как это проявляется на практике. Однако с реальными сценариями решения проблем вопрос стоит гораздо хуже. Что-то вроде «обратитесь ко мне, и я сделаю как надо».

5) Принципы, паттерны и методики гибкой разработки на языке C# (ISBN 978-5-93286-197-4, 978-0-13-185725-4) . Снова рекомендую с оговорками. Ключевая проблема хорошо описана на хабре. Так же книга жестко связана с конкретным языком и поэтому может не подойти использующим другие языка. Однако снова возвращаюсь к практическому опыту – недостатки подобной литературы крайне слабое оправдание созданию гумнокода из копипасты и приемов процедурного программирования в области объектно-ориентированного.

Для начала хватит. Хотелось бы добавить еще литературу по архитектуре приложений, однако все что попадалось на глаза переведено автопереводчиком версии начала нулевых годов и скорее научит плохому, чем полезному. Так же есть различная художественная литература на тему, однако последнее что я читал из художественного, были работы Дугласа Коупленда. К сожалению, на мой взгляд, сии труды немного устарел. Если есть желание почитать художественную литературу – скорее порекомендую почитать «Как закалялась сталь» или «Тихий Дон».