https://daniel.haxx.se/blog/2020/10/09/rust-in-curl-with-hyper/
Скоро и във вашия дом
Много спорно е твърдението, че новонаписан код на Rust ще е по-безопасен от стар, добре дебъгнат код на C.
Но че ще е по-бавен и по-голям е гарантирано.
Аз по принцип харесвам да пробвам нови езици и бях започнал да уча Ръст. Нещо не схванах как може да се направи дейта структура ориентиран/неорентиран граф след като всеки обект трябва да има само един собственик.
И се отказах. :)
Това е добра тема да обсъждаме такива неща ако имаш желание.
Ами такива структури се пишат много трудно :)
Иначе може да имаш и повече от един собственик - вместо Box<T> ползваш Rc<T>/Weak<T>. Обаче нещата в Rc<> не могат да се променят и трябва да го ползваш в комбинация с RefCell<T> (see interior mutability pattern).
Разбира се може да ползваш и unsafe, където все едно пишеш на Ц. Тогава защо изобщо да ползваш ръст ? Ами защото само малка част от програмата ще е unsafe и няма да е проверена от компилатора, докато останалата част ще се възползва от benefit-ите на езика. Така ако нещо се сбози ще имаш много по-малко количество код което да прегледаш.
Много зависи и от репрезентацията на графа - ако е малък, може да ползваш масив и вместо да държиш указатели, може да ползваш най-обикновени индекси :) и там този проблем изчезва.
Да, това с индексите веднага ми дойде наум, но когато започнеш да заобикаляш правилата за сравнително елементарни неща, веднага ми светва червената лампичка. :)
Не мога да кажа че има нещо което не ми харесва. Има неща които са ми сложни и не разбирам - примерно как се пишат макроси, процедурни макроси, етц, но това не е защото са лоши, ами защото липсват хубави ресурси за учене за тях.
Може би малък минус е бавната компилация. Някои промени карат почти всичко да се прекомпилира. За хоби не е проблем, но предполагам ако имаш по-голям проект и трябва да чакаш няколко часа няма да е приятно.
Това което ми харесва, е че иска по-различно мислене и ми помага да гледам на проблеми които срещам примерно в джава/го по друг начин.
Тия неща с ownership-а са начин на мислене в ком, гледан филм, може го на Цъ без плюсове, да, ънсейф, веднъж за три дни два пъти щеше да ме блъсне кола на зебра, животът е ънсейф. Като ергономичност има разни чалгаджийски неща като метод чейн с точка което е ниското ниво на програмиски кеф, радка пиратка. Освен това има специални символи които за разлика от Цъ и Перл някак не влизат естествено. Нема СПИРИТ, Цъ без плюсовете и джаваскриптчето и перл и руби и питон имат, програмиските езици са ЗА хюманите, ръждата е слаба тука, некси не грабва ИРАЦИОНАЛНАТА аудитория :)