Torvalds ha parlato: la regola degli 80 caratteri è un retaggio del passato, nel Kernel Linux non si userà più

15

Da sempre all’interno dell’ambito programmazione, soprattutto su progetti open-source condivisi dove collaborano decine, centinaia ed a volte migliaia di persone esistono diversi paradigmi che storicamente vanno rispettati al fine di garantire standardizzazione, continuità e manutenibilità del codice prodotto.

Un set di regole, storiche per certi versi, alle quali tutti si attengono. Una di queste è quella degli 80 caratteri. La best practice impone di non avere linee più lunghe di 80 caratteri, per garantire la leggibilità del codice prodotto.

È una regola a cui tutti si attengono, ad esempio se vi siete mai cimentati con un’operazione di amend di un commit in Git per popolare la descrizione dello stesso, avrete notato come l’editor vim automaticamente va a capo all’ottantesimo carattere per le ragioni citate sopra.

Si fa in fretta a capire come questa regola sia in realtà un retaggio del passato: i terminali su cui si programmava nella preistoria informatica, addirittura risalente all’uso delle schede perforate.

Le cose oggi, per così dire, sono leggermente cambiate. Il “terminale”, se così lo vogliamo ancora chiamare, può girare su uno schermo 4k con risoluzione 4096 × 2160 pixel e doversi contenere ad 80 caratteri pare un tantino… Limitante.

Se n’è accordo anche Linus Torvalds, il quale all’interno di un thread nella mailing list dello sviluppo del Kernel Linux ha criticato questo dettame storico.

Excessive line breaks are BAD. They cause real and every-day problems.

I line-break eccessivi sono MALE. Sono causa di problemi reali e quotidiani

E c’è da fidarsi, vista l’autorevolezza della fonte. Ricordiamo che Torvalds è ancora il principale artefice di tutti i merge all’interno del Kernel, e di codice ne deve veder passar parecchio.

Certo, il suo riferimento è agli eccessivi line-break, ma il principio è chiaro e viene ben argomentato dal suo intervento: è inutile attenersi ad una regola pensata per garantire altri scopi. E la chiusura, come da tradizione Torvaldsiana è netta:

If you choose to use a 80-column terminal, you can live with the line
wrapping. It’s just that simple.

Chi decide di usare un terminale a 80 colonne dovrà convivere con gli accapo automatici. È molto semplice.

Ha quindi ancora senso attenersi a regole storiche solo perché “si è sempre fatto così”? Probabilmente no. Quello che è certo è che nell’ambito dello sviluppo del Kernel questa regola non vale più: lo ha decretato il dittatore benevolo.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

15 risposte a “Torvalds ha parlato: la regola degli 80 caratteri è un retaggio del passato, nel Kernel Linux non si userà più”

  1. Avatar Raoul Scarazzini
    Raoul Scarazzini

    @justatiredman:disqus mi stai dando del vecchio 😀 ?

  2. Avatar amedeo lanza
    amedeo lanza

    Dipende se usavi anche le tastiere che facevano ‘clang’…

  3. Avatar JustATiredMan
    JustATiredMan

    ovvio che si… e anzi, ti diro’, le preferisco grandemente anche oggi… io senza tastiera meccanica a corsa lunga non vivo, e non riesco a lavorare con i notebook con i tasti a isola di oggi.
    Corsa lunga, secondo gli standard odierni ovviamente… paragonata a quelli di allora sarebbe una corsa corta.

  4. Avatar Raoul Scarazzini
    Raoul Scarazzini

    Facevano… SCATACLUNCH!

  5. Avatar JustATiredMan
    JustATiredMan

    si si e’ proprio blu.. non sai le maledizioni che mi son preso dai colleghi d’ufficio i primi tempi… poi c’hanno fatto l’abitudine 😀 😀 ho dovuto portare brioches ogni giorno per una settimana per indolcire la pillola 😀
    Bella quella che hai postato… sa molto retro’

  6. Avatar JustATiredMan
    JustATiredMan

    eeee si… erano belli i tempi dei monitor a fosfori verdi o ambra e il cp/m rigorosamente 80×24 🙂 🙂

  7. Avatar JustATiredMan
    JustATiredMan

    nooooo quando mai 😀
    Anche perche’, seppur molto di striscio perche’ all’epoca mi interessavo d’altro, io c’ero quando giravano il cp/m di Gary Kildall su Z80.

  8. Avatar Еlena
    Еlena

    Qualcuno ha detto “tastiere meccaniche”? Cosa usate? Uscite le vostre tastiere!

  9. Avatar JustATiredMan
    JustATiredMan

    skiller mech sgk1… proprio una di quelle che fanno clickete-clackete

  10. Avatar Еlena
    Еlena

    Aaah! Ha i clicky blue, “clickete-clackete” e’ precisamente il loro suono. Io ho optato per i brown, su una Filco… anche se ho sempre puntato a questa https://www.pckeyboard.com/page/product/UNIZPHA, e’ comodissima (ma non la fanno tenkeyless).

  11. Avatar amedeo lanza
    amedeo lanza

    Io considero insuperabile la lk201 che oltretutto era robustissima; se provassi a tirare un pugno come mi è capitato tante volte a quei tempi, sopra una di quelle moderne, la ridurrei in pezzi.

  12. Avatar giacomofurlan
    giacomofurlan

    Nei miei progetti mi attengo alla regola dei 120 soft / 140 hard caratteri, poiché ho trovato che è lo sweet point per avere più spazio, senza sacrificare appunto la leggibilità. Linee troppo lunghe, anche se ci stanno sullo schermo, tendono a limitarne la leggibilità. In ogni caso linee così lunghe implicano un livello di nesting o di concatenazione di chiamate tali che boccerei a prescindere il codice…

  13. Avatar SPAstef

    Se non erro, nelle SUE linee guida di stile in C, se scrivi più di 80 caratteri vieni messo al rogo. Chissà magari fra un po’ si accorge che anche 4 spazi vanno bene per la tabulazione, se no è meglio che ti vai vedere da un oculista. O che gli schermi non solo è da quando sono nato che non ne ho mai visti con 80 caratteri di larghezza, ma nemmeno con 24 di altezza, e quindi mettere graffe a capo è una scelta di coerenza stilistica e simmetria grafica, non uno spreco di schede perforate xD. Ancora, vogliamo parlare di ANSI C? Che cavolo, sono passati 31 anni dal C89, è più tempo che dall’inizio della prima guerra mondiale alla fine della seconda, io voglio usare C11…

  14. Avatar JustATiredMan
    JustATiredMan

    @disqus_7qlJTPZoJq:disqus Ah, ma tu parli delle tastiere DEC… forse l’ho usata anch’io verso i primi anni ’90 con una VaxStation.. però mi pare fosse già di plastica seppur incomparabilmente più robusta rispetto alle odierne tastiere…. però se ne vuoi proprio una di “ferro” devi provare quella che davano sugli Ibm XT, la Model F… quella si era in ferro e pesava una tonnellata.. secondo me aveva robustezza di grado militare… potevi portarla in guerra sotto i bombardamenti e avrebbe continuato a funzionare, e nel caso anche usarla come arma improria… altro che le porcherie che girano adesso.

  15. Avatar Raoul Scarazzini
    Raoul Scarazzini

    Mi sembra sensato. In particolare le best practice di Ansible si attestano sui 160, che forse son troppi, ma nell’ambito specifico dei playbook hanno il loro senso.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *