Programmeerders se wanopvattings oor name

Twee weke gelede het 'n vertaling van "Programmeerders se wanopvattings oor tyd", wat in struktuur en styl gebaseer is op hierdie klassieke teks deur Patrick Mackenzie, wat twee jaar gelede gepubliseer is. Aangesien die nota oor die tyd uiters gunstig deur die gehoor ontvang is, maak dit uiteraard sin om die oorspronklike artikel oor name en vanne te vertaal.

John Graham-Cumming vandag gekla op sy blog dat die rekenaarstelsel waarmee hy gewerk het nie sy van aanvaar het nie weens ongeldige karakters. Natuurlik is daar geen ongeldige karakters nie, want enige manier waarop 'n persoon homself verteenwoordig is - per definisie - 'n gepaste identifiseerder. John het groot frustrasie oor die situasie uitgespreek, en hy het die volste reg om, want die naam is die kern van ons individualiteit, amper per definisie.

Ek het vir 'n paar jaar in Japan gewoon, professioneel geprogrammeer, en baie stelsels gebreek net deur myself te bel. (Die meeste mense noem my Patrick McKenzie, maar ek aanvaar enige van die ses "volle" name as korrek, hoewel baie rekenaarstelsels nie een van hulle aanvaar nie.) Net so het ek vir Groot Korporasies gewerk wat op 'n wêreldskaal sake doen en, in teorie, hul stelsels vir elke moontlike naam ontwerp het. Dus, Ek het nog nie 'n enkele rekenaarstelsel gesien wat name reg hanteer nie, en ek twyfel of so 'n stelsel selfs iewers bestaan.

So, vir almal se onthalwe, het ek 'n lys saamgestel van aannames wat jou stelsel waarskynlik oor mense se name sal maak. Al hierdie aannames is verkeerd. Probeer om ten minste die lys te verklein volgende keer as jy 'n stelsel ontwerp.

1. Elke persoon het een kanonieke volle naam.
2. Elke persoon het een volle naam wat hulle gebruik.
3. Op 'n gegewe tydstip het elke persoon een kanonieke volle naam.
4. Op 'n gegewe tydstip het elke persoon een volle naam wat hy gebruik.
5. Elke persoon het presies N name, ongeag die waarde van N.
6. Name pas in 'n sekere aantal karakters.
7. Name verander nie.
8. Name verander, maar slegs in sekere beperkte gevalle.
9. Name word in ASCII geskryf.
10. Name word in een enkodering geskryf.
11. Alle name stem ooreen met Unicode-karakters.
12. Name is hooflettersensitief.
13. Name is nie hooflettersensitief nie.
14. Soms is daar voor- of agtervoegsels in name, maar jy kan dit gerus ignoreer.
15. Name bevat nie nommers nie.
16. Name kan nie in HELE HOOFLETTERS geskryf word nie.
17. Name kan nie heeltemal in kleinletters geskryf word nie.
18. Daar is orde in name. Die keuse van een van die rekordbestelskemas sal outomaties lei tot 'n konsekwente volgorde onder alle stelsels as hulle almal dieselfde bestelskema gebruik.
19. Voor- en vanne is noodwendig verskillend.
20. Mense het 'n van of iets soortgelyks wat algemeen is aan familie.
21. 'n Persoon se naam is uniek.
22. Persoon se naam byna uniek.
23. Goed, oukei, maar name is skaars genoeg dat daar nie 'n miljoen mense met dieselfde voornaam en van is nie.
24. My stelsel sal nooit met name uit China handel nie.
25. Of Japan.
26. Of Korea.
27. Of Ierland, Groot-Brittanje, VSA, Spanje, Mexiko, Brasilië, Peru, Swede, Botswana, Suid-Afrika, Trinidad, Haïti, Frankryk, die Klingon-ryk – wat almal "vreemde" naamskemas gebruik.
28. Die Klingon-ryk was 'n grap, nie waar nie?
29. Verdomde kulturele relativisme! Mans in my samelewing, het ten minste dieselfde idee van 'n algemeen aanvaarde standaard vir name.
30. Daar is 'n algoritme wat name op een of ander manier omskakel sonder verlies. (Ja, ja, jy kan dit doen, as die uitset van die algoritme dieselfde is as die invoer, neem vir jou 'n medalje).
31. Ek kan met vertroue aanvaar dat hierdie woordeboek van onwelvoeglike woorde nie vanne bevat nie.
32. Mense kry name by geboorte.
33. OK, miskien nie by geboorte nie, maar redelik kort daarna.
34. Goed, oukei, binne 'n jaar of wat.
35. Vyf jaar?
36. Jy maak 'n grap, reg?
37. Twee verskillende stelsels wat dieselfde persoon se naam lys, sal dieselfde naam vir daardie persoon gebruik.
38. Twee verskillende data-invoeroperateurs, as 'n persoon se naam gegee word, sal beslis dieselfde stel karakters invoer as die stelsel goed ontwerp is.
39. Mense wie se name my stelsel breek, is vreemde vreemdelinge. Hulle moet normale, aanvaarbare name hê, soos 田中太郎.
40. Mense het name.

Die lys is geensins volledig nie. As jy voorbeelde wil hê van regte name wat enige van hierdie punte weerlê, sal ek dit graag verskaf. Voeg gerus nog kolpunte vir hierdie lys wanopvattings in die kommentaar by, en stuur vir mense 'n skakel na hierdie lys die volgende keer as hulle met 'n briljante idee vorendag kom om 'n databasis met voornaam- en vannaamkolomme te maak.

Bron: will.com

Voeg 'n opmerking