Rust
Rust — Tecnologia. svantaggio_SDD: Borrow Checker vs natura probabilistica LLM · ruolo: Linguaggio target; safe Rust trasforma UAF/double-free/fuite in errori di compilazione, pulizia automatica via Drop (RAII); ~4 % di codice unsafe dopo il porting
Jarred Sumner ha riscritto Bun da Zig a Rust in undici giorni, dal 3 al 14 maggio 2026, utilizzando circa cinquanta workflow dinamici in Claude Code. La motivazione era una singola classe di bug: use-after-free, double-free e leak nati dal mescolare la memoria a garbage collection di JavaScriptCore con la memoria gestita manualmente di Zig. In Rust sicuro questi diventano errori di compilazione, con la pulizia gestita da Drop. Il porting ha comportato 6.502 commit e circa 16.000 errori di compilazione trattati come una coda di lavoro, è costato circa $165.000 in token e ha lasciato il 4% di codice unsafe.
La stessa rigidità si legge come un handicap altrove. Un report di ricerca sull'adeguatezza dei linguaggi per lo Spec Drive Development colloca Rust all'estremo dell'alto attrito: il borrow checker entra in conflitto con la natura probabilistica degli LLM, producendo cicli di correzione costosi in token e in tempo. Kent Beck si è scontrato con la versione concreta di questo problema costruendo BPlusTree3, abbandonando due versioni man mano che il modello di ownership di Rust ne aumentava la complessità, per poi sbloccare il lavoro scrivendo prima in Python e trascrivendo poi in Rust tramite il Remote Agent di Augment.
Rust compare anche come infrastruttura piuttosto che come oggetto. Home Mixer, l'orchestratore del feed For You di X, e Thunder, il suo store di candidati in memoria alimentato da Kafka, sono entrambi scritti in questo linguaggio.
Ciò che resta irrisolto è se il compilatore sia il revisore più affidabile dell'agente o il suo tributo più pesante. La riscrittura di Bun ha reso vere entrambe le cose insieme: 16.000 errori da smaltire, e una classe di bug di memoria che non poteva più essere rilasciata in produzione.
- Tipo
- Tecnologia
- svantaggio_SDD
- Borrow Checker vs natura probabilistica LLM
- ruolo
- Linguaggio target; safe Rust trasforma UAF/double-free/fuite in errori di compilazione, pulizia automatica via Drop (RAII); ~4 % di codice unsafe dopo il porting
- relazioni
- 6
- Citata in
- 2 fiches
Vicinato
← utilizza
→ riduce
→ sostituisce