Aktywne Wpisy

RenkaRenkeMyje +1369
Wszystkie te czekolady i inne słodycze z nazwą "dubajskie" kojarzą mi sie jedynie z aferą srania do ryja polskim modelkom xD nie brzmi to zbyt zachęcająco kiedy patrzysz na taką czekoladke i... aaa nie ważne xD
#heheszki
#heheszki

innv +498
Najbardziej mi się śmiać chce, że to niby lewaki miały zabrać pieniądze i mieliśmy "nie mieć nic".
No cóż, psikus.
#gielda
No cóż, psikus.
#gielda





#programowanie #naukaprogramowania #cplusplus #cpp #informatyka #rustlang
RAII efektywnie jest wymaszane w języku Rust i tam jest dużo sprawdzania wbudowanego w kompilator
Nie da się w pełni sprawdzić czegoś, co dzieje się w runtimie. Można jedynie posłużyć się sanitizerami, albo jakimś valgrindem.
@OskarDw: Google twierdzi inaczej i ma na to dość mocne dowody. Generalnie w C++ możesz łatwo strzelić UB nawet używając zwykłych typów z STLa. Nie trzeba nawet do tego wskaźników ani zarządzania pamięcią.
@Goglez: Niedostatecznie ekspresywny system typów w C++, który nie rozumie pojęcia czasu życia wartości. Musiałbyś robić analizę całego programu a to z kolei nie jest możliwe ze względu na specyficzny sposób budowania projektowe C++ gdzie pliki są kompilowane osobno.
@Goglez: nie powiedziałbym że to problem, raczej cechą gdzie pamiecią zarządza programista, co też ma wiele zalet.
Jeśli chcesz żeby pamięć zwalniała się sama możesz to zrobić - choćby licząc referencje. Natomiast oczywiście wymaga to pewnej higieny pisząc kod, bo w C++ zawsze możesz sobie zapamiętać
@OskarDw:
Google zaobserwował duży spadek liczby błędów w nowym kodzie odkąd zmienił C++ na Rust jako główny
@Krolik: ten sam google w swoich projektach nie wdraża nowych rozwiązań z c++ (i nie mówię tu o świeżynkach), bo chcą zachować kompatybilność ze starym kodem. Widocznie wolą od nowa przepisywać do rusta niż uwspółcześnić starszy kod,.
@Goglez
https://www.mend.io/most-secure-programming-languages/
@zetisdead: Gwoli ścisłości - GC jest opcjonalne - istnieją crate'y które implementują tracing GC. GC się przydaje w implementacjach struktur lockless. Tylko że takie GC jest lokalne dla struktury danych i dzięki temu nie ma wad globalnego GC - nie powoduje pauz, nie ma też tak dużego narzutu pamięciowego.
Problem w
To jest prawda, Rust jest bezpieczniejszy, ale to o czym wspominasz to są drobnostki. Wyprodukowanie kodu, który zmienia const referencje to jest dość trudne zadanie, zgaduję, że łatwiej coś popsuć w sekcji "unsafe" w
@OskarDw: A kto powiedział, że mam zmieniać const referencję? Wystarczy zmienić ten sam obiekt używając innej referencji, która nie jest const. Jest to sytuacja bardzo łatwa do uzyskania przez przypadek, w dużym projekcie, składającym się z wielu komponentów. Const nie mówi o tym, że obiekt się nie zmieni. Const mówi o tym, że jedynie Ty nie możesz zmienić obiektu.