Wpis z mikrobloga

  • 0
@MakeLifeGreatAgain: Po pierwsze, nieprawda, unsafe nie wyłącza borrow-checkera. Kompilator łapie błędy dostępu pamięci za pośrednictwem referencji również wewnątrz unsafe. Samo unsafe jest niewystarczające - potrzeba bardziej się postarać aby doprowadzić do takiego crasha.

Po drugie unsafe w Rust jest konstrukcją występującą niezmiernie rzadko. Jest różnica czy masz 10 linii kodu w unsafe czy 10 tysięcy linii kodu (jak w przypadku C i C++ gdzie wszystko jest unsafe). Twierdzenie że Rust
  • Odpowiedz
  • 0
@MakeLifeGreatAgain: Microsoft i Google mają programistów znających dobrze C i C++ i jednak historia błędów pokazuje, że nie, argument „wystarczy nie robić błędów” nie działa. W modern C++ możesz zrobić bardzo łatwo UB bez używania wskaźników czy alokacji na heapie. Ponad połowa dziur bezpieczeństwa w Windows oraz Android to błędy zarządzania pamięcią w C i C++.

Unsafe w sterownikach i oprogramowaniu systemowym najczęściej pojawia się na styku z systemami zewnętrznymi
  • Odpowiedz
@Krolik: Ja wiem, że o błędy w C i C++ jest łatwo. Dlatego to co napisałem, że w tych językach serio musisz być dobry bo na tobie wszystko spoczywa w porównaniu do Rust. Wiadomo mimo to błędy się zdarzają, ale kompilatory oferują sporo flag, które mogą sporo rzeczy wykryć, ale niestety trzeba tych flag podczas kompilacji używać.
  • Odpowiedz