Обзор самых популярных книг по версии аудитории Библиотеки программиста, которые подойдут для широкого круга читателей любых уровня и специальности.
10. С. Скиен «Алгоритмы. Руководство по разработке»
Прекрасное пособие по разработке алгоритмов, которое пригодится программисту любого уровня, от новичка до senior’a. Издание, по сути, является структурированным сборником из алгоритмических задач, сопутствующей им теории, решению с разбором и самостоятельных упражнений для закрепления материала, где чётко и ясно, хоть и немного суховато, рассматриваются такие темы как графы, численные методы, анализ алгоритмов, сортировки, структуры данных и т.д.
9. Э. Свейгарт «Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих»
Отличное руководство, которое можно смело порекомендовать любому пользователю компьютера. Также издание прекрасно подойдёт в качестве первой книги для знакомства с языком программирования Python. Материал изложен в доступной форме, с большим количеством простых примеров кода и соответствующих пояснений там, где это нужно. Здесь вы найдёте информацию о том, как заставить компьютер выполнять за вас такие задачи как поиск определенного текста в файле или в множестве файлов, обновление и форматирование данных в электронных таблицах Excel любого размера и прочие рутинные задачи.
8. А. Бхаргава «Грокаем алгоритмы. Иллюстрированное пособие для программистов и начинающих»
Идеальная книга для новичков и людей, в целом плохо знакомых с теорией алгоритмов. Издание написано достаточно простым языком, все описания приведены с соответствующими иллюстрациями, вся теория, необходимая для освоения материала, изложена очень ярко и понятно. Однако тем, кто имеет некоторую квалификацию в ИТ-сфере, данное пособие может показаться слишком детским и несерьёзным.
7. Г. Макдауэлл «Карьера программиста»
Если вы хотите устроиться на работу в сфере информационных технологий в приличную компанию, то вы обязаны как минимум тщательно ознакомиться с данным литературным творением. Это руководство объединяет в себе рекомендации по тому, как следует вести себя при устройстве на работу, собрание фундаментальных знаний по всем основным технологиям, включая C/C++, Java, базы данных, структуры данных, оптимизацию и теорию сложности алгоритмов, а также сборник наиболее значимых и каверзных задач и вопросов по всем перечисленным аспектам.
6. С. Бабин «Инструментарий хакера»
Издание, в первую очередь ориентированное на тех, кто ещё только начинает знакомиться со сферой информационной безопасности. В книге довольно подробно и с множеством иллюстраций описываются такие вещи, как перехват паролей, атаки на Wi-Fi-роутеры, подмена MAC-адресов, способы оставаться невидимым в Интернете. Также описаны методы защиты с помощью соответствующих программных инструментов, приводятся советы по безопасности для пользователей программ типа "клиент-банк". Характерной особенностью этой книги является то, что сам её автор не является профессиональным программистом, поэтому некоторые вопросы, которые профессионалы в данной области решают сами путём написания своих скриптов или же изменения существующих, писатель решает путем гугления в интернете уже готовых решений, не вдаваясь в подробности реализации скачанной программы.
5. Б. Слаткин «Секреты Python. 59 рекомендаций по написанию эффективного кода»
Данное пособие является очень полезным справочником по написанию более эффективного и понятного кода на языке Python для тех, кто уже имеет какие-то базовые представления об этом языке программирования и написал на нём хотя бы несколько простых программ. В электронной версии присутствует очень удобная система навигации по книге, позволяющая перемещаться по книге в произвольном порядке по любым темам или разделам. В пособии рассматриваются такие вещи, как идеология самого языка, функции, классы и наследование, метаклассы, многопоточность, встроенные модули, интеграция и релиз готового продукта.
4. Т. О'Коннор «Жестокий Python:настольная книга хакеров, аналитиков и инженеров по безопасности»
Издание, которое одинаково хорошо подходит и для новичков в Python, и для тех, кто уже имеет знания по данной технологии. Автор пошагово объясняет, как писать скрипты для автоматизации крупномасштабных сетевых атак и получения метаданных, проводить экспертизы добытых «артефактов». Также описывается, как писать код для перехвата и анализа сетевого трафика, обмана устройств для атаки через Wi-Fi или Bluetooth и как избегать современных антивирусов. Для новичков в Python в пособии есть первая глава под названием введение, где объясняются основы использования и написания скриптов на Python.
3. М. Абрамян «1000 задач по программированию»
Данный сборник задач ориентирован на школьников и студентов начальных курсов математических специальностей. Структура данного пособия делится на 3 части: 1) Скалярные типы данных, управляющие операторы, процедуры и функции; 2) Минимумы и максимумы, одномерные и двумерные массивы, символы и строки, двоичные файлы; 3) Текстовые файлы, составные типы данных в процедурах и функциях, рекурсия, указатели и динамические структуры. Следует отметить, что в приведённом издании не представлено никакой теории, только задачи, поэтому новичкам придётся искать дополнительные источники информации по основам программирования и алгоритмам.
2. М. Грабер «SQL для простых смертных»
Указанное выше руководство предназначено для введения в реляционные базы данных. Книга хорошо структурирована, все знания даются последовательно, после каждой главы имеются несложные упражнения для закрепления материала. Прочитав книгу, вы приобретёте хорошую теоретическую основу по реляционным базам данных, научитесь писать запросы, менять, обновлять и удалять полученные данные и создавать новые таблицы.
1. Д. Кнут «Искусство программирования»
«Искусство программирования» Дональда Кнута — это мастрид для каждого, кто считает себя программистом. Издание разделено на 4 тома, в первом описываются основные алгоритмы, во втором — получисленные алгоритмы, в третьем рассматриваются сортировки и поиск, а в четвертом изучаются комбинаторные алгоритмы. Данное руководство является мощным фундаментальным собранием по теории алгоритмов и программированию, где можно найти ответы на очень многие вопросы. Однако, следует учитывать, что книга написана академическим языком, а потому её следует использовать не для изучения основ (боже вас упаси это делать!), а как справочный материал в случае, если возникли какие-то трудности с алгоритмами решения какой-то конкретной задачи, либо если вы решили повторить или углубить ранее полученные знания.
Комментарии