🧑💻 Разработчик Тимур Магомедов собрал книги, статьи и видео по Си: от основ языка до системного программирования.
Подборка поможет понять, как работает код, откуда берутся ошибки и что мешает программам работать быстрее.
🧱 Заложить основу Брайан Керниган, Деннис Ритчи «Язык программирования C» Классическое введение в язык с примерами и упражнениями. Поможет освоить синтаксис, указатели и структуры.
Брайан Керниган, Роб Пайк «Практика программирования» Как писать понятный код, выбирать алгоритмы, тестировать и искать ошибки. Советы пригодятся и за пределами Си.
🐧 Разобраться в Linux и Unix Эрик Реймонд «Искусство программирования для Unix» Что стоит за Unix way: зачем создавать простые инструменты, разделять задачи и проектировать программы для совместной работы.
Роберт Лав «Linux. Системное программирование» Как программа на Си взаимодействует с ОС: читает файлы, управляет процессами и памятью. Практика работы через системные вызовы.
Марк Митчелл, Джеффри Оулдем, Алекс Самьюэл «Программирование для Linux. Профессиональный подход» Подробный разбор потоков POSIX, синхронизации и межпроцессного взаимодействия. Часть деталей устарела, но основные механизмы книга объясняет хорошо.
🐛 Понять ошибки и их последствия Джон Эриксон «Хакинг: искусство эксплойта» Показывает, как злоумышленники используют переполнения буфера и другие ошибки Си-программ. Помогает замечать опасные места в своем коде.
Крис Латтнер — cтатьи о неопределенном поведении Почему компилятор удаляет проверки и как оптимизации проявляют скрытые ошибки. Для тех, кому знакомо «без оптимизации все работало».
⚡ Понять производительность Евгений Ерохин «Branch prediction, или откуда процессор берет производительность» Доклад о предсказании переходов и спекулятивном исполнении. Объясняет, почему меньше инструкций не всегда означает быстрее — и как это связано с вашим кодом.
📢 Сохраняйте, читайте сами, коллегам советуйте.