False convinzioni dei programmatori sui nomi di persona

F

Questo è un articolo pubblicato da Patrick McKenzie sul suo sito, il link all’articolo originale è a fondo pagina.

John Graham-Cumming ha scritto oggi un articolo in cui lamentava il fatto che il sistema informatico con cui stava lavorando descriveva il suo cognome come contenente caratteri non validi. Ovviamente non è così, perché qualsiasi nome che una persona dichiara di avere è, per definizione, un identificativo appropriato per quella persona. John era comprensibilmente irritato da questa situazione, e ne ha tutto il diritto, perché i nomi sono fondamentali per la nostra identità, praticamente per definizione.

Ho vissuto in Giappone per diversi anni, lavorando come programmatore professionista, e ho mandato in tilt molti sistemi semplicemente introducendomi in essi. (La maggior parte delle persone mi chiama Patrick McKenzie, ma riconosco come corretti tutti e sei i miei nomi “completi”, e molti dei sistemi con cui ho a che fare non ne accettano nemmeno uno). Allo stesso modo, ho lavorato con grandi aziende che, grazie alla loro attività a livello globale, hanno teoricamente progettato i loro sistemi in modo da consentire il funzionamento di tutti i nomi. Non ho mai visto un sistema informatico che gestisca correttamente i nomi e dubito che ne esista uno, da qualche parte.

Quindi, come servizio pubblico, elencherò le ipotesi che i vostri sistemi probabilmente fanno sui nomi. Tutte queste ipotesi sono sbagliate. Cercate di ridurle la prossima volta che svilupperete un sistema che riguarda i nomi.

  • Le persone hanno esattamente un nome completo canonico.
  • Le persone hanno esattamente un nome completo con cui vengono chiamate.
  • Le persone hanno, in questo momento, esattamente un nome completo canonico.
  • Le persone hanno, in questo momento, un nome completo con cui vengono chiamate.
  • Le persone hanno esattamente N nomi, per qualsiasi valore di N.
  • I nomi delle persone rientrano in una certa quantità di spazio definita.
  • I nomi delle persone non cambiano.
  • I nomi delle persone cambiano, ma solo in determinati casi.
  • I nomi delle persone sono scritti in ASCII.
  • I nomi delle persone sono scritti in un unico set di caratteri.
  • I nomi delle persone sono tutti mappati in punti di codice Unicode.
  • I nomi delle persone distinguono tra maiuscole e minuscole.
  • I nomi delle persone non distinguono tra maiuscole e minuscole.
  • I nomi delle persone a volte hanno prefissi o suffissi, ma è possibile ignorarli tranquillamente.
  • I nomi delle persone non contengono numeri.
  • I nomi delle persone non sono scritti in MAIUSCOLO.
  • I nomi delle persone non sono scritti in minuscolo.
  • I nomi delle persone hanno un ordine. La scelta di un qualsiasi schema di ordinamento comporterà automaticamente un ordinamento coerente tra tutti i sistemi, a condizione che entrambi utilizzino lo stesso schema di ordinamento per lo stesso nome.
  • I nomi e i cognomi delle persone sono, per necessità, diversi.
  • Le persone hanno cognomi, nomi di famiglia o qualsiasi altra cosa condivisa da persone riconosciute come loro parenti.
  • I nomi delle persone sono unici a livello globale.
  • I nomi delle persone sono quasi unici a livello globale.
  • Va bene, va bene, ma sicuramente i nomi delle persone sono abbastanza diversi da non poter essere condivisi da milioni di persone.
  • Il mio sistema non dovrà mai avere a che fare con nomi provenienti dalla Cina.
  • O dal Giappone.
  • O dalla Corea.
  • O dell’Irlanda, del Regno Unito, degli Stati Uniti, della Spagna, del Messico, del Brasile, del Perù, della Russia, della Svezia, del Botswana, del Sudafrica, di Trinidad, di Haiti, della Francia o dell’Impero Klingon, che hanno tutti in comune schemi di denominazione “strani”.
  • Quella cosa dell’Impero Klingon era una battuta, vero?
  • Al diavolo il tuo relativismo culturale! Le persone nella mia società, almeno, concordano su uno standard comunemente accettato per i nomi.
  • Esiste un algoritmo che trasforma i nomi e può essere invertito senza perdite. (Sì, sì, puoi farlo se il tuo algoritmo restituisce l’input. Ti meriti una medaglia d’oro).
  • Posso tranquillamente supporre che questo dizionario di parolacce non contenga nomi di persone.
  • I nomi delle persone vengono assegnati alla nascita.
  • Ok, forse non alla nascita, ma almeno poco dopo la nascita.
  • Va bene, va bene, entro un anno circa dalla nascita.
  • Cinque anni?
  • Mi stai prendendo in giro, vero?
  • Due sistemi diversi contenenti dati sulla stessa persona useranno lo stesso nome per quella persona.
  • Due diversi operatori addetti all’inserimento dati, dato il nome di una persona, inseriranno necessariamente stringhe equivalenti a livello di bit su qualsiasi singolo sistema, se il sistema è ben progettato.
  • Le persone i cui nomi non funzionano nel mio sistema sono casi anomali. Avrebbero dovuto avere nomi solidi e accettabili, come 田中太郎.
  • Le persone hanno dei nomi.

Questo elenco non è affatto esaustivo. Se avete bisogno di esempi di nomi reali che smentiscano uno qualsiasi dei pregiudizi comunemente diffusi sopra citati, sarò lieto di presentarvene diversi. Sentitevi liberi di aggiungere altri pregiudizi nei commenti e di segnalare questo post alle persone la prossima volta che suggeriscono un’idea geniale come una tabella di database con una colonna per il nome e una per il cognome.

Link all’articolo originale: https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names