Perché le RFC sono difficili da leggere?
Lo scopo di RFC è garantire interoperabilità su Internet specificando con precisione i protocolli. A tale scopo, la precisione e l'ambiguità sono molto più importanti della facile leggibilità per i profani. I destinatari delle RFC sono gli sviluppatori di sistemi che implementano stack di rete, non lo sviluppatore comune che scrive solo import HttpLibrary;
Inoltre, le RFC dovrebbero essere longeve. Le prime RFC sono del 1969 e molte di più sono ancora critiche per l'infrastruttura di Internet.
Queste priorità portano ad alcune scelte che le rendono più difficili da leggere:
-
Usano un formato ASCII con testo in chiaro che non è molto adatto al browser (font monospace, strani spazi vuoti quando le pagine si dividono e così via). In questa era tutto è HTML o, nel peggiore dei casi, PDF, sembra una reliquia. Ma da quando è stato inventato il RFC sono stati inventati diversi formati di testi "ricchi", ma il semplice ASCII rimane leggibile su tutti i sistemi. Ed è un formato non ambiguo, non soggetto a bug e differenze del browser.
-
Usano un gergo in cui alcune parole hanno un significato più specifico che in un linguaggio semplice, ad es. il famigerato:
The key words
"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT",
"RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted
as described in RFC 2119 [RFC2119].
Questo è più simile al gergo legale, in cui la precisione è più importante di una facile leggibilità.
-
Le RFC cercano di essere il più brevi e il più possibile, ancora una volta per evitare ambiguità. Ad esempio, l'aggiunta di un esempio di codice introduce ridondanza. Se l'esempio di codice contraddice sottilmente la specifica, non sarà chiaro quale sia corretto. Se ci sono esempi di codice in più lingue, questo rischio aumenta. Inoltre, gli esempi di codice diventano obsoleti. Se gli RFC degli anni '70 avessero esempi di codice, avrebbero potuto essere in Fortran o BCPL o assemblatore per processori da tempo obsoleti. Sarebbe stato più lavoro dare un senso agli esempi di codice che leggere la prosa RFC, per quanto ottusa.
Il W3C utilizza un approccio diverso rispetto a quello di RFC. Scrivono Consigli che sono generalmente più facili da leggere. Sono formattati in HTML facilmente leggibile e usano molto più esempi illustrativi (gli esempi sono tipicamente contrassegnati come non normativi per evitare ambiguità se l'esempio contraddice le specifiche). Le raccomandazioni del W3C sono quindi abbastanza leggibili. Ad esempio, la CSS2 specifica è (a mio avviso) più facile da capire rispetto a molti tutorial CSS.
Le raccomandazioni del W3C hanno un pubblico diverso da quello di RFC. Il pubblico di RFC è costituito da sviluppatori di sistemi, mentre il pubblico per le raccomandazioni del W3C è costituito da sviluppatori di browser e di applicazioni e autori e progettisti di siti web. Un pubblico molto più ampio.
Detto questo , le RFC non sono quelle difficili da leggere. Se superi il formato di presentazione arcaico, è spesso sorprendentemente facile da capire.