Programmerares missuppfattningar om namn

För två veckor sedan, en översättning av "Programmerares missuppfattningar om tid", som i struktur och stil bygger på denna klassiska text av Patrick Mackenzie, publicerad för två år sedan. Eftersom noteringen om tiden mottogs mycket positivt av publiken, är det uppenbarligen meningsfullt att översätta originalartikeln om namn och efternamn.

John Graham-Cumming idag klagade på sin blogg att datorsystemet han arbetade med inte accepterade hans efternamn på grund av ogiltiga tecken. Naturligtvis finns det inga ogiltiga tecken, eftersom varje sätt som en person representerar sig själv är - per definition - en lämplig identifierare. John uttryckte stor frustration över situationen, och han har all rätt till, eftersom namnet är kärnan i vår individualitet, nästan per definition.

Jag bodde i Japan i flera år, programmerade professionellt och slog sönder många system bara genom att ringa mig själv. (De flesta kallar mig Patrick McKenzie, men jag accepterar något av de sex "fullständiga" namnen som korrekta, även om många datorsystem inte accepterar något av dem.) På samma sätt har jag arbetat för stora företag som gör affärer på en global skala och i teorin har jag designat sina system för alla möjliga namn. Så, Jag har inte sett ett enda datorsystem som hanterar namn korrekt, och jag tvivlar på att ett sådant system ens existerar någonstans.

Så, för allas skull, har jag sammanställt en lista över antaganden som ditt system sannolikt kommer att göra om människors namn. Alla dessa antaganden är felaktiga. Försök att åtminstone minska listan nästa gång du designar ett system.

1. Varje person har ett kanoniskt fullständigt namn.
2. Varje person har ett fullständigt namn som de använder.
3. Vid en given tidpunkt har varje person ett kanoniskt fullständigt namn.
4. Vid en given tidpunkt har varje person ett fullständigt namn som han använder.
5. Varje person har exakt N namn, oavsett värdet på N.
6. Namn passar in i ett visst antal tecken.
7. Namnen ändras inte.
8. Namnen ändras, men endast i vissa begränsade fall.
9. Namn skrivs i ASCII.
10. Namn skrivs i en kodning.
11. Alla namn motsvarar Unicode-tecken.
12. Namn är skiftlägeskänsliga.
13. Namn är inte skiftlägeskänsliga.
14. Ibland finns det prefix eller suffix i namn, men du kan lugnt ignorera dem.
15. Namn innehåller inga siffror.
16. Namn kan inte skrivas med HELA STORA bokstäver.
17. Namn kan inte skrivas helt med små bokstäver.
18. Det är ordning på namnen. Att välja ett av postbeställningsscheman kommer automatiskt att resultera i en konsekvent ordning mellan alla system om de alla använder samma beställningsschema.
19. För- och efternamn är nödvändigtvis olika.
20. Människor har ett efternamn eller liknande som är gemensamt för släktingar.
21. En persons namn är unikt.
22. Personens namn почти unik.
23. Okej, okej, men namn är sällsynta nog att det inte finns en miljon människor med samma för- och efternamn.
24. Mitt system kommer aldrig att hantera namn från Kina.
25. Eller Japan.
26. Eller Korea.
27. Eller Irland, Storbritannien, USA, Spanien, Mexiko, Brasilien, Peru, Sverige, Botswana, Sydafrika, Trinidad, Haiti, Frankrike, Klingonriket - som alla använder "konstiga" namnscheman.
28. Klingonimperiet var ett skämt, eller hur?
29. Jävla kulturrelativism! Män i mitt samhälle, åtminstone ha samma idé om en allmänt accepterad standard för namn.
30. Det finns en algoritm som konverterar namn på ett eller annat sätt utan förlust. (Ja, ja, du kan göra detta, om utdata från algoritmen är densamma som ingången, ta dig själv en medalj).
31. Jag kan med säkerhet anta att denna ordbok med obscena ord inte innehåller efternamn.
32. Människor får namn vid födseln.
33. OK, kanske inte vid födseln, men ganska snart efter.
34. Okej, okej, inom ett år eller så.
35. Fem år?
36. Du skojar, eller hur?
37. Två olika system som listar samma persons namn kommer att använda samma namn för den personen.
38. Två olika datainmatningsoperatörer, om de ges en persons namn, kommer säkert att skriva in samma uppsättning tecken om systemet är väldesignat.
39. Människor vars namn bryter mitt system är konstiga främlingar. De bör ha normala, acceptabla namn, som 田中太郎.
40. Människor har namn.

Listan är inte på något sätt uttömmande. Om du vill ha exempel på riktiga namn som motbevisar någon av dessa punkter, ger jag dem gärna. Lägg gärna till fler punktpunkter för den här listan med missuppfattningar i kommentarerna, och skicka folk en länk till den här listan nästa gång de kommer på en briljant idé att skapa en databas med kolumner för förnamn och efternamn.

Källa: will.com

Lägg en kommentar