Rustは参照カウントとか循環参照とかを知っていて慎重にプログラムを組まないとListを安全に実装できないがJavaは何も考えずに実装してもメモリリークすることがない、そういう意味ではRustはしんどい

Javaでネイティブメモリを使うコードのメモリ管理をやろうとするとtry-with-resourceを使って慎重に実装しないといけないがRustは何も考えずに実装しても解放漏れがない

何事も一長一短