Книги для программистов
Список книг, которые советую прочитать программистам:
-
Чарльз Петцольд. Код. Тайный язык информатики
Книга про информатику. Основы работы кодирования и обработки данных. -
Дональн Кнут. Искусство программирования
Книга про то, как работают базовые алгоритмы. Обязательно нужно читать тем, кто пишет на Java и C++. Желательно остальным. Либо прочитать Кнута, либо прочитать ее выжимку. В основном нужно понимать как работают алгоритмы сортировки, поиска, что такое алгоритмическая сложность. Что такое кэш, стэк, очередь. Обычно этому должны учить в универе. Если не научили читайте книжку. -
Морис Херлихи и Нир Шавит. The Art of Multiprocessor Programming
Про то как разрабатывать мультипоточные приложения -
Андре Ламот. Программирование трехмерных игр для Windows.
Tricks of the 3D Game programming gurus. Advanced 3D fraphics and rasterization
Книга про то, как работают 3D движки. Про математику, которая заложена в работу движков. Если вы собираетесь делать игры, то эту книгу прочитать нужно обязательно -
Д. Креншоу. Пишем компилятор
Книга про то как создать свой язык програмирования -
В Кораблев. Самоучитель Турбо Паскаль 7.0
Классная книга. Жаль что для паскаля. -
Шаблоны проектирования или паттерные проектирования.
https://refactoring.guru/ru/design-patterns
О них нужно знать, но использовать их не обязательно, а иногда даже вредно. Т.к. код тогда превращается в слишком сложный. Необходимо для програмистов Java и C++. Потому что по другому там не сделать. В PHP и JavaScript делается проще и без патернов. -
Функциональное программирование
Книг не знаю, просто поишите в интенерет. Нужно знать что такое чистая функция, неизменяемые структуры данных, функции высших порядков, масштабирование, отсутствие состояния, асинхронные функции, кооперативная многозадачность (async/await). Функциональное программирование не панацея, иногда усложняет код, а иногда делает его проще. Нужно уметь знать где и как правильно применять.
В посте есть раздел про ФП https://habr.com/ru/post/491280
А также советую поиграть в игры Factorio и Oxygen Not Included. Они развивают инженерное мышление.