32bit_me (32bit_me) wrote,
32bit_me
32bit_me

Categories:

Книга Ben Clemens "21st Century C"

Прочитал книгу Ben Clemens "21st Century C", 296 стр., англ. язык.



Не очень понравилось. Автор больше всего внимания уделяет макросам, особенно макросам с использованием __VA_ARGS__. Это может выглядеть эффектно, но на самом деле, макросы - зло, а макросы с __VA_ARGS__ - зло в квадрате.

В книге упоминаются некоторые возможности С11, но специально они не перечислены. Расширения синтаксиса gcc вообще не упоминаются. Про параллелизм написано, что он существует, и даже упоминаются потоки С11 и pthreads, но без существенных подробностей, а про OpenMP даже не упомянуто.

Материал выглядит довольно бессистемным сборником рецептов, придуманных самим автором, и не являющихся best practices в языке С.

Моё мнение таково: язык С очень старый, и имеет множество черт, которые в наше время устарели и мешают писать красиво и эффективно. Развитие С идёт медленно, последний стандарт языка был принят в 2011 году. Для сравнения, С++ уже имеет стандарт 2020 года, и вовсю обсуждаются дальнейшие нововведения.

Это многие понимают, и в последние годы было достаточно много попыток создать язык системного программирования, лишённый этих недостатков. В качестве примеров можно привести языки D, Rust, в некоторой степени Go, и несколько языков, пока не вышедших из стадии экспериментов. Но ни один из этих языков не может, в силу разных причин, заменить С.

Вместе с тем, есть прекрасный, мощный, хотя и сложный язык, позволяющий решать те же задачи, что и С. Это С++, конечно же. Последние стандарты существенно расширили синтаксис языка, сделав его удобным и мощным. Конечно, С++ в первую очередь ассоциируется с ООП, которое подходит не для всех задач, и влечёт за собой некоторые накладные расходы, как по времени выполнения кода, так и по объёму исполняемого кода. Но на самом деле, ООП не является обязательным в С++. Можно писать на С++ вообще не используя классов, но используя весь остальной синтаксис, и, таким образом, использовать С++ как "улучшенный С".
Tags: C и C++, книги, программирование
Subscribe

  • Прекрасное под катом

    Людям со слабой психикой под кат не заглядывать! Описание: Книга даёт ответы на главные вопросы науки и человечества, описывает неизвестное…

  • Вселенная-25

    Практически каждый раз, когда начинаются разглагольствования об "обществе потребления", всплывает так называемый "эксперимент Вселенная 25". Если…

  • О групповых проектах

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 24 comments

  • Прекрасное под катом

    Людям со слабой психикой под кат не заглядывать! Описание: Книга даёт ответы на главные вопросы науки и человечества, описывает неизвестное…

  • Вселенная-25

    Практически каждый раз, когда начинаются разглагольствования об "обществе потребления", всплывает так называемый "эксперимент Вселенная 25". Если…

  • О групповых проектах