cheap nfl jerseys china cheap nfl jerseys free shipping wholesale nfl jerseys china wholesale jerseys from china cheap nfl jerseys free shipping cheap nfl jerseys for sale cheap jerseys free shipping wholesale nfl jerseys from china cheap nfl jerseys sale cheap nike nfl jerseys china wholesale jerseys free shipping cheap nfl jerseys wholesale wholesale nfl jerseys online cheap nfl jerseys wholesale china jerseys wholesale cheap coach handbags outlet authentic designer handbags cheap coach handbags outlet cheap coach purses outlet discount coach bags coach bags sale coach purse outlet cheap real coach purses coach handbags sale online coach purse outlet michael kors outlet online store cheap michael kors bags cheap michael kors purse michael kors factory outlet online cheap michael kors handbags cheap michael kors purses michael kors bags outlet online cheap michael kors purse michael kors handbags discount cheap michael kors purse michael kors handbags discount
cheap nfl jerseys china cheap nfl jerseys free shipping wholesale nfl jerseys china wholesale jerseys from china cheap nfl jerseys free shipping cheap nfl jerseys for sale cheap jerseys free shipping wholesale nfl jerseys from china cheap nfl jerseys sale cheap nike nfl jerseys china wholesale jerseys free shipping cheap nfl jerseys wholesale wholesale nfl jerseys online cheap nfl jerseys wholesale china jerseys wholesale cheap coach handbags outlet authentic designer handbags cheap coach handbags outlet cheap coach purses outlet discount coach bags coach bags sale coach purse outlet cheap real coach purses coach handbags sale online coach purse outlet michael kors outlet online store cheap michael kors bags cheap michael kors purse michael kors factory outlet online cheap michael kors handbags cheap michael kors purses michael kors bags outlet online cheap michael kors purse michael kors handbags discount cheap michael kors purse michael kors handbags discount
La Cattedrale e il Bazaar by Eric S. Raymond

8. Ancora lezioni da Fetchmail

Prima di tornare ai temi generali dell'ingegneria del software, ci sono ancora due lezioni scaturite dall'esperienza Fetchmail da meditare.

La sintessi del file rc (controlllo) include parole chiave opzionali che vengono ignorate. La sintassi che queste consentono � molto pi� leggibile delle tradizionali coppie parola chiave-valore che rimangono togliendo tutte le parole opzionali.

Ci� � cominciato come un esperimento di tarda notte, quando ho notato che le dichiarazioni del file rc cominciavano ad assomigliare a un minilinguaggio imperativo. (Questo � anche il motivo per cui ho cambiato la parola chiave 'server' del popclient in 'poll').

Mi � sembrato che tentare di far assomigliare il minilingaggio all'inglese potesse renderlopi� semplice. Ora, sebbene io sia un convinto sostenitore della scuola 'fanne un linguaggio', come fatto da Emacs e HTMLe molti motori per database, non sono di solito un sostenitore delle sintassi 'English-like'.

I proggrammatori tradizionali hanno favorito i controlli di sintassi, che sono precisi, compatti e non hanno ridondanza. Quest� � un'eredit� culturale di quando le risorse informatiche erano molto costose, e allora l'interpretazione doveva essere la pi� chiara e semplice possibile. L'inglese, con circa il 50% di ridondanza, sembrava un modello del tutto inappropriato.

Ma non � questa la ragione per cui normalmente evito le sintassi 'English-like': l'ho menzionata solo per demolirla. La semplicit� non deve pi� essere un obiettivo. Ora un linguaggio deve essere pi� adatto agli umani che al computer.

Restano per� buone ragioni per essere cauti. Una � il costo della complessit�; un'altra � che una sintassi 'English-like' spesso richiede modifiche cos� forti dell'inglese che la superficiale somiglianza col linguaggio naturale confonde non meno di una sintassi tradizionale. (Si pu� constatare questo brutto effetto in molti 'database-query languages' commerciali cosiddetti di quarta generazione.

La sintassi di controllo di Fetchmail evita questi problemi perch� il dominio del linguaggio � estremamente ristretto. Non � in alcun modo un linguaggio 'general-purpose'; le cose che dice in modo semplice non sono complicate, cos� � basso il potenziale di confusione insito nel trasferire mentalmente frasi inglesi nel linguaggio di controllo. Penso che ci possa essere una lezione ancor pi� vasta:

16. Quando il tuo linguaggio non � in alcun modo simile a quello completo di Turing, allora si pu� mettere zucchero nella sintassi.

Un'altra lezione riguarda la sicurezza e l'oscurit�. Alcuni utenti di Fetchmail mi hanno chiesto di effettuare le modifiche necessarie per memorizzare password crittografate nel file rc.

Non l'ho fatto, perch� in realt� non � una protezione. Chi ha il permesso di leggere il file rc, pu� eseguire Fetchmail e se cercano la tua password, possono estrarre da Fetchmail il codice per decriptarla. Encriptare le password avrebbe solo dato un falso senso di sicurezza alla gente che non riflette molto. La regola generale �:

17. Un sistema � tanto sicuro quanto � segreto. Guardati dagli pseudo segreti.


Next Previous Contents