Книги для программистов

Список книг, которые советую прочитать программистам:

  1. Чарльз Петцольд. Код. Тайный язык информатики
    Читать обязательно. Книга про информатику. Основы работы кодирования и обработки данных.
     
  2. Андре Ламот. Программирование трехмерных игр для Windows
    Книга про то, как работают 3D движки. Про математику, которая заложена в работу движков. Если вы собираетесь делать игры, то эту книгу прочитать нужно обязательно
     
  3. Д. Креншоу. Пишем компилятор
    Книга про то как создать свой язык програмирования
     
  4. Дональн Кнут. Искусство программирования
    Книга про то, как работают базовые алгоритмы. Обязательно нужно читать тем, кто пишет на Java и C++. Желательно остальным. Либо прочитать Кнута, либо прочитать ее выжимку. В основном нужно понимать как работают алгоритмы сортировки, поиска, что такое алгоритмическая сложность. Что такое кэш, стэк, очередь. Обычно этому должны учить в универе. Если не научили читайте книжку.
     
  5. В Кораблев. Самоучитель Турбо Паскаль 7.0
    Классная книга. Жаль что для паскаля.
     
  6. Робер Мартин. Чистый код. Создание, анализ и рефакторинг
    Не является обязательной, но если хотите, то можно. Книга про то как правильно называть функции, классы, ставить табуляции. Если честно больше напоминает корпоративный стандарт компании как должен выглядть код. Книгу почитать можно, чтобы подчерпнуть некоторые идеи, но нужно понимать, что не все что там написано истина в последней инстанции.
     
  7. Шаблоны проектирования или паттерные проектирования.
    На википедии есть инфа об этом. О них нужно знать, но использовать их не обязательно, а иногда даже вредно. Т.к. код тогда превращается в слишком сложный. Необходимо для програмистов Java и C++. Потому что по другому там не сделать. В PHP и JavaScript делается проще и без патернов.
     
  8. Функциональное программирование
    Книг не знаю, просто поишите в интенерет. Нужно знать что такое чистая функция, неизменяемые структуры данных, функции высших порядков, масштабирование, отсутствие состояния, асинхронные функции, кооперативная многозадачность (async/await). Функциональное программирование не панацея, иногда усложняет код, а иногда делает его проще. Нужно уметь знать где и как правильно применять.
    В посте есть раздел про ФП https://habr.com/ru/post/491280

Остались вопросы?

Если вы хотите получить консультацию или оставить комментарий, заполните форму ниже:
Укажите ваше имя:
Укажите вашу почту, чтобы я смог вам ответить:
Напишите ваш вопрос или комментарий: