@xial00 czy to naprawdę jedyna droga do bezpiecznego kodu? W pracy ostatnio wziąłem sobie Rusta do douczenia i się zastanawiam nad tym powszechnym argumentem, że C++ to wylęgarnia memory leaków. Przecież to można pokryć testami, przeczytać swój kod i dopiąć komponent na 100 %. Może specyfika moich projektów nigdy nie sprowadziła mnie na ziemię, więc ktoś może mnie oświeci
można pokryć testami, przeczytać swój kod i dopiąć komponent na 100 %
Rozwiązania, które napisałeś przerzucają odpowiedzialność na człowieka (w projektach na dziesiątki/setki ludzi). Właśnie o to chodzi, aby to komputer (kompilator) wziął na siebie większą część tego zadania.
@bartox7777 o też to, zapomniałem dopisać. Na dzisiaj testy w większości pisze mi bot i obie strony są zadowolone. Zdaje sobie sprawę, że rynek się zmienia i Twój argument to powód dlaczego powoli Rusta doszkalam. Na dzisiaj brakuje bibliotek pod AI, ale jeszcze przyjdzie taki dzień ( ͡°͜ʖ͡°)
@xial00: wszyscy porównują tak tego Rusta do C i C++ ale nie wiem czy to w ostateczności mu nie szkodzi - w sensie że ludzie go zaszufladkują jako lepsze C++. A Rust jest bezpieczniejszy również od Javy, C# i Go. I nie tylko bezpieczniejszy ale także bardziej ekspresywny.
@c137: no niby na newstacku pisali, ze rust ma byc bardziej kompatybliny z llmami, nie wiem co to znaczy, moze ze llmy lepiej pisza kod w ruscie niz w c++?
1. Nie da się. 2. 100% pokrycia testami nie gwarantuje braku błędu. 3. Jeśli takie błędy można wykrywać bez ingerencji człowieka, to lepiej to robić bez ingerencji człowieka. 4. W C++ nie da się dodać 2 liczb ze znakiem bez potencjalnego UB. 5. Lata praktyki pokazują, że nie tak łatwo jest pisać kod bez błędów pamięci. CVE to pokazuje.
Rozwiązania, które napisałeś przerzucają odpowiedzialność na człowieka (w projektach na dziesiątki/setki ludzi). Właśnie o to chodzi, aby to komputer (kompilator) wziął na siebie większą część tego zadania.
1. Nie da się.
2. 100% pokrycia testami nie gwarantuje braku błędu.
3. Jeśli takie błędy można wykrywać bez ingerencji człowieka, to lepiej to robić bez ingerencji człowieka.
4. W C++ nie da się dodać 2 liczb ze znakiem bez potencjalnego UB.
5. Lata praktyki pokazują, że nie tak łatwo jest pisać kod bez błędów pamięci. CVE to pokazuje.