Cos’è uno ‘spessore’ nella programmazione?

Gli spessori del software hanno lo stesso scopo degli spessori dell'ingegneria meccanica - permettono a due cose il cui design non corrisponde completamente di lavorare insieme.

Sono un appassionato ciclista e costruttore di biciclette. Nel ciclismo, si può scoprire che un reggisella o un attacco manubrio non corrisponde esattamente alla larghezza del tubo (parte del telaio della bicicletta) in cui deve essere inserito. Per rimediare, si può usare uno spessore - un sottile foglio di metallo che riempie lo spazio tra il tubo esterno e il cilindro interno.

Per fare un esempio di software, il window manager Gnome era installabile su qualsiasi UNIX. Tuttavia, dalla versione 3.14, Gnome ha una dipendenza da systemd, un componente specifico di Linux. Questo normalmente impedirebbe a Gnome di essere utile su altre varianti UNIX (FreeBSD ecc.) o su distribuzioni Linux che non includono systemd. Per risolvere questo problema, le persone hanno scritto librerie che forniscono le api di systemd e le traducono in chiamate al sistema operativo sottostante. Poiché queste librerie sono solo uno strato sottile che permette a due sistemi più grandi con interfacce incompatibili di lavorare insieme, "shim" è un nome molto appropriato per loro.