Книга — лучший подарок Топ-12 лучших книг по программированию
Приведенные ниже книги может и не сделают сразу из вас прожженных и опытных программистов, однако точно научат мыслить, как кодер, разбираться в алгоритмах и структурах данных, а также ориентироваться в таких понятиях, как рефакторинг и шаблоны проектирования.
«Чистый код. Создание, анализ и рефакторинг», Роберт Мартин
Одна из лучших книг, позволяющая стать на «ты» с кодом, научившись отличать на конкретных примерах образцы хорошего кодирования от плохого. Дело в том, что «чистый» код, как любое профессиональное оборудование, значительно облегчает жизнь специалистов. Автор действительно разбирает множество вариантов, прокачивая тем самым скилы будущих гениальных кодеров. Повествование состоит из трех частей. Первая посвящена принципам и правилам написания чистого кода. Вторая часть включает в себя разбор всевозможных сценариев по очистке и преобразованию «грязного» кода и минимизации содержащихся в нем проблем. Наконец, третья часть резюмирует приведенные в предыдущих главах сведения, выводя свод определенных правил, которыми должен руководствоваться программист.
«Совершенный код. Мастер-класс», Стив Макконнелл
Настольная книга для многих кодеров, на протяжении десяти лет лежавшая у них на прикроватной тумбочки вместо Библии. Это было первое издание, однако программирование постоянно соревнуется с прогрессом на скорость. Поэтому второе издание легендарной книги проапгрейдили, освежили, дополнили множеством новых примеров программирования, исходя из современных реалий и технологических тенденций. Второе издание также содержит как академические знания, так и реальные кейсы разработки программного обеспечения для различных коммерческих проектов. Так что читатели найдут ответы на многие вопросы, связанные с разработкой «совершенного кода».
«Head First. Паттерны проектирования», Эрик Фримен, Элизабет Робсон
Еще одна легенда среди литературы для программистов: впервые книга была опубликована больше десяти лет назад. И вот авторы решили проапгрейдить помещенные в ней сведения. Основной акцент сделан на существующих проблемах программирования, которые постоянно становятся камнем преткновения для очередного поколения кодеров. Но чтобы не изобретать велосипед заново, можно прочитать эту книгу, в которой собраны готовые и подробно расписанные шаблоны проектирования кода.
Кодеры за работой. Размышления о ремесле программиста, Питер Сейбел
Книга представляет собой «разговор по душам» с 15 именитыми программистами. Питер Сейбел взял интервью у разработчика «Живого журнала», создателя UNIX, участника сети ARPANET и многих других «башковитых» парней. Публицистика, которая позволяет познакомиться с главным инструментом программиста — его головой, узнать о способах мотивации, методах самостоятельного обучения и так далее. Кроме того, Питер Сейбел спрашивает своих героев о будущем программирования, при этом некоторые ответы обескураживают.
«Рефакторинг. Улучшение существующего кода», Мартин Фаулер
Рефакторинг — это улучшение и повышение производительности программного обеспечения. Авторы книги собаку съели на рефакторинге, изучая его не в теории, а на на практике, чем и делятся от щедрот с читателями. В книге рассматривается семь десятков примеров рефакторинга с подробными описаниями техник выполнения на языке Java. Описанные шаги большинству кодеров наверняка покажутся простыми и очевидными, но тем и замечательна книга, так как демонстрирует совокупность несложных приемов, позволяющую значительно модифицировать код за счет небольших изменений.
«Идеальный программист. Как стать профессионалом разработки ПО», Роберт Мартин
Еще один литературный хит от Роберта Мартина, исследующий природу идеального программиста. В своем труде автор, более известный в профессиональной среде как «дядюшка Боб», буквально «препарирует» специальность кодера, раскрывая все секреты правильного подхода к разработке. Читатель получит массу практических советов, которые помогут создать идеальное программное обеспечение. Здесь и методы, и практики, и инструменты, которые пригодятся кодеру на всех этапах работы: от оценки перспективности проекта до рефакторинга.
«Сам себе программист», Кори Альтхофф
Автор книги Кори Альтхофф сделал карьеру в компании eBay, начав свой путь в качестве стажера и став в итоге одним из ведущих инженеров программного обеспечения. Книга представляет собой пособие для self-made разработчиков. Акцент сделан на языке Python 3. Контент включает несколько основных разделов: основы языка, позволяющие начать разрабатывать простые программы, объектно-ориентированное программирование, алгоритмы, использующиеся при создании структур данных, навыки веб-скрапера, а также рекомендации по работе в коллективе разработчиков и поиску первого заказа.
«Карьера программиста», Г. Лакман Макдауэлл
Лакман Макдауэлл прошел десятки собеседований в различных IT-компаниях, сделав это своего рода спортом или хобби. На основе накопленного опыта, а также интервью с другими специалистами он написал бестселлер, дающий ответы на главные вопросы, как программистов, так и работодателей в сфере айти. В основе книги почти 200 тем. Книга — настоящий кладезь лайфхаков, которые помогут блестяще пройти собеседования, так как содержит ответы на часто задаваемые вопросы, а также решения технических заданий, используемых на интервью в Google, Apple, Microsoft и так далее.
«Код. Тайный язык информатики», Чарльз Петцольд
Книга, написанная живым языком, наверное, больше подойдет начинающим программистам, которые хотят существенно расширить свой кругозор. Здесь найдется все — от азбуки тематики (как устроен процессор, как появился первый персональный компьютер, какие существуют основные концепции информационных технологий) до принципов кодирования информации. При этом надо отметить, что книга оформлена большим количеством иллюстраций и вспомогательных изображений, состоит из двадцати пяти глав и, что очень удобно, предметного указателя.
«Человеческий фактор. Успешные проекты и команды», Том Демарко, Тимоти Листер
Книга рассматривает программирование под не совсем стандартным углом зрения, а именно главная мысль, которая в ней заложена, это то, что основные проблемы программирования носят не технологический, а социальный характер. Поэтому в ней разбираются такие аспекты, как патологии лидерства, радикальная эволюция инструментов, перестающих в какой-то момент работать и наоборот тормозящих процесс. В общем бестселлер, переживший уже третье издание, должен стать обязательным для чтения всех, кто занимается управлением проектов, связанных с разработкой программного обеспечения.
«Искусство программирования», Дональд Кнут
Автор книги — известный американский математик и компьюторщик. Его детище «Искусство программирования» четверть века назад было признано одной из лучших физико-математических монографий столетия, раскрывающей многие аспекты информационных структур. Правда, воды с тех пор немало утекло, но описанные в книге методы и понятия программирования не устаревают. При этом издание было существенно доработано и актуализировано, в него добавлены десятки новых алгоритмов.
«Алгоритмы на Java», Роберт Седжвик, Кевин Уэйн
Это полноценный справочник для программистов, содержащий весь багаж накопленных за много лет алгоритмов. Кодеры найдут здесь сведения про структуры данных, алгоритмы сортировки и поиска строк и графов, а также актуальные реализации алгоритмов на языке программирования Java. При этом сам язык книги отличается легкостью и ясностью, детальными примерами тщательно подобранных кодов. Есть также методическая часть, содержащаяся задания для самостоятельной проработки изученного материала.
Использованные источники: