Старому манифесту «пишите меньше на C++» снова спорят: какое именно подмножество?

Orthodox C++ призывает к минимальному подмножеству — без исключений, RTTI, выделяющих память STL и iostream — которое лучше чистого C, но без машинерии современного C++. За девять лет манифест переопубликовали в четвёртый раз, и каждый раз он взрывает один и тот же спор.

Вкратце

Ветераны embedded называют это отличным списком того, чего избегать. Прикладные программисты — произвольным самоограничением. А один читатель указывает: совет автора предпочитать printf потокам — это дыра в безопасности памяти, а не упрощение.

Самая точная реплика в треде бьёт мимо обоих лагерей: все согласны, что чистое подмножество C++ существует, и никакие два инженера не сходятся в том, какое именно. В 2026-м над всем спором нависает невысказанный третий вариант — Rust или Zig.

Манифест: C++ минус почти весь C++

Orthodox C++ — баннер поста
Orthodox C++ — баннер поста

Orthodox C++ Бранимира Караджича задаёт намеренно узкое подмножество языка: избегать исключений, RTTI, выделяющих память контейнеров STL, iostream и stringstream, тяжёлого метапрограммирования и свежих стандартов (ждать около пяти лет, прежде чем их брать). Предпочитать C-подобный код, заголовки C-рантайма и ввод-вывод в стиле printf, в духе фразы Страуструпа о меньшем и более чистом языке, который пытается выбраться наружу из C++. Аргументы — читаемость, совместимость с массой компиляторов и отказ от скрытых издержек. Пост 2016 года всплывает на HN снова и снова, и каждый раз поджигает один и тот же фитиль.

Embedded говорит да, прикладники — нет

Самая чёткая линия разлома — это область применения. Для инженера, работающего близко к железу, список — просто выстраданный вкус:

«Я занимаюсь embedded на C++ с тех времён, когда камни были молодыми, и это отличная сводка того, чего стоит избегать. Очень не хватает хорошего рантайма корутин и поддержки defer на уровне языка…» — давний разработчик embedded на C++

Для того, кто строит системы повыше уровнем, те же правила читаются как ненужное самокалечение, и сопровождающий DAW Ardour не стал сдерживаться:

«for (auto const & ess : esses) { ... } вы вырвете у меня только из холодных мёртвых рук. И за dynamic_cast тоже придётся подраться… оставайтесь на C и не лезьте к программистам на C++. Давно не видел менее полезной статьи про C++.» — сопровождающий аудиостанции Ardour

Совет, который может быть прямо опасным

Один читатель пошёл дальше вопроса вкуса: фирменная рекомендация манифеста, по его словам, переворачивает с ног на голову тот самый аргумент о безопасности, на который опирается:

«stringstream и fmt — это спасение по сравнению с printf/scanf, которые исторически и породили большинство багов с памятью!… Любой, кто продвигает старый cstdio как базовое проектное решение… несерьёзен.» — читатель о printf как дыре в безопасности памяти

Фраза, которая закрывает спор

После всех пререканий один комментарий сжал весь жанр текстов «используйте хорошее подмножество C++» в два предложения:

«Где-то внутри C++ есть подмножество C++, которое является отличным языком. Проблема, конечно, в том, что никто не сходится в том, какое это подмножество.» — читатель, назвавший настоящий тупик

Почему он всё ещё вспыхивает в 2026

Пост 2016 года продолжает собирать треды на 140 комментариев не потому, что кто-то меняет мнение. Дело в том, что «Orthodox C++» называет реальное желание — меньший, предсказуемый язык — но не решает единственный сложный вопрос: какие фичи проходят отбор. А у этого вопроса нет ответа, независимого от области применения. Что изменилось сейчас — это выход, о котором манифест молчит: когда тезис звучит как «C++, но достаточно дисциплинированный, чтобы быть безопасным и простым», в комнате уже стоят Rust и Zig и спрашивают, зачем вы вообще всё ещё договариваетесь с препроцессором.

Получайте такие разборы каждый день

Главные истории Hacker News — на email, в Telegram или RSS.

Следующая новость · 18 из 21 Читать дальше
🚀Tech

Кен Ширрифф растворил кислотой чип Intel 1980 года, чтобы прочитать его сумматор

8087 ускорял математику до 100 раз по сравнению с процессором, рядом с которым стоял. Ширрифф снял слой металла с кристалла, чтобы сфотографировать транзисторы его 69-битного сумматора — наномашины в самом сердце чипа.

★ 92 · 💬 25 · righto.com · 3 мин