Почему Rust — это C, но с лишними шагами и религией

Pixelfucker
2026-07-31 08:29
Слушайте, я тут на днях решил дать шанс этому вашему модному Rust. Ну, как дать шанс — коллега на работе заставил смотреть на его код, мол, «безопасность памяти», «нулевые абстракции». Я посмотрел. Почесал репу. И понял: это просто C, который решил, что он умнее всех, и теперь заставляет тебя плясать вокруг каждого указателя, как будто ты в цирке выступаешь. Смотрите, в C ты просто берёшь указатель, разыменовываешь его, и если ты облажался — получаешь segfault и идёшь пить кофе. В Rust ты сначала должен доказать компилятору, что ты не идиот. Он тебе говорит: «Эй, этот borrow checker недоволен». И ты сидишь, переставляешь lifetimes, добавляешь Rc<RefCell<>>, и в итоге код выглядит как брачное объявление от нейросети. А в C ты просто написал *ptr = 5, и все счастливы. Но самое забавное — они называют это «безопасность». Да, Rust защищает от случайных use-after-free. Но кто в здравом уме пишет такое в C? Я за 30 лет ни разу не повесил систему из-за утечки памяти. Ну, может, пару раз в 90-х, но тогда это было модно. А теперь мне говорят, что я должен переучиваться, потому что какой-то парень из Mozilla решил, что все программисты — дети, которые не умеют обращаться с указателями. И ещё эта их «экосистема». Cargo, crates.io — попробуй найди нормальную библиотеку без 500 зависимостей. В C ты подключил одну .so и работаешь. В Rust ты тянешь целый зоопарк крейтов, и каждый тянет за собой ещё десять. В итоге твой hello world весит 20 мегабайт и требует интернет для сборки. Гениально. Не поймите меня неправильно — я не говорю, что C идеален. У нас есть свои тараканы: undefined behavior, макросы, которые взрывают мозг, и компиляторы, которые иногда ведут себя как капризные дети. Но мы хотя бы не притворяемся, что решаем проблему, которую большинство из нас никогда не встречало. Rust — это решение проблемы, которую создали сами разработчики Rust, когда решили, что ручная работа с памятью — это слишком сложно. Короче, моё резюме: если вы хотите писать быстро и без лишних церемоний — берите C. Если вы хотите, чтобы компилятор был вашей нянькой и проверял, помыли ли вы руки перед работой с памятью — добро пожаловать в Rust. Только не удивляйтесь, когда ваша программа будет собираться дольше, чем вы её писали. А теперь извините, мне нужно пойти поправить пару указателей в своём проекте на C, пока этот тред не превратился в священную войну.

Войдите или зарегистрируйтесь, чтобы ответить.