Was Programmierer irrigerweise von Personennamen annehmen

Geschrieben von am , übersetzt von am .

John Graham-Cumming wrote an article today complaining about how a computer system he was working with described his last name as having invalid characters. It of course does not, because anything someone tells you is their name is — by definition — an appropriate identifier for them. John was understandably vexed about this situation, and he has every right to be, because names are central to our identities, virtually by definition.

John Graham-Cumming schrieb heute einen Artikel, in dem er sich darüber beschwerte, dass ein Computersystem, mit dem er arbeitete, behauptete, sein Nachname enthalte ungültigen Zeichen. Das ist natürlich nicht der Fall, denn alles, was jemand als seinen Namen angibt, ist – per definitionem – eine geeignete Kennung für ihn. John war verständlicherweise verärgert über diese Situation, und er hat auch allen Grund dazu, denn Namen sind von zentraler Bedeutung für unsere Identitäten, praktisch per definitionem.

I have lived in Japan for several years, programming in a professional capacity, and I have broken many systems by the simple expedient of being introduced into them. (Most people call me Patrick McKenzie, but I’ll acknowledge as correct any of six different “full” names, any many systems I deal with will accept precisely none of them.) Similarly, I’ve worked with Big Freaking Enterprises which, by dint of doing business globally, have theoretically designed their systems to allow all names to work in them. I have never seen a computer system which handles names properly and doubt one exists, anywhere.

Ich habe mehrere Jahre in Japan gelebt und beruflich programmiert, und ich habe viele Systeme zerschossen, einfach dadurch, dass ich mich ihnen vorgestellt habe. (Die meisten Leute nennen mich Patrick McKenzie, aber ich erkenne jeden von sechs verschiedenen vollständigen Namen als korrekt an, und viele Systeme, mit denen ich zu tun habe, akzeptieren genau keinen von ihnen.) In ähnlicher Weise habe ich mit Big Freaking Enterprises gearbeitet, die aufgrund ihrer weltweiten Geschäftstätigkeit ihre Systeme theoretisch so konzipiert haben, dass alle Namen darin funktionieren. Ich habe noch nie ein Computersystem gesehen, das mit Namen richtig umgeht, und ich bezweifle, dass es überhaupt eines gibt.

So, as a public service, I’m going to list assumptions your systems probably make about names. All of these assumptions are wrong. Try to make less of them next time you write a system which touches names.

Als Service für die Allgemeinheit werde ich daher die Annahmen auflisten, die Ihre Systeme wahrscheinlich in Bezug auf Namen machen. Alle diese Annahmen sind falsch. Versuchen Sie, weniger von ihnen zu machen, wenn Sie das nächste Mal ein System schreiben, das mit Namen zu tun hat.

  • People have exactly one canonical full name.

    Personen haben genau einen kanonischen vollständigen Namen.

  • People have exactly one full name which they go by.

    Personen haben genau einen vollständigen Namen, an dem sie sich orientieren.

  • People have, at this point in time, exactly one canonical full name.

    Personen haben zu diesem Zeitpunkt genau einen kanonischen vollständigen Namen.

  • People have, at this point in time, one full name which they go by.

    Personen haben zu diesem Zeitpunkt genau einen vollständigen Namen, den sie verwenden.

  • People have exactly N names, for any value of N.

    Personen haben genau N Namen, für irgendeinen Wert von N.

  • People’s names fit within a certain defined amount of space.

    Die Namen von Personen passen in eine bestimmte Menge an Speicherplatz.

  • People’s names do not change.

    Die Namen von Personen ändern sich nicht.

  • People’s names change, but only at a certain enumerated set of events.

    Die Namen von Personen ändern sich, aber nur bei einer begrenzten Auswahl von Ereignissen.

  • People’s names are written in ASCII.

    Die Namen der Personen werden in ASCII geschrieben.

  • People’s names are written in any single character set.

    Personennamen werden in irgendeinem einzelnen Zeichensatz geschrieben.

  • People’s names are all mapped in Unicode code points.

    Personennamen sind alle in Unicode-Codepunkten abgebildet.

  • People’s names are case sensitive.

    Bei Personennamen wird zwischen Groß- und Kleinschreibung unterschieden.

  • People’s names are case insensitive.

    Bei Personennamen wird nicht zwischen Groß- und Kleinschreibung unterschieden.

  • People’s names sometimes have prefixes or suffixes, but you can safely ignore those.

    Personennamen haben manchmal Präfixe oder Suffixe, aber die können Sie getrost ignorieren.

  • People’s names do not contain numbers.

    Personennamen enthalten keine Ziffern.

  • People’s names are not written in ALL CAPS.

    Personennamen werden nicht VOLLSTÄNDIG IN GROSSBUCHSTABEN geschrieben.

  • People’s names are not written in all lower case letters.

    Personennamen werden nicht ausschließlich in kleinbuchstaben geschrieben.

  • People’s names have an order to them. Picking any ordering scheme will automatically result in consistent ordering among all systems, as long as both use the same ordering scheme for the same name.

    Die Namen von Personen haben eine Sortierreihenfolge. Die Wahl eines beliebigen Sortierschemas führt automatisch zu einer konsistenten Sortierung in allen Systemen, solange beide das gleiche Sortierschema für denselben Namen verwenden.

  • People’s first names and last names are, by necessity, different.

    Die Vor- und Nachnamen von Personen sind zwangsläufig unterschiedlich.

  • People have last names, family names, or anything else which is shared by folks recognized as their relatives.

    Personen haben Nachnamen, Familiennamen oder irgendetwas anderes, das von Leuten geteilt wird, die als ihre Verwandten erkannt werden.

  • People’s names are globally unique.

    Die Namen von Personen sind weltweit einzigartig.

  • People’s names are almost globally unique.

    Die Namen von Personen sind fast weltweit einzigartig.

  • Alright alright but surely people’s names are diverse enough such that no million people share the same name.

    Schon gut, schon gut. Aber Namen von Personen sind so vielfältig, dass keine Million Personen denselben Namen teilen.

  • My system will never have to deal with names from China.

    Mein System wird nie mit Namen aus China zu tun haben.

  • Or Japan.

    Oder Japan.

  • Or Korea.

    Oder Korea.

  • Or Ireland, the United Kingdom, the United States, Spain, Mexico, Brazil, Peru, Russia, Sweden, Botswana, South Africa, Trinidad, Haiti, France, or the Klingon Empire, all of which have “weird” naming schemes in common use.

    Oder Irland, dem Vereinigten Königreich, den Vereinigten Staaten, Spanien, Mexiko, Brasilien, Peru, Russland, Schweden, Botswana, Südafrika, Trinidad, Haiti, Frankreich oder dem Klingonische Reich, die allesamt seltsame Namensschemata in Gebrauch haben.

  • That Klingon Empire thing was a joke, right?

    Das mit dem klingonischen Reich war ein Witz, oder?

  • Confound your cultural relativism! People in my society, at least, agree on one commonly accepted standard for names.

    Verflucht sei dein Kulturrelativismus! Zumindest in meiner Gesellschaft sind sich die Personen über einen allgemein akzeptierten Standard für Namen einig.

  • There exists an algorithm which transforms names and can be reversed losslessly. (Yes, yes, you can do it if your algorithm returns the input. You get a gold star.)

    Es gibt einen Algorithmus, der Namen umwandelt und verlustfrei rückgängig gemacht werden kann. (Ja, ja, Sie können das, wenn Ihr Algorithmus die Eingabe zurückgibt. Sie bekommen einen Goldstar.)

  • I can safely assume that this dictionary of bad words contains no people’s names in it.

    Ich kann mit Sicherheit davon ausgehen, dass dieses Wörterbuch der ungehörigen Wörter keine Personennamen enthält.

  • People’s names are assigned at birth.

    Die Namen der Personen werden bei der Geburt vergeben.

  • OK, maybe not at birth, but at least pretty close to birth.

    OK, vielleicht nicht bei der Geburt, aber zumindest ziemlich kurz vor der Geburt.

  • Alright, alright, within a year or so of birth.

    Okay, okay, innerhalb eines Jahres oder so nach der Geburt.

  • Five years?

    Innerhalb von fünf Jahren?

  • You’re kidding me, right?

    Du verarschst mich, oder?

  • Two different systems containing data about the same person will use the same name for that person.

    Zwei verschiedene Systeme, die Daten über dieselbe Person enthalten, verwenden denselben Namen für diese Person.

  • Two different data entry operators, given a person’s name, will by necessity enter bitwise equivalent strings on any single system, if the system is well-designed.

    Zwei verschiedene Dateneingabeoperatoren werden bei einem Personennamen zwangsläufig bitweise äquivalente Zeichenketten auf ein und demselben System eingeben, wenn das System gut konzipiert ist.

  • People whose names break my system are weird outliers. They should have had solid, acceptable names, like 田中太郎.

    Personen, deren Namen mein System stören, sind seltsame Ausreißer. Sie hätten solide, akzeptable Namen haben sollen, wie 田中太郎.

  • People have names.

    Personen haben Namen.

This list is by no means exhaustive. If you need examples of real names which disprove any of the above commonly held misconceptions, I will happily introduce you to several. Feel free to add other misconceptions in the comments, and refer people to this post the next time they suggest a genius idea like a database table with a first_name and last_name column.

Diese Liste ist keineswegs erschöpfend. Wenn Sie Beispiele für echte Namen brauchen, die eine der oben genannten weit verbreiteten falschen Vorstellungen widerlegen, stelle ich Ihnen gerne einige vor. Fügen Sie in den Kommentaren gerne weitere Irrtümer hinzu, und verweisen Sie auf diesen Beitrag, wenn Sie das nächste Mal eine geniale Idee wie eine Datenbanktabelle mit einer Vor- und Nachnamensspalte vorschlagen.