Мой набор
Мой набор

Когда я начинал изучать C, я сразу взялся за «библию» — «Язык программирования С» Брайана Кернигана и Денниса Ритчи.

Все советуют её первой книгой, и казалось бы, куда ещё? Но честно скажу — она зашла мне очень тяжело. Подходы, структура, хронология изложения — всё это оказалось непростым для полного новичка. Возможно, дело во мне, но как первая книга я бы её не рекомендовал.

«C для программиста с введением в С11» — Пол и Харви Дейтел

Эта книга стала для меня переломной. Я прочитал её за неделю, и именно здесь начал понимать, что и зачем делаю. Она системная, структурная и очень дружелюбная к читателю. После неё многие вещи в C перестали казаться магией.

Конечно, я смотрел видеоуроки и разборы, но они скорее закрепляли материал, чем заменяли книгу.

Второй заход на Кернигана и Ритчи

После Дейтелов я снова взял в руки «Язык программирования С» — и вот тут всё встало на свои места.

Там я уже находил не новые понятия, а другие подходы к реализации, полезные нюансы. Книга открылась с другой стороны: как настольное пособие для практикующего, а не как вводный курс.

«Язык C в 21 веке» — Бен Клеменс

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

«Язык C. Мастерство программирования: принципы, практики и паттерны» — Кристофер Прешерн

Вот здесь начинается уровень «продвинутый практик». Книга помогает не просто писать рабочий код, а думать о стиле, паттернах и архитектуре на C. Особенно интересно её читать параллельно с «Грокаем алгоритмы»Адитьи Бхаргавы. Эта связка даёт и алгоритмическое мышление, и инженерный подход.

Итог

  • Керниган Ритчи — классика, но тяжеловата как первая книга. Лучше вернуться к ней чуть позже.

  • Дейтелы — отличный старт для тех, кто хочет войти в язык без лишнего страха.

  • Клеменс и Прешерн — книги, которые развивают дальше и дают глубину.

  • Видео и статьи — хорошее дополнение, но основа у меня всё равно в книгах.


Каждый идёт своим путём, и, возможно, кто-то «проглотит» K&R с первого раза. Но если у вас не получилось — это нормально. Главное — найти материал, который «зайдёт» именно вам.

В комментариях посоветуйте хорошую литературу именно под Си пожалуйста

Комментарии (13)


  1. DocHannibal
    02.09.2025 20:25

    Мне очень зашла книга "Программирование на C в примерах и задачах", Васильева. В былу работы программистом микроконтроллеров очень помогла войти в курс дела. До этого толком языки вообще не знал.


    1. loropiana Автор
      02.09.2025 20:25

      Видел ее не раз , но че то как то руки не доходили изучить


  1. dyadyaSerezha
    02.09.2025 20:25

    Как почти всегда, нет введения с объяснением, почему полный новичок решил изучить С. А было бы интересно.

    Автор, а почему a[5] и 5[a] это одно и то же? Или не одно? )


  1. Serpentine
    02.09.2025 20:25

    Все советуют её первой книгой, и казалось бы, куда ещё?

    Кто эти «все» и «кому» они советуют? В аннотации от издательства и в авторском предисловии к K&R чёрным по русскому написано:

    Книга не рекомендуется для чтения новичкам; для своего изучения она требует знания основ программирования и вычислительной техники.


    1. edo1h
      02.09.2025 20:25

      мой опыт: я читал k&r подростком, немного зная ассемблер и бейсик. Всё казалось простым и очень логичным.


    1. Siemargl
      02.09.2025 20:25

      не надо путать тогдашних новичков , способных набрать программу биткартой и сегодняшних


  1. WindShear
    02.09.2025 20:25

    1. atues
      02.09.2025 20:25

      Недурная книга для начинающих, НО только следует иметь в виду, что в ней описывается старая-престарая версия С (по первому изданию K&R). Кроме того, раздел по указателям и структурам (а это, в сущности, то, что составляет самый смак в языке) изложен конспективно. Я, все-таки, не рекомендовал бы ее.

      Несмотря на угрожающие размеры, книги Прата и Дейтела мне кажутся куда лучше. Они, порой, утомляют чересчур подробным и детализированным изложением, но они соответствуют в целом современному С. К тому же примеры и упражнения в них полезнее и богаче.

      P.S. И по-любому, K&R обязан прочесть любой сишник :) Пусть не самой первой, но обязательно


  1. morgot
    02.09.2025 20:25

    K&R для начинающего тяжело, мне хорошо зашёл Стивен Прата, очень подробно объясняет.


    1. atues
      02.09.2025 20:25

      Мне известны три перевода второго издания: "Финансы и статистика", "Невский диалект" и "Вильямс". Первые два перевода - отличные (особенно, от "Невского диалекта"), третий - мягко говоря, какой-то странный, imho. Но как раз третий распространен повсеместно и Вы, подозреваю, читали именно его?


      1. SpiderEkb
        02.09.2025 20:25

        Тоже начинал с него, но перевод не помню уже. Это был 1989-90гг.

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


  1. atues
    02.09.2025 20:25

    Кстати, мне очень понравилась книга Роберта Сикорда "Эффективный C. Профессиональное программирование". Учить С по ней, пожалуй, не стоит - книга не для новичков. Но книга полезная, с упором на безопасное программирование


  1. unreal_undead2
    02.09.2025 20:25

    Практика программирования (Керниган/Пайк) - не только про C, но большая часть кода на нём.