Live data from Hacker News

CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

developer.apple.com

131–140 of 188 posts

Re: CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

#131

I can see why this is needed. English has very broad words for relatives like "grandfather" or "aunt". Most languages have more specific words, especially Chinese where there are separate words for fathers or mothers side, older or younger and sibling or siblings spouse. You also often use these relation words rather than their names when referring to a relatives. If this code was in Chinese, they would all be short…

Genuinely curious, but is it actually like that in most languages? I wondered if it was maybe an East/West difference, since I haven't come across that in my French & German learning, and I didn't think Dutch or Danish were like that either. But apparently Swedish does have this (eg faster/moster for paternal aunt & maternal aunt)? (Most of my learning is via Duolingo, so I'm no expert, just curious.)

Turkish is like that, with mind-bogglingly specific words for apparently half the planet that are your distant relatives.

It’s losing them fast though. Newer generations just don’t really care, so the words are falling out of use. I really only know cousin, aunt, uncle.

Re: CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

#132
post #114

That label is so long it’s breaking the HN front page layout for me on mobile.

I've attempted to fix it. Details at https://news.ycombinator.com/item?id=20352144 .

Thanks. That fixed it for me (chrome on Android)

Re: CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

#133
Why is everyone assuming this is about Chinese??? CN is the class prefix for the Contacts.framework library, like every other Apple API. For example:

CoreLocation: CL (CLLocation)

SpriteKit: SK (SKScene)

CloudKit: CK (CKRecord)

CoreVideo: CV (CVBuffer)

LocalAuthentication: LA (LAContext)

So on and so forth...

Re: CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

#134
post #121

I can see why this is needed. English has very broad words for relatives like "grandfather" or "aunt". Most languages have more specific words, especially Chinese where there are separate words for fathers or mothers side, older or younger and sibling or siblings spouse. You also often use these relation words rather than their names when referring to a relatives. If this code was in Chinese, they would all be short…

It’s a bit anglocentrists to never think that ”oh maybe there are other systems where it makes sense.” Hell, _most_ languages have more words for kinship than English! I always found it odd for example that grandfather doesn’t specify on which side. Like, how is that not super useful information?

You say Maternal/Paternal Grandparents, or add last names, or use different names (eg Granny and Nana). I can't think of a situation where I've had to differentiate them as relatives, only as individuals, so I can't see a distinction being that useful.

Re: CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

#135
post #121

I can see why this is needed. English has very broad words for relatives like "grandfather" or "aunt". Most languages have more specific words, especially Chinese where there are separate words for fathers or mothers side, older or younger and sibling or siblings spouse. You also often use these relation words rather than their names when referring to a relatives. If this code was in Chinese, they would all be short…

It’s a bit anglocentrists to never think that ”oh maybe there are other systems where it makes sense.” Hell, _most_ languages have more words for kinship than English! I always found it odd for example that grandfather doesn’t specify on which side. Like, how is that not super useful information?

Apple. Red apple. Green apple.

Grandfather. Maternal grandfather. Paternal grandfather.

Re: CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

#136
post #54
post #31

Earlier quoted context omitted.

表姐 means older female cousin of a different surname. If surnames are always passed down via the father that implies an elder cousin who is either your mother’s sibling’s daughter or your father’s sister’s daughter.

So what happens if, by chance, a woman in your family marries someone of the same surname? Does the 表姐 label then not apply where it otherwise would?

Should still be the same. By the way, it's considered quite unlucky/distasteful to marry someone with the same surname.

Re: CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

#137

I can see why this is needed. English has very broad words for relatives like "grandfather" or "aunt". Most languages have more specific words, especially Chinese where there are separate words for fathers or mothers side, older or younger and sibling or siblings spouse. You also often use these relation words rather than their names when referring to a relatives. If this code was in Chinese, they would all be short…

Is there a notion in linguistics of languages being more "modular", i.e. tacking on details like this through additional words, versus having more and more specific words to cover these cases?

Coming from my native German, I am very much used to the former, so I always find it interesting to see how different other languages are structured sometimes.

Re: CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

#138

I can see why this is needed. English has very broad words for relatives like "grandfather" or "aunt". Most languages have more specific words, especially Chinese where there are separate words for fathers or mothers side, older or younger and sibling or siblings spouse. You also often use these relation words rather than their names when referring to a relatives. If this code was in Chinese, they would all be short…

Genuinely curious, but is it actually like that in most languages? I wondered if it was maybe an East/West difference, since I haven't come across that in my French & German learning, and I didn't think Dutch or Danish were like that either. But apparently Swedish does have this (eg faster/moster for paternal aunt & maternal aunt)? (Most of my learning is via Duolingo, so I'm no expert, just curious.)

Indian languages have this sort of kinship granularity. Some of these distinctions include:

* Maternal/paternal parental siblings, with distinct terms for their respective spouses

* Maternal/paternal parental sibling - distinct terms if they are older or younger than your own parent

Re: CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

#139

At first glance this looked like a code smell, but after some reflection I can't think of a cleaner, more readable way to uniquely identify each possible relationship -- especially in a strongly-typed language with an IDE. Here's the full list: https://developer.apple.com/documentation/contacts/contacts_...

Would it not be better to just allow the user to label the relation the way they want and only give options for some most common(important?) ones ?

Re: CNLabelContactRelation​YoungerCousin​MothersSiblingsDaughter​OrFathersSistersDaughter

#140
post #116
post #32

Earlier quoted context omitted.

Exactly... Could it not just have been named CNContactLabelRelation表姐 ?

In case you're serious I'd have to rely on IDE completion or copy/paste to input this, not being familiar with chinese input methods. It would also make it trickier to compare identifiers and make sure that it makes sense. I think it makes more sense to keep all identifiers in English or alternatively provide completely localized versions of the API in other languages, going halfway is just going to confuse everybody…

I am genuinely curious why not. Interesting to know that history about php!

A middle ground might have been to use a transliteration such as CNContactLabelRelationBiaoJie.

Your point about input makes sense in that it's technically possible to type the English identifier without Chinese input methods, although I would be surprised if anybody typed that long-ass English identifier without IDE completion or copy-paste either!

The point about being able to more easily compare, I disagree with - the long identifiers are hard to check.

IMO if an API exposes an uncommonly-known but well-defined concept, I think it's acceptable, and better, to ask users of the API to learn the concept before use rather than paraphrase it.

It better matches what developers are likely going to try to do: if anyone is ever going to write a program that has to care about this case, I'm pretty sure the spec isn't going to be something like "if the contact is the user's elder female cousin who is either the user's mother's sibling's daughter or the user's father's sister's daughter..." - it's likely going to say, if not in Chinese, "if the contact is the user's 'biaojie'..."

There is good precedent for this kind of preference for expressing concepts that aren't broadly familiar in technical APIs. You'll get some symbols containing words like AffineTransform or CMYK in it, and probably many programmers wouldn't know what they stand for either until they need to learn what they are, but that's ok and better than dumbing down the API to something like RotationOrTranslationOrResizingOrCombinationThereOf or PrimarySubtractiveColorSystem.

Post reply on HN