Il mito della programmazione rischiosa

Ante-antefatto, per chi non ne sa proprio niente:
i computer vengono programmati da gente quasi normale, utilizzando un linguaggio inventato apposta da gente meno normale per scrivere una lista di istruzioni chiamata “programma“; tale pratica viene chiamata “programmazione“, o “programmare”.

Antefatto, per chi non ne sa niente:
il Mito di Cthulhu, avviato dallo scrittore H. P. Lovecraft, descrive una apparentemente caotica collezione di eventi, personaggi ed entità soprannaturali a cavallo tra l’horror, la fantascienza, l’horror, il fantasy e l’horror, in cui se ti va bene CAPISCI e muori, se ti va male sopravvivi e RICORDI quello che ti è successo; è stato direttamente e indirettamente citato più volte anche in questo sito; in questo mito, la risorsa più preziosa e più pericolosa è il Necronomicon, un libro pieno di conoscenze scritto da un Arabo pazzo; tradizionalmente, lo sventurato di turno si imbatte in un’antica traduzione in una lingua, basata su una più antica traduzione in un altra lingua, basata sull’originale in Arabo, e gli errori di traduzione sono a volte fatali.

Fatto:
esistono vari linguaggi di programmazione, con nomi a volte significativi, a volte inventati di sana pianta; esiste in particolare il linguaggio Rust, che è progettato in maniera da impedire certi accidentali e nocivi comportamenti indesiderati dei programmi, in modo da aumentarne la robustezza e in certi casi la semplicità.

A meno che non si vada a cercarsi la variante unsafe, “rischiosa”.

Sì, direte voi, ma perché stai mescolando questi due argomenti?

Traduco dunque a braccio l’introduzione, che potete trovare (non in Arabo, ahimé 😉 ) qui.


Il Rustonomicon

Le Oscure Arti della Programmazione in Rust Avanzata e Rischiosa

[…]

In vece dei programmi che speravo, arrivarono solamente una tremante oscurità e un’ineffabile solitudine; e io vidi alla fine una spaventosa verità cui nessuno mai prima aveva osato dar fiato – l’insussurrabile segreto dei segreti – Il fatto che questo linguaggio di pietra e stridore non è senziente perpetuazione del Rust così com’è Londra della Londra Antica e Parigi della Parigi Antica, ma che è in effetti decisamente rischioso, il suo corpo tentacolare imperfettamente imbalsamato e infestato di bizzarre cose animate che nulla hanno a che fare con esso così com’esso era in compilazione.

Questo libro approfondisce tutti gli orribili dettagli che è necessario comprendere allo scopo di scrivere programmi corretti in Unsafe Rust. A causa della natura del problema, ciò potrebbe portare a scatenare indicibili orrori che ti frantumerebbero la psiche in un miliardo di infinitesimali frammenti di disperazione.

Se desideri una carriera lunga e felice nello scrivere programmi in Rust, volta subito le spalle e dimentica di aver mai visto questo libro. Non è necessario. D’altra parte se intendi scrivere codice rischioso – o vuoi semplicemente scavare nelle viscere del linguaggio – questo libro contiene molte utili informazioni.

[…]

Autore: Alessandro Pini

Sinclair ZX-81; Commodore VIC-20; Apple ][ Europlus; Apple //e; Amiga 2000 (Motorola 68000); Amiga 4000 (Motorola 68040, 68060, PPC); Sinclair ZX Spectrum; PC compatibile (Intel 8088 @ 4.77 MHz); ... poi ho perso un po' il conto (due o tre, troppo simili l'uno all'altro)... tower assemblato custom "galactica"; tower assemblato custom "pegasus"; IBM Thinkpad [boh? qualcosa] "defiant"; Compaq/HP Pavilion ze4300 "defiant"; virtual machine VMWare Server "phantom" (fu defiant); MSI Wind U100 "defiant"; Nokia e71 *nero* "blackbird"; tower assemblato custom "spaceball1"; HP Pavilion g6 "gunstar"; Raspberry Pi 2 "lamponcino", "rasputin"; Acer Aspire E15 "gunstar"; virtual machine assortite. Sì, esatto, non ho mai posseduto il Commodore 64. Non sono quel tipo di geek.

Un commento su “Il mito della programmazione rischiosa”

  1. Brindo a questo blog che stava per sparire dagli RSS del mio Liferea e ha riguadagnato diritto di cittadinanza con una citazione geekkissima di quelle che bisognava proprio andarsele a cercare.

Spazio per un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.