Ссылки для изучающих C

Вчера была нетленка, поэтому сегодня расслаблюсь и просто дам несколько ссылок на бесплатные, но очень полезные ресурсы по языку C.

  • C Elements of Style — сокращенный вариант старой доброй книжки лохматого года; слегка устарела, но все равно содержит массу полезного;
  • Learning GNU C — туториал про одноименный диалект C;
  • An Introduction to GCC — руководство по gcc и g++;
  • C FAQ — огромный FAQ по языку;
  • Writing Bug-free C Code — оригинальная методология программирования на C с элементами ООП, позволяющая вроде бы упростить обнаружение ошибок; почитать интересно, но применять стремно;
  • The GNU C Library — мануал по стандартной библиотеке C в исполнении GNU;
  • Top 10 Ways to be Screwed by C — топ 10 сишных граблей; будет особенно полезно начинающим;
  • (UPD) Programming in C — курс лекций по С с упором на UNIX-среду;
  • (UPD) C Traps and Pitfalls — статья про скользкие места C;
  • (UPD) Notes on Writing Portable Programs in C — статья про написание переносимых программ на C; категорически рекомендую;
  • (UPD) Indian Hill: Recommended C Style and Coding Standards — рекомендации по стилю C-программ от ребят из одной лаборатории AT&T.

Интересные ссылки из комментов переносятся в основной пост, так что пишите.

УжасноПлохоНормальноХорошоОтлично (2 голосов, средний: 5,00 из 5)
Loading ... Loading ...

8 комментариев

  • Вот именно поэтому я и перешел с написания драйверов на С и клиентов к ним на С++ на C# и WPF.
    Это просто неправильно когда язык содержит целый сарай граблей, о котором нужно помнить при написании програм. Голова должна думать о задаче, а не о граблях.

    PS Шурик, почему-то ответы на комменты не приходят на почту.
    PPS Галочку «Уведомлять о новых комментариях по e-mail» ИМХО по дефолту нужно ставить.

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

      Настоящие грабли возникают тогда, когда программист не понимает, как работает то, что он пишет. Здесь уж C, как высокоуровневый ассемблер, вне конкуренции по прозрачности. Что написал, то и выполняется. Выходит, что чем более язык высокоуровневый, тем меньше понимание сути.

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

      Пожалуй, стоит написать об этом отдельный философский пост…


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

    • Шурик, к тому же переход с C на C# — это как переход с газонокосилки на комбайн. Совершенно разные задачи.

  • «Top 10 Ways to be Screwed by C» — совсем не впечатлило =) Большинство примеров — код, так сказать, «не лучшего качества». И винить язык в том, что в таких ситуациях результат получается «неожиданным» для программиста, имхо, не правильно…

    Как сказано выше, «что написал, то и выполняется» )

  • [...] Такая вот подборка в дополнение к опубликованному ранее: [...]

Оставьте свой отзыв

Или введите OpenId:

XHTML: Можно использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">