І на що це вказує?Їздити по рейках потягом легше ніж автомобілем по всіх видах доріг і без доріг Але рейки поки не всюди...
Графік не містить інформації про кількість людей та їхній досвід...
А взагалі то вже є різні випадки зі спробами його впровадження - починаючи від firefox що ще досі щось пробують переписати і не дуже далеко зайшли з тим, так і до відносно невеличких проектів як нп "sudo-rs Affected By Multiple Security Vulnerabilities" https://www.phoronix.com/news/sudo-rs-security-ubuntu-25.10
ЦитатаА взагалі то вже є різні випадки зі спробами його впровадження - починаючи від firefox що ще досі щось пробують переписати і не дуже далеко зайшли з тим, так і до відносно невеличких проектів як нп "sudo-rs Affected By Multiple Security Vulnerabilities" https://www.phoronix.com/news/sudo-rs-security-ubuntu-25.10Firefox перейшов на Quantum (їхній двигун на Расті) у 2017-му, він у два рази швидший за стару версію на Сі++: https://blog.mozilla.org/en/mozilla/introducing-firefox-quantum/
Вразливості у sudo-rs — це логічні помилки: 1) не того користувача записували в журнал (записували того, хто запустив, а не того, хто аутентифікувався), та 2) не стирало пароль з екрана, коли увімкнена опція показувати пароль при наборі, у випадку ненормального завершення програми (хтось інший може потім подивитися на екран і побачити пароль). Ніяка мова програмування не захищає від таких помилок.
1. Buffer Overflow (stack/heap)Що це: запис за межі масиву або буфера.Наслідки: RCE (remote code execution), підвищення привілеїв....Це №1 джерело серйозних CVE протягом десятиліть.2. Use-After-Free (UAF)Що це: використання пам’яті після її звільнення (free, delete)....Один із найтиповіших експлойтів у браузерах (Chrome/Firefox), PDF-рендерах, графічних драйверах.3. Double FreeЩо це: повторний виклик free() щодо одного й того ж блоку пам’яті.Наслідки: корупція heap-структур → можливий контроль над heap.4. Null Pointer DereferenceЗазвичай призводить до краху, але в драйверах чи ядрах може викликати privilege escalation.6. Out-of-Bounds Read/WriteНе обовʼязково прямий overflow....OOB-read часто стає інфо-витоком (info leak) — дуже важливим кроком для реальних експлойтів.7. Race Conditions...У ядрах (Linux, Windows) це одне з найсерйозніших джерел CVE.8. Uninitialized Memory Use...У криптобібліотеках це може призводити до витоку ключів.і т.ін.
тобто десь чверть
основні джерела проблем безпеки ... не є дозволеними в Rust (без зайвих хитрощів звичайно)
міграція на Rust — цілком логічний і правильний рух
Цитататобто десь чвертьЯкісь незрозумілі порівняння розмірами...)- з однієї сторони маємо - чи чверть, чи 12 на діаграмі, і т.п. від раст фан чи блогерів- з іншої - проценти від алгоритмів які використані на github.com в секції languages по офіційному репозіторію
Нехай навіть той десяток процентів від раст-оптимістів буде, за років 10. Тобто зарастять весь проект за 50-100 років по оптимальним цифрам?
sudo-rs якраз відносно проблем безпеки (як ви назвете їх логічно-безпечними нелогічно-безпечними логічно-небезпечними і т.п. - для користувачів ролі не відіграє - якщо вони є), і тоді виходить що там раст кодери переписуючи код цієї тулзи нахитрили достатньо що з'явилися нові додаткові security vulnerabilities?
ніяк не применшуючи плюси що надає відносно нова-ненова мова програмування така як раст - тим не менш скрізь є трейдофи, у цьому випадку також достатньо щоб не узагальнювати
firefox etc.ЦитатаНа Расті приблизно стільки ж коду як на Сі і в половину менше коду чим на Сі++
На Расті приблизно стільки ж коду як на Сі і в половину менше коду чим на Сі++
за вищу надійність потрібно платити довшим циклом навчання програмістів порівняно з Сі, та довшими циклами компіляції
Якщо Пітон можна вчити в школі, бо він простий, то Раст
Цитатаfirefox etc.ЦитатаНа Расті приблизно стільки ж коду як на Сі і в половину менше коду чим на Сі++github секція languages по офіційному firefox репо схоже з цим "приблизно стільки ж" не погоджується(https://github.com/mozilla-firefox/firefox/)
Не тільки цим, а з окремим виділенням складності раст програмування можна погодитись (приклад напевно може і firefox бути). В цілому - деякий тип помилок, чи десь щось недогледів, по ідеї очікували вирішити за допомогою додаткових засобів вбудованих напряму в мову програмування, але те що чи недостатній рівень expertise поза мовою програмування, чи мовна складність, чи ще щось не зовсім ясно що саме з тим пов'язано, - на практиці (приклади з coreutils-rs sudo-rs) призводить до появи помилок в інших місцях там де і не очікували.
Думаю що це один з основних недоліків раст, бо мова чим простіша тим легше її використовувати, тому тренд з овер-ускладненням багато хто вважає контрпродуктивним.
І тому саме (точніше - як одна з причин і цілей впровадження) нп для широкої бази пайтон програмерів з'явився mojo (який доречі з borrow checker) з плавним переходом від чисто пайтон коду, замість нп раст використання.
ЦитатаЦитатаНа Расті приблизно стільки ж коду як на Сі і в половину менше коду чим на Сі++github секція languages по офіційному firefox репо схоже з цим "приблизно стільки ж" не погоджується(https://github.com/mozilla-firefox/firefox/)Ну подивіться тут статистику тоді: https://optiklab.github.io/browsers-lang-stats/ , там і для Chromium статистика є.
ЦитатаНа Расті приблизно стільки ж коду як на Сі і в половину менше коду чим на Сі++github секція languages по офіційному firefox репо схоже з цим "приблизно стільки ж" не погоджується(https://github.com/mozilla-firefox/firefox/)
ЦитатаНе тільки цим, а з окремим виділенням складності раст програмування можна погодитись (приклад напевно може і firefox бути). В цілому - деякий тип помилок, чи десь щось недогледів, по ідеї очікували вирішити за допомогою додаткових засобів вбудованих напряму в мову програмування, але те що чи недостатній рівень expertise поза мовою програмування, чи мовна складність, чи ще щось не зовсім ясно що саме з тим пов'язано, - на практиці (приклади з coreutils-rs sudo-rs) призводить до появи помилок в інших місцях там де і не очікували.Так, але в результаті помилок значно менше. І працювати з Растом значно легше ніж Сі (а тим більше Cі++) + Valgrind, чи інший валідатор коду. Раст пише про проблему ще на етапі компіляції.
ЦитатаДумаю що це один з основних недоліків раст, бо мова чим простіша тим легше її використовувати, тому тренд з овер-ускладненням багато хто вважає контрпродуктивним.Раст поки що значно простіший за Сі++, але мені теж не подобається, коли починають ускладнювати. Але розробники знають про цю проблему, і працюють над спрощенням деяких аспектів мови. Наприклад валідатор позичань став ще розумнішим (переписують вже четвертий раз, здається).
ЦитатаІ тому саме (точніше - як одна з причин і цілей впровадження) нп для широкої бази пайтон програмерів з'явився mojo (який доречі з borrow checker) з плавним переходом від чисто пайтон коду, замість нп раст використання.Не чув про mojo. Виглядає перспективно, але проєкт із закритим кодом.
працювати з раст важче ніж з сі, тобто більш загальний погляд що "C is generally considered simpler", що збігається з моїм
ЦитатаЦитатаТак, але в результаті помилок значно менше. І працювати з Растом значно легше ніж Сі (а тим більше Cі++)працювати з раст важче ніж з сі, тобто більш загальний погляд що "C is generally considered simpler", що збігається з моїмНавчитися писати програми на Расті важче чим на Сі. Написати надійну програму на Расті в 4 рази легше ніж на Сі.
ЦитатаТак, але в результаті помилок значно менше. І працювати з Растом значно легше ніж Сі (а тим більше Cі++)працювати з раст важче ніж з сі, тобто більш загальний погляд що "C is generally considered simpler", що збігається з моїм
Так, але в результаті помилок значно менше. І працювати з Растом значно легше ніж Сі (а тим більше Cі++)