"N" з "в N разів" важче-чи-легше залишимо як повністю суб'єктивно-узагальнюче бачення разів у будь-яку сторону.
Для середніх і великих змін частота відкату змін Rust в Android приблизно у 4 рази нижча, ніж у C++. Така низька частота відкату не лише вказує на стабільність, але й активно покращує загальну продуктивність розробки. Відкат змін є високодеструктивним для продуктивності, створюючи організаційні тертя та мобілізуючи ресурси далеко за межами розробника, який подав несправну зміну. Відкати вимагають повторної роботи та додаткових кодових рецензій, можуть також призвести до повторного створення збірок, післяаварійних аналізів та блокування інших команд. Результуючі післяаварійні аналізи часто вводять нові захисні заходи, які додають ще більше перевантаження розробкою.У самозвітному опитуванні 2022 року програмісти Google повідомили, що Rust легший для рецензування та ймовірність його правильності вища. Тверді дані про частоту відкату та час рецензування підтверджує ці враження.
І працювати з Растом значно легше ніж Сі
Для середніх і великих змін частота відкату змін Rust в Android приблизно у 4 рази нижча, ніж у C++
ЦитатаІ працювати з Растом значно легше ніж СіvsЦитатаДля середніх і великих змін частота відкату змін Rust в Android приблизно у 4 рази нижча, ніж у C++Так тут мова про різні речі (легкість і частота чогось), і навіть мови інші (раст і плюси, то зовсім не сі), і все то на твердженні для андроїда.
Заперечень до "C is generally considered simpler" у порівняні з раст не побачив... навіть у часткових замірах чогось компанії з раст промошен, не кажучи про узагальнення.
ЦитатаЦитатаІ працювати з Растом значно легше ніж СіvsЦитатаДля середніх і великих змін частота відкату змін Rust в Android приблизно у 4 рази нижча, ніж у C++Так тут мова про різні речі (легкість і частота чогось), і навіть мови інші (раст і плюси, то зовсім не сі), і все то на твердженні для андроїда.Ну так «програмувати» та «працювати» — це теж різні слова.
ЦитатаЦитатаЗаперечень до "C is generally considered simpler" у порівняні з раст не побачив... навіть у часткових замірах чогось компанії з раст промошен, не кажучи про узагальнення.Раст складніший за Сі (але простіший за Сі++). Асемблер простіший за всіх трьох — навіть дитячі забавки використовують асемблер, тому що його легко вивчити. Ніхто з цим не сперечається, бо це проблема №1 вже 10 років.дає серйозний приріст у продуктивності порівняно ... ніж на Сі
ЦитатаЗаперечень до "C is generally considered simpler" у порівняні з раст не побачив... навіть у часткових замірах чогось компанії з раст промошен, не кажучи про узагальнення.Раст складніший за Сі (але простіший за Сі++). Асемблер простіший за всіх трьох — навіть дитячі забавки використовують асемблер, тому що його легко вивчити. Ніхто з цим не сперечається, бо це проблема №1 вже 10 років.
Сі складний у роботі, через ручне керування памʼяттю, через відсутність обʼєктно-орієнтованого програмування, через погану обробку помилок, через квадратичну складність при роботі з текстами, через застарілі інтерфейси які розраховані на однопоточну модель, і так далі.
Це можна виправити (Ява ...)
переписування на раст десяток чи два років вже готового коду (ще і внесення в той обкатаний код нових помилок) говорить про зворотнє відносно продуктивності з раст
(Up to Oct. 15, 1994) C_FILE ADA_FILE SCRIPT_FILE OTHER_FILE TOTALS all_lines: 1925523 1883751 117964 604078 4531316 SLOC: 1508695 1272771 117964 604078 3503508 files: 6057 9385 2815 3653 21910 updates: 47775 34516 12963 12189 107443 new_features: 26483 23031 5594 6145 61253 Fixes: 13890 5841 4603 1058 25392 Fixes/feature: .52 .25 .82 .17 .41 Fixes/KSLOC: 9.21 4.59 39.02 1.75 7.25 devel_cost: $15,873,508 $8,446,812 $1,814,610 $2,254,982 $28,389,856 cost/SLOC: $10.52 $6.62 $15.38 $3.72 $8.10 defects: 1020 122 (A) (B) 1242 defects/KSLOC: .676 .096 (A) (B) .355
і в цілому враховуючи всі плюси та мінуси залишається зручнішим в більшості випадків по практиці які у мене були
Тип найчастіших помилок в C/C++ що викликають головні CVE:...Тобто основні джерела проблем безпеки в софті на C/C++ не є дозволеними в Rust (без зайвих хитрощів звичайно).Якщо уявити скільки головняка мають компанії (й не лише софтові) з запобіганням цим CVE або, що гірше, у боротьбі з наслідками, то міграція на Rust — цілком логічний і правильний рух.
Цитатапереписування на раст десяток чи два років вже готового коду (ще і внесення в той обкатаний код нових помилок) говорить про зворотнє відносно продуктивності з растНі, не говорить. Наведіть дослідження, які це підтверджують.
Наприклад дослідження Ади проти Сі в 94-му показали що один рядок коду на Сі у півтора рази дорожчий за рядок коду на Аді ($10.52 проти $6.52), в той же час помилок в коді на Аді було допущено приблизно у 8 разів менше чим в коді на Сі (122 проти 1020).
Цитатаі в цілому враховуючи всі плюси та мінуси залишається зручнішим в більшості випадків по практиці які у мене булиДослідження показують, щоб зараз більшість мов програмування показують себе добре на проєктах довжиною від 4 до 8 місяців, а от пізніше починаються проблеми, які є різними для різних типів мов. Тому для маленьких проєктів мова майже не має значення.
Мої враження складаються з того з чим стикаюсь на практиці (а раст промошен - дивлюсь і просто приймаю до уваги)З того маємо:uutils(coreutils-rs) since 2013 (якщо вірити томуж гугл) і досі повністю не переписали, а після того як додали в убунту - про віконця з backtrace вже згадував раніше.
sudo-rs - вище наводив url з phoronix з обговоренням multiple security vulnerabilities.
firefox - mozilla де створили раст, так досі особливо і не продвинулись з раст-переписуванням браузера.
Ще можна було додати кейс з orphaned (після міграціїї на раст) bcachefs-tools в дебіан при появі maintenance-проблем, але це так на додаток поза тим що використовую.
ada назараз цікавить ще менш ніж джава
якщо власний погляд - то частково напевно так і є в залежності від розміру проекту і організації роботи з ним (але не довжиною в часі),хоча firefox явно щось відстає від такої галерної практики
... з вірогідністю 99% програма збереться будь де і не впаде на продакшні через логічні помилки типу подвійного вивільнення пам'яті, плутанини з null та обслуговуючими їх контейнерами, яких там анархічний мільйон.
... про віконця з backtrace вже згадував раніше.
Ні, не говорить. Наведіть дослідження, які це підтверджують. Наприклад дослідження Ади проти Сі в 94-му показали що один рядок коду на Сі у півтора рази дорожчий за рядок коду на Аді ($10.52 проти $6.52), в той же час помилок в коді на Аді було допущено приблизно у 8 разів менше чим в коді на Сі (122 проти 1020).
Якісь незрозумілі порівняння розмірами...)- з однієї сторони маємо - чи чверть, чи 12 на діаграмі, і т.п. від раст фан чи блогерів- з іншої - проценти від алгоритмів які використані на github.com в секції languages по офіційному репозіторію
Якщо поза пайтоном - то періодично продивляюсь які нові зручні мови з'являються без legacy старих мов програмування, і один із критеріїв - наскільки легко-зручно мені програмувати з відповідною мовою, і такі потрохи з'являються незважаючи на покищо відсутність підтримки від bigtech.
Відкати вимагають повторної роботи та додаткових кодових рецензій, можуть також призвести до повторного створення збірок, післяаварійних аналізів та блокування інших команд. Результуючі післяаварійні аналізи часто вводять нові захисні заходи, які додають ще більше перевантаження розробкою.