Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

> Take Japanese for an example, when you have hiragana, katakana, and kanji to express the same idea

I'm sure you know this, but for readers who aren't familiar with Japanese, it might be worth saying that hiragana, katakana and kanji aren't strictly interchangeable. Sure you can use hiragana and katakana as a fallback when you cannot or don't want to use the kanji for various reasons, but normally in every situation there's a recommended script to use in order to write correct Japanese.



I think the idea is to think about what would have happened if programming started in another language. If it were Japanese, it’s easy to imagine that you’d have the same issue with different styles in different contexts.

Some contexts might call for all hiragana variables, some all katakana, and some using the most likely/appropriate form of the word, including kanji. And in the third case, you’re still going to end up with discrepancies since not everyone agrees on when to use kanji.


And don't forget script number four in Japanese: Latin letters! Used for all sorts of odds and ends not covered by the other scripts; mostly (abbreviations of) names like 「IBM」. These conveniently come in full-width versions for use with kanji, hiragana, and katakana, but this of course won't stop anyone from using the basic letters we're using here. So in the hypothetical case where Unicode is a thing, but the lingua franca of software engineering is Japanese instead of English, you might end up with variables named:

    変数
    へんすう
    ヘンスウ (or even ヘンスウ)
    variable
    VARIABLE
    variable
    VARIABLE
…and all the additional snakes and camels varying the notations further.


I hate the fullwidth/halfwidth braindamageness with all my heart.


Without capitalization you would not able to have a class Thing with an instance thing.

It's a short article but maybe capitals have been useful overall




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: