De misvattingen van programmeurs over namen

Twee weken geleden verscheen een vertaling van “Misvattingen van programmeurs over tijd", dat qua structuur en stijl gebaseerd is op deze klassieke tekst van Patrick Mackenzie, die twee jaar geleden verscheen. Omdat de opmerking over die tijd buitengewoon positief werd ontvangen door het publiek, is het uiteraard logisch om het originele artikel over voor- en achternamen te vertalen.

John Graham-Cumming vandaag geklaagd op zijn blog dat het computersysteem waarmee hij werkte zijn achternaam niet accepteerde vanwege ongeldige tekens. Natuurlijk bestaan ​​er geen ongeldige karakters, want elke manier waarop een persoon zichzelf vertegenwoordigt is per definitie een passende identificatie. John uitte zijn grote frustratie over de situatie, en daar heeft hij alle recht toe, omdat de naam is de essentie van onze individualiteit, bijna per definitie.

Ik heb een aantal jaren in Japan gewoond, professioneel geprogrammeerd, en veel systemen kapot gemaakt door mezelf te bellen. (De meeste mensen noemen mij Patrick McKenzie, maar ik accepteer elk van de zes ‘volledige’ namen als correct, hoewel veel computersystemen geen enkele accepteren.) Op dezelfde manier heb ik voor grote bedrijven gewerkt die op wereldschaal zaken doen en, in theorie, hun systemen voor elke mogelijke naam hebben ontworpen. Dus, Ik heb nog geen enkel computersysteem gezien dat namen correct verwerkt, en ik betwijfel of zo'n systeem zelfs maar ergens bestaat.

Dus, voor ieders belang, heb ik een lijst samengesteld met aannames die uw systeem waarschijnlijk zal maken over de namen van mensen. Al deze aannames zijn verkeerd. Probeer de volgende keer dat u een systeem ontwerpt, de lijst in ieder geval te verkleinen.

1. Elke persoon heeft één canonieke volledige naam.
2. Elke persoon heeft één volledige naam die hij of zij gebruikt.
3. Op een bepaald moment heeft elke persoon één canonieke volledige naam.
4. Op een gegeven moment heeft elke persoon één volledige naam die hij gebruikt.
5. Elke persoon heeft precies N namen, ongeacht de waarde van N.
6. Namen passen in een bepaald aantal tekens.
7. Namen veranderen niet.
8. Namen veranderen, maar alleen in bepaalde beperkte gevallen.
9. Namen worden geschreven in ASCII.
10. Namen worden in één codering geschreven.
11. Alle namen komen overeen met Unicode-tekens.
12. Namen zijn hoofdlettergevoelig.
13. Namen zijn niet hoofdlettergevoelig.
14. Soms zijn er voor- of achtervoegsels in namen, maar u kunt deze veilig negeren.
15. Namen bevatten geen cijfers.
16. Namen mogen niet in HELE HOOFDLETTERS worden geschreven.
17. Namen kunnen niet volledig in kleine letters worden geschreven.
18. Er is orde in namen. Het selecteren van een van de recordvolgordeschema's zal automatisch resulteren in een consistente volgorde tussen alle systemen als ze allemaal hetzelfde bestelschema gebruiken.
19. Voor- en achternaam zijn noodzakelijkerwijs verschillend.
20. Mensen hebben een achternaam of iets dergelijks dat gebruikelijk is bij familieleden.
21. De naam van een persoon is uniek.
22. Naam van de persoon bijna uniek.
23. Oké, oké, maar namen zijn zo zeldzaam dat er geen miljoen mensen zijn met dezelfde voor- en achternaam.
24. Mijn systeem zal nooit omgaan met namen uit China.
25. Of Japan.
26. Of Korea.
27. Of Ierland, Groot-Brittannië, de VS, Spanje, Mexico, Brazilië, Peru, Zweden, Botswana, Zuid-Afrika, Trinidad, Haïti, Frankrijk, het Klingon-rijk - die allemaal "rare" naamgevingsschema's gebruiken.
28. Het Klingon-rijk was een grap, toch?
29. Verdomd cultureel relativisme! Mannen binnen mijn samenleving, hebben in ieder geval hetzelfde idee van een algemeen aanvaarde standaard voor namen.
30. Er is een algoritme dat namen op de een of andere manier zonder verlies converteert. (Ja, ja, dat kan, als de uitvoer van het algoritme hetzelfde is als de invoer, neem dan een medaille).
31. Ik kan met vertrouwen aannemen dat dit woordenboek met obscene woorden geen achternamen bevat.
32. Mensen krijgen bij de geboorte een naam.
33. Oké, misschien niet bij de geboorte, maar vrij snel daarna.
34. Oké, oké, binnen een jaar of zo.
35. Vijf jaar?
36. Je maakt een grapje, toch?
37. Twee verschillende systemen die de naam van dezelfde persoon vermelden, zullen dezelfde naam voor die persoon gebruiken.
38. Als twee verschillende gegevensinvoeroperatoren de naam van een persoon krijgen, zullen ze zeker dezelfde reeks tekens invoeren als het systeem goed is ontworpen.
39. Mensen wier naam mijn systeem doorbreekt, zijn vreemde vreemden. Ze moeten normale, acceptabele namen hebben, zoals 田中太郎.
40. Mensen hebben namen.

De lijst is geenszins uitputtend. Als je voorbeelden wilt van echte namen die een van deze punten weerleggen, zal ik ze graag geven. Voeg gerust meer opsommingen toe voor deze lijst met misvattingen in de reacties, en stuur mensen een link naar deze lijst de volgende keer dat ze op een briljant idee komen om een ​​database te maken met kolommen voornaam en achternaam.

Bron: www.habr.com

Voeg een reactie