4 ms·
Exactly... Could it not just have been named CNContactLabelRelation表姐 ?
by ridaj 7y ago
Exactly... Could it not just have been named
CNContactLabelRelation表姐
?
- eridius 7y agoIs Chinese the only language with this relationship? Also, identifiers in Apple frameworks are always ASCII.
- umanwizard 7y agoThey could have used Pinyin. Even people who don’t speak Chinese and have to look it up would have an easier time understanding it than trying to parse this identifier.
- SatvikBeri 7y agoWhen I put this in Google Translate, it auto-detects Japanese and gives me "outer cover." When I specify Chinese, it just says "cousin." So it's not trivial to look up.
- umanwizard 7y agoPresumably you would google "CNBiaoJie" and find Apple documentation explaining the concept. (As an aside, Google Translate is a terrible way to look up the definitions of specific words. It is not a Chinese-English dictionary and doesn't try to be. Wiktionary would be a much better free option.)
- kevingadd 7y agoGoogle translate and Bing translate are extremely unreliable for ideographic languages.
- simias 7y agoAnd then every time you re-read the code you have to look it up to understand 1/ what the hell is even this and 2/ is it the right one at the right place.
- ridaj 7y agoWhereas with this English symbol that might not fit on a screen, there are none of those problems?! If the concept is foreign to you to begin with, but you have to care about it for some reason, you're going to have a bad time with either 1 or 2 no matter what the symbol is. (Though I agree that transliterating to BiaoJie would make it easier.)
- umanwizard 7y agoYes, which I think is easier than having to parse and understand this identifier every time you see it. Especially since after a few times you will remember what it means and not have to look it up anymore. There's a good reason we use jargon for complicated concepts rather than re-explaining them every time they're used. "while" is a lot easier to understand once its meaning has been explained to you than "EveryTimeWeGetHereCheckIfThisConditionIsTrueAndExecuteThisCodeBlockAndJumpBackHereIfSo".
- ridaj 7y agoI'm not sure it's the only culture having this specific relationship, but it's perhaps better to make sense to some than to none? A Chinese person, an Apple engineer and a HN reader walk into a bikeshed...
- simias 7y agoIn 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. Remember for instance the confusion created by PHP using hebrew in the symbol for the '::' operator: https://stackoverflow.com/questions/592322/php-expects-t-paamayim-nekudotayim https://stackoverflow.com/questions/592322/php-expects-t-paa...
- ridaj 7y agoI 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.
- progval 7y ago> 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'm not sure it's easier with the super-large English name