Найти в Дзене
Книжный патруль

Топ - 7 книг необходимых каждому программисту

Изображение взято из открытых источников.
Хонингование такого ремесла как программиста-нелегкая задача, но ее можно сделать более увлекательной.
Изучение нескольких языков программирования может показаться завершающим этапом, но это только начало.
У вас есть необходимые (языки программирования) инструменты, теперь вы должны научиться ими пользоваться. Конечно, это помогает, если вы действительно
Оглавление
Изображение взято из открытых источников.
Изображение взято из открытых источников.

Хонингование такого ремесла как программиста-нелегкая задача, но ее можно сделать более увлекательной.

Изучение нескольких языков программирования может показаться завершающим этапом, но это только начало.

У вас есть необходимые (языки программирования) инструменты, теперь вы должны научиться ими пользоваться. Конечно, это помогает, если вы действительно хорошо знаете язык программирования, но фокус в том, как вы его используете.

Если у вас есть умение решать сложные задачи, а также немного выносливости, вы сможете пройти через эти книги и пройти путь от программиста-подмастерья до эксперта.

1. Код. Тайный язык информатики - (Чарльз Петцольд)

Изображение взято из открытого источника.
Изображение взято из открытого источника.

Эта книга не научит вас, как программировать, ни как получить работу в технологической отрасли.

С другой стороны, это первый шаг к такому путешествию. Тем не менее Эта книга решает эту проблему необходимой технической смекалки.

“Компьютерный процессор делает идиотски простые вещи — он перемещает байт из памяти в регистр, добавляет байт к другому байту, перемещает результат обратно в память. Единственная причина, по которой что-либо существенное завершается, заключается в том, что эти операции происходят очень быстро. Цитируя Роберта Нойса: "после того, как вы примирились с наносекундой, компьютерные операции концептуально довольно просты".”

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

Это точка входа во все технические вещи, и необходима что-бы завершить свое образование и стать опытным программистом.

2. Программист - прагматик. Путь от подмастерья к мастеру - (Хант Э., Томас Д.)

В этой книге Эндрю Хант и Дэйв Томас дают читателям ряд советов по улучшению результатов программирования.

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

Их советы практичны и лучше всего усваиваются на практике. Когда вы возьмете книгу в руки, старайтесь идти медленно и обдумывать советы авторов в следующий раз, когда будете программировать. Это не одноразовое чтение, а скорее семинар по передовым практикам.

Несколько примеров:

Совет 11: сухой — не повторяйтесь
Совет 30: вы не можете написать идеальное программное
обеспечение
Совет 44: Не программируйте случайно
Совет 50: не используйте код мастера, который вы не понимаете
Совет 70: подпишите свою работу

"Программист-прагматик” предлагает бесценный совет для всех, кто работает с кодом, и он должен быть в библиотеке каждого программиста.

3. Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ

Изображение взято из открытых источников.
Изображение взято из открытых источников.

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

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

Конечно, вы можете выжить несколько лет, работая инженером-программистом, не помня о временной сложности QuickSort. Вы можете выжить, не имея возможности кодировать DFS, не вставляя его из переполнения стека или не используя встроенную библиотеку.

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

Вы не можете надеяться продвинуться в качестве программиста, инженера-программиста или ученого-компьютерщика, если не знакомы с содержанием этой книги (или книги по алгоритмам по вашему выбору).

4. Искусства программирования - том 1. Кнут Д. Э.

Изображение взято из открытых источников.
Изображение взято из открытых источников.

Как и в случае с предыдущей книгой в этом списке, прохождение “искусства компьютерного программирования” является сложной задачей. Лишь немногим удалось последовательно пройти всю книгу. Еще меньше людей потратили время на то, чтобы пройти всю математику в первых нескольких главах.

Я еще не просмотрел весь Том, но все равно не могу рекомендовать его больше чем остальные книги из списка. У нее есть свои проблемы, главным образом в отношении того, насколько хорошо язык микса кнута подходит для современной аудитории, но если вы пройдете мимо этого, он обеспечит невероятное понимание и глубину основных алгоритмов и структур данных.

Эта книга-настоящий вызов интеллекту и упорству, но она также является источником огромного богатства информации.

Сам Билл Гейтс сказал, что если вы закончите эту книгу, вы должны отправить ему резюме.

Стоит попробовать, верно?

5. Карьера программиста - Гейл Лакманн Макдауэлл

Изображение взято из открытых источников.
Изображение взято из открытых источников.

Хотите получить работу инженера-программиста?

Каким бы ни был ваш ответ, Эта книга все равно стоит того что-бы ее прочитать. Хотя учебники по алгоритмам и структуре данных очень важны для чтения, они практически не дают никакой реальной практики. Я знаю, что в обеих книгах, которые я перечислил прямо перед этой, есть множество упражнений для каждой концепции, которую они вводят, но есть загвоздка: вы всегда знаете, какой инструмент использовать. В реальном мире программные проблемы не сопровождаются подсказкой о том, какую структуру данных, алгоритм или технику следует использовать. После объяснения основных структур данных и алгоритмов (и, кстати, не переходите сразу к этой книге), автор включает два дополнительных раздела. В конце книги, перечисляя задачи средней и тяжелой сложности.Эти проблемы приходят в случайном порядке и бросают вызов читателю, чтобы выяснить лучший подход к их решению. Если бы вы внимательно изучали предыдущие главы, вы бы уловили различные паттерны и подсказки, когда речь заходит о выборе правильной структуры данных или алгоритма для решения проблемы. Эта книга поможет вам лучше решать проблемы в контексте компьютерного программирования, поэтому она очень важна.

6. Мифический человеко-месяц, или Как создаются программные системы - Фредерик П. Брукс-Младший

Изображение взято из открытых источников.
Изображение взято из открытых источников.

Эта историческая книга о программной инженерии занимает место обязательной книги об управлении программным проектом.

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

Основная идея заключается в том, что разработка программного обеспечения напрямую не сопоставима с другими дисциплинами, в которых рабочая сила непосредственно взаимозаменяема со временем. Во всяком случае, Брукс утверждает, что верно обратное.

- "Хорошая стряпня требует времени. Если вас заставляют ждать, то это делается для того, чтобы служить вам лучше и доставлять вам удовольствие",

- цитирует Брукс подзаголовок ко второй главе книги.

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

Это отличная книга для чтения, а затем можно тонко рекомендовать ее вашему проектному менеджеру.

7. Алгоритмы для жизни. Простые способы принимать верные решения - Брайан Кристиан и Том Гриффитс

Изображение взято из открытых источников.
Изображение взято из открытых источников.

Последняя книга в этом списке не полностью связана с написанием кода, а скорее с изучением методов решения проблем, полученных в результате разработки определенных алгоритмов (с которыми, пройдя так далеко по списку, вы, вероятно, уже сталкивались).

Авторы этой книги делают блестящую связь между человеческой психологией и информатикой, связывая обоснование нескольких тщательно подобранных алгоритмов с повседневными проблемами.

Нередко программисты иногда сомневаются в том, насколько применимы изучаемые ими концепции за пределами написания кода на компьютере. К счастью, Кристиан и Гриффитс дают ответ на этот вопрос, применяя общие алгоритмы к задачам, не связанным с компьютерными науками, и количественно оценивая ответы на повседневные проблемы.

Хотя обучение использованию алгоритмов и структур данных с целью написания лучшего кода является полезным занятием, изучение того, как использовать их в контексте вне текстового редактора, делает их изучение гораздо более увлекательным.

Подписывайтесь и пишите свои комментарии, буду рад с ними ознакомиться, так же буду очень признателен идеями по улучшения канала.
P.S. С глубочайшим уважением, ваш "книжный патруль".