Языковое замещение, или Почему Rust сменяет C
В компании Evrone язык Rust применяется на многих проектах, и наши инженеры накопили большую экспертизу в этом направлении. В публикации мы расскажем об особенностях Rust.
В компании Evrone язык Rust применяется на многих проектах, и наши инженеры накопили большую экспертизу в этом направлении. В публикации мы расскажем об особенностях Rust.
Я не профессиональный разработчик, но с т.з. мимокрокодила Rust выглядит очередным КГ/АМ от неосиляторов энтерпрайза.
C - простой язык. Написанная на нем программа делает в точности то, что скажут. Если сказали то, что не подразумевали - проблема тупорылого разработчика.
C++ - сложный язык. Надстройка над C, точнее прямо дикая "анафилада лабиринтов", надстроенная над языком неоптимальным образом (Objective-C справился лучше). При умелом использовании - полезная вещь, при неумелом... "сёр, зе програм сендс маллок реквест ту де вронг ареа анд гет сегфаолт иф ю юз зис фичёр, сёр".
Rust - ненужный язык, т.к. есть или C++ чтобы делать все абстрактно, или C, чтобы делать все конкретно, или Java или C# (оба с JIT-компиляцией) чтобы делать все кросплатформенно.
Я не профессиональный разработчикC - простой языкНу так бы сразу и сказал, что не имеешь опыта отладки
я имею опыт отладки на Си, больше 20 лет им пользуюсь. мой нынешний проект - 750 тысяч строк на Си (без тестов и проч). очень рад, что на Си все еще можно программировать. что я могу выделить память когда мне нужно и освободить тоже когда мне нужно. или не освободить. и не насиловать интернет и себя вопросами про то как работает этот GC.
Можно использовать Memory Pool на Си и с метками goto (почти как defer в некоторых языках), которые в нужных местах освобождают эти самые пулы (ну да нужно архитектурить приложение в UML, а не кодить и потом думать). В одном небольшем инструментике использовал - полетом остался доволен. Бывает периодами ошибки вылезают, но в целом и GC (ref. count) и на там же Си вполне сносно можно сделать. Так что было б желание, а прикрутить какую-то приблуду из языков можно если захотеть.
Ну, положим, мой предел программирования на C - курсач для вуза и его отладка, да.
В OpenBSD (система, с которой я пишу), разработчики откинули предложение внедрить Rust влет: https://marc.info/?t=151233221700001&r=1&w=2 .