Falsità sui nomi di persona a cui i programmatori credono

Fabrizio Mele
4 min readMay 27, 2023

--

Questo articolo è una traduzione di Falsehoods Programmers Believe About Names di Patrick McKenzie.

John Graham-Cumming ha scritto un articolo lamentandosi di come un sistema informatico con il quale stava lavorando segnalasse il suo cognome come non valido. Naturalmente non è così, perché qualsiasi cosa una persona vi dica essere il suo nome è, per definizione, un modo appropriato di identificarla. John si è sentito comprensibilmente irritato da questa situazione, e ne ha tutto il diritto, perché i nomi sono un punto centrale della nostra identità, quasi per definizione.

Ho vissuto in Giappone per alcuni anni, programmando a livelli professionali, e ho mandato in tilt molti sistemi con il solo mio inserimento al loro interno (la maggior parte delle persone mi chiama Patrick McKenzie, ma riconosco come corrette sei diversi “nomi completi”, tutti i molti sistemi con cui ho a che fare non ne accettano neanche uno). O anche lavorato con Gigantesche Aziende Enterprise che, facendo affari su scala mondiale, dovrebbero avere teoricamente progettato i loro sistemi in modo da permettere a tutti i nomi di funzionare correttamente al loro interno. Non ho mai visto un sistema informatico che gestisse correttamente i nomi, e dubito che ne esista uno, da qualunque parte.

Quindi, come servizio pubblico, farò una lista di assunti che probabilmente i tuoi sistemi fanno per quanto riguarda la gestione dei nomi. Tutte queste ipotesi sono false. Cerca di non tenerle troppo in considerazione la prossima volta che progetterai un sistema che deve avere a che fare con dei nomi di persona.

  1. Una persona ha esattamente un nome completo legittimo.
  2. Una persona ha esattamente un nome completo con il quale è conosciuta.
  3. Una persona ha, in questo momento, esattamente un nome completo legittimo.
  4. Una persona ha, in questo momento, esattamente un nome completo con il quale è conosciuta.
  5. Una persona ha esattamente N nomi, per qualsiasi valore di N.
  6. I nomi delle persone rientrano in un dato numero di caratteri.
  7. Il nome di una persona non cambia.
  8. Il nome di una persona può cambiare, ma solo in alcuni momenti ben definiti.
  9. I nomi delle persone sono scritti in ASCII.
  10. I nomi delle persone sono scritti in un qualsiasi set di caratteri standard.
  11. I nomi delle persone sono tutti mappabili in Unicode.
  12. Nei nomi delle persone la distinzione maiuscolo/minuscolo è rilevante.
  13. Nei nomi delle persone la distinzione maiuscolo/minuscolo è irrilevante.
  14. I nomi delle persone a volte hanno prefissi o suffissi, ma puoi ignorarli.
  15. I nomi delle persone non contengono numeri.
  16. I nomi delle persone non sono scritti TUTTI IN IN MAIUSCOLO.
  17. I nomi delle persone non sono scritti tutti in minuscolo.
  18. I nomi delle persone hanno un ordine. Scegliere un qualsiasi criterio di ordinamento risulterà in nomi consistenti in tutti i sistemi che utilizzano lo stesso criterio di ordinamento.
  19. I nomi e i cognomi sono necessariamente differenti.
  20. Una persona ha cognomi, nomi di famiglia, o qualsiasi altra cosa condivisa con persone riconosciute come suoi parenti.
  21. I nomi delle persone sono univoci.
  22. I nomi delle persone sono quasi univoci.
  23. Vabè, ma sicuramente i nomi sono abbastanza vari da non avere milioni di persone con lo stesso nome.
  24. Il mio sistema non dovrà mai avere a che fare con nomi dalla Cina.
  25. O dal Giappone
  26. O dalla Corea.
  27. O dall’Irlanda, il Regno Unito, gli Stati Uniti, Spagna, Messico, Brasile, Perù, Russia, Svezia, Botswana, Sudafrica, Trinidad, Haiti, Francia, o dall’Impero Klingon, tutti posti che usano comunemente “strani” modi di rappresentare i nomi.
  28. Quella cosa dell’Impero Klingon era uno scherzo, vero?
  29. Scombina il tuo relativismo culturale! Le persone nella mia società, almeno, sono allineate ad uno standard comune accettabile per i nomi.
  30. Esiste un algoritmo che trasforma nomi e che può essere invertito senza perdite (sì, ok, funziona se l’algoritmo ritorna l’input. Applausi.)
  31. Posso ipotizzare in sicurezza che questo dizionario di parolacce non contenga nessun nome di persona.
  32. I nomi delle persone sono assegnati alla nascita.
  33. Ok, magari non esattamente alla nascita, più o meno in quel momento.
  34. Va bene, ok, entro un anno dalla nascita.
  35. Cinque anni?
  36. Scherzi?
  37. Due sistemi diversi contenenti dati sulla stessa persona utilizzeranno lo stesso nome per questa persona.
  38. Due operatori differenti, dato il nome di una persona, inseriranno necessariamente la stessa stringa di caratteri in un dato sistema, se il sistema è progettato bene.
  39. I nomi delle persone che mandano in crash il mio sistema sono dei casi particolari. Avrebbero dovuto avere un nome standard e accettabile, tipo 田中太郎.
  40. Le persone hanno un nome.

Questa lista non è per niente completa. Se hai bisogno di esempi di nomi reali che contraddicono una di queste comuni falsità sarò felice di mostrartene anche più di una. Sentiti libero di aggiungere altri punti nei commenti, e rimanda le persone a questo articolo la prossima volta che suggeriranno un’idea geniale come “una tabella in un database con una colonna nome ed una colonna cognome”.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Fabrizio Mele
Fabrizio Mele

Written by Fabrizio Mele

Studente, dev @ monade.io, podcaster. Curo Il Podcast di Alessandro Barbero, mi piacciono xkcd, i gatti, e le serie tv in lingua originale. — Desenzano BS

No responses yet

Write a response