Это ложно. Корректный код на Rust в миллиарды раз проще писать, чем на C, Zig и, даже, Go. Проверено
5)
1089 строк на Zig
На Rust вышло бы и того меньше за счет отсутствия defer (это "фичей" назвать трудно, если честно; только в ироничном ключе), функционального подхода и удобнейших инструментов для работы со строками
6)
Ошибки компилятора длинные
В Rust прекрасные ошибки от компилятора, часто содержащие примеры исправлений. На зависть многим языкам
7)
Стоит ли переходить на Zig в 2026?
Почти в любом случае - нет, железобетонно. Нужен язык, использовать который можно без боли, быстрый, без gc - Rust, без серьезных альтернатив
Рекомендую, если целью является обучиться крутому инструменту production-ready и стать востребованным разработчиком, изучить Rust и/или Go. C - deprecated, Zig - тупик.
ИМХО
PS: вспомнилось мне интервью на youtube-канале ThePrimeTime с Алексеем Кладовым о Zig и его фичах. Зашла речь про то, что Алексею понадобилось быстренько написать небольшой инструмент для работы с большим строковым файлом. Он ответил, что выбрал Rust. Очень показательно ) https://www.youtube.com/watch?v=V8Bg55lTUCw&t=3701s
Сколько же неправды вы написали ) 0) Rust или Go - вкусовщина (и не только). У го порог входа может быть ниже, но когда (вдруг) приходится что-то оптимизировать или делать что-то более сложное, оказывается что "простота" (я бы сказал "кастрированность") языка начинает совать палки в колеса. И тут начинается генерация костылей за костылями. Да и с безопасностью (отсутствие null safety или гонки в многопоточке, к пример) в Go сильно хуже, прям отвратительно, 10 шагов назад. Я много прогал на Го и кайфа не получал. Имхо
1) "эльфийский по типу плюсов" - не знаете, что пишете ) Плюсы в разы сложнее и огромней. Раст - скорее Си 21 века
2) Раст без сторонних крейтов зависим только от системных библиотек операционной системы (если собирать с помощью musl, то и от этих зависимостей получится избавиться). Среди крейтов сторонних есть те, которые зависят от сторонних либ в системе (openssl, например), но это исключение из правил и встречается крайне редко. Но такое и на go бывает (sqlite). Подход, как и у Go - статика по умолчанию. Тот же crate для разработки под esp32 от espressif около года или типа того не зависит от сторонних сишных либ.
Для ffi с C++ лучше использовать cxx, потому что умеет конвертировать плюсовые исключения в растовый Result. В случае с bindgen, исключение, которые уходит в Раст, - уб. Он больше для связки с Си подходит
В Раст возникают сложности, когда пишешь код с ошибками (например, пытаешься шарить потоконебезопасную переменную между тредами). В си/++, действительно, в этом плане проще.
Писал на го, пишу на расте. Скажу, что на го писать - неприятно, многого не хватает в языке, писать на расте - сплошное удовольствие
Очень легко: write значение указателя на данные в программе на Раст в файл устройства (/dev), драйвер может что ему угодно по этому указателю сделать. Вот и уб без unsafe. С таким лично столкнулся, когда драйвер по указателю менял структуру в программе на расте объявленой как немутабельная (без mut), что в расте считается уб
Что есть сложность? На расте писать легко в сравнении с C
Вы продали мне Claude Code!
Наброшу немного за Rust
1)
В Rust еще круче есть - Result<T>: https://doc.rust-lang.org/book/ch09-02-recoverable-errors-with-result.html#recoverable-errors-with-result
2)
В Rust: https://crates.io/crates/cargo-zigbuild
3)
В Rust - за доли секунд
4)
Это ложно. Корректный код на Rust в миллиарды раз проще писать, чем на C, Zig и, даже, Go. Проверено
5)
На Rust вышло бы и того меньше за счет отсутствия defer (это "фичей" назвать трудно, если честно; только в ироничном ключе), функционального подхода и удобнейших инструментов для работы со строками
6)
В Rust прекрасные ошибки от компилятора, часто содержащие примеры исправлений. На зависть многим языкам
7)
Почти в любом случае - нет, железобетонно. Нужен язык, использовать который можно без боли, быстрый, без gc - Rust, без серьезных альтернатив
Рекомендую, если целью является обучиться крутому инструменту production-ready и стать востребованным разработчиком, изучить Rust и/или Go. C - deprecated, Zig - тупик.
ИМХО
PS: вспомнилось мне интервью на youtube-канале ThePrimeTime с Алексеем Кладовым о Zig и его фичах. Зашла речь про то, что Алексею понадобилось быстренько написать небольшой инструмент для работы с большим строковым файлом. Он ответил, что выбрал Rust. Очень показательно )
https://www.youtube.com/watch?v=V8Bg55lTUCw&t=3701s
Сколько же неправды вы написали )
0) Rust или Go - вкусовщина (и не только). У го порог входа может быть ниже, но когда (вдруг) приходится что-то оптимизировать или делать что-то более сложное, оказывается что "простота" (я бы сказал "кастрированность") языка начинает совать палки в колеса. И тут начинается генерация костылей за костылями. Да и с безопасностью (отсутствие null safety или гонки в многопоточке, к пример) в Go сильно хуже, прям отвратительно, 10 шагов назад. Я много прогал на Го и кайфа не получал. Имхо
1) "эльфийский по типу плюсов" - не знаете, что пишете ) Плюсы в разы сложнее и огромней. Раст - скорее Си 21 века
2) Раст без сторонних крейтов зависим только от системных библиотек операционной системы (если собирать с помощью musl, то и от этих зависимостей получится избавиться). Среди крейтов сторонних есть те, которые зависят от сторонних либ в системе (openssl, например), но это исключение из правил и встречается крайне редко. Но такое и на go бывает (sqlite). Подход, как и у Go - статика по умолчанию. Тот же crate для разработки под esp32 от espressif около года или типа того не зависит от сторонних сишных либ.
Как же Rust хорош
Для ffi с C++ лучше использовать cxx, потому что умеет конвертировать плюсовые исключения в растовый Result. В случае с bindgen, исключение, которые уходит в Раст, - уб. Он больше для связки с Си подходит
Го страшен своей обработкой ошибок, занимающей больше места, чем основной код. Этого уже достаточно, чтобы сказать, что на расте код красивей
Стабилизировали еще в конце прошлого года
Не вопрос - https://crates.io/crates/windows
Нет, меня все устраивает: не пишу на плюсах )
А теперь представим систему без поддержки атомиков (да, такие существуют). С Раст понятно - Rc, а как на плюсах?
Разобраться в расте один раз и без боли читать/писать, получая удовольствие, того стоит
Почему нет, если годная технология и хочется популяризировать?
Например, что поломали?
В Раст возникают сложности, когда пишешь код с ошибками (например, пытаешься шарить потоконебезопасную переменную между тредами). В си/++, действительно, в этом плане проще.
Писал на го, пишу на расте. Скажу, что на го писать - неприятно, многого не хватает в языке, писать на расте - сплошное удовольствие
Очень легко: write значение указателя на данные в программе на Раст в файл устройства (/dev), драйвер может что ему угодно по этому указателю сделать. Вот и уб без unsafe. С таким лично столкнулся, когда драйвер по указателю менял структуру в программе на расте объявленой как немутабельная (без mut), что в расте считается уб