Comparing Rust to Carbon
На RustConf 2025 обсуждалась совместимость Rust и C/C++, где Чендлер Каррут сравнил подходы Rust и экспериментального языка Carbon. Rust предлагает инструменты вроде bindgen и cxx для взаимодействия, но они слабо подходят для сложного legacy-кода C++ (brownfield), где тесные связи и большой API усложняют миграцию. Carbon же задуман как полностью совместимый с C++ язык, позволяющий постепенно переписывать проекты файл за файлом без смены компилятора, с акцентом на аннотации для безопасности памяти.
Каррут считает, что Rust не скоро решит проблему полной интероперабельности с C++, тогда как Carbon предлагает эволюционный путь, аналогичный переходу от JavaScript к TypeScript. Это даёт пространство для Carbon, особенно в крупных legacy-проектах, где полный переход на Rust непрактичен. Вывод: два языка могут сосуществовать, решая разные аспекты миграции к безопасным языкам.
Комментарии (30)
- Обсуждается сложность и подходы к миграции с C/C++ на современные языки (Rust, Kotlin, Swift), включая инструменты для конвертации и постепенного перехода.
- Поднимаются вопросы о важности качественной интероперабельности между языками и недостатках C как языка-«клея» из-за отсутствия современных функций безопасности.
- Высказываются сомнения в универсальности Rust для полного переписывания из-за архитектурных несовпадений с идиоматическим C++.
- Отмечается, что такие проекты, как Carbon, нацелены на крупные кодобазы (вроде Google) и инкрементальный рефакторинг без полного переписывания.
- Упоминается, что принятие Rust в Linux пока ограничено (драйверы, отдельные подсистемы), а будущее Kotlin и Swift вне их экосистем (Android/Apple) остается под вопросом.
Is Zig's new writer unsafe?
Новый интерфейс std.Io.Reader в Zig может приводить к неопределённому поведению при использовании с буфером произвольного размера. Например, при передаче ридера из zstd-декомпрессора в функцию вывода с буфером 64 байта код либо аварийно завершается в режиме отладки, либо зацикливается в релизе. Проблема в том, что некоторые ридеры требуют конкретного размера буфера у писателя, но это требование не всегда очевидно или документировано.
Ситуация усугубляется тем, что сбой может зависеть от входных данных: с одними данными код работает, с другими — нет. Это создаёт риски для библиотек, где тип ридера неизвестен заранее, например, при обработке HTTP-заголовков. Автор спрашивает, не ошибся ли он, но если нет — это серьёзный изъян в дизайне API.
Комментарии (112)
- Обсуждается потенциальная проблема безопасности или баг в Zig, но участники склоняются к тому, что это скорее единичная ошибка, а не системная уязвимость.
- Участники дискутируют о ценностном предложении языка Zig, описывая его как современную альтернативу C с лучшей эргономикой, компиляцией во время выполнения (comptime), явным управлением памятью и меньшим количеством неопределённого поведения.
- Критикуется реакция создателя Zig, Эндрю Келли, на конструктивную критику, которую некоторые участники сочли резкой и недружелюбной.
- Zig позиционируется как мощный инструмент для низкоуровневого программирования с ультранизкой задержкой (например, для HFT или игр), где безопасность не является приоритетом, в противовес Rust.
- В качестве альтернатив для модернизации C++ упоминаются другие языки, такие как Carbon.
U.S. Emissions Rise 4.2%, China's Fall 2.7%
- США увеличили выбросы CO₂ на 4,2 %, Китай снизил на 2,7 % (январь–июнь 2025 г. к аналогичному периоду 2024 г.).
- В Китае падение: –1,4 % в энергетике и промышленности, остальные секторы без изменений.
- В США рост по всей экономике: +2 % транспорт, +1,3 % энергетика.
- Среди остальных стран рекордный рост: Испания +6 %, Бразилия +5,6 %, Германия и Япония также в плюсе.
Комментарии (72)
- В мае 2025 г. Китай добавил 92 ГВт солнечных мощностей — почти столько, сколько США накопили за всё время (134 ГВт).
- Рост «зелёной» генерации уже снижает потребление угля в Китае, несмотря на ввод новых угольных блоков.
- Обсуждение разделилось: кто-то хвалит темпы декарбонизации, кто-то напоминает, что Китай всё ещё выбрасывает 16 млрд т CO₂ (в 2,5 раза больше США) и что значительная часть выбросов связана с экспортным производством.
- Появились версии, что Китай строит солнечные гиганты ради энергонезависимости и лишь «по случаю» улучшает климатический имидж.
- Участники предполагают, что ЕС и другие страны могут ввести «углеродные» меры против США, если оно не ускорит энергопереход.
Carbon Language: An experimental successor to C++ 💬 Длинная дискуссия
—
Комментарии (193)
I think this page describes "what" but not "why" of Carbon.Carbon exists so that it's possible to migrate a large C++ code base, like Chrome, from C++ to something saner, incrementally.The most important attribute of Carbon is not the specifics of the syntax but the fact that it'