Why exacly PHP contains "T_PAAMAYIM_NEKUDOTAYIM".

Yes, I googled what that is, I understand message, yet still it strikes me if PHP creator was high that night and later figured T_THE_DOUBLE_COLON_THING_OF_MAGICK is not what he aims for and out of wtf'ness temporarly forgotten english?

And what is your theory on that

  • 10
    It's been discussed in great lengths and suggested changed for a looong time and every time shot down: https://phil.tech/2013/...

    Apparently the stance (and reasoning) of PHP creator Rasmus Lerdorf is:
    "There are two reasons this term will stay. It is a tip of the hat to the amount of PHP work that came out of Israel, and it is a good reminder that there are a lot of other languages in the world. People whose first language is not English, myself included, are forced to work with unfamiliar terms every day. I wouldn’t mind having a few more non-English identifiers in PHP actually.

    Well, and a third reason, I like it."
  • 7
    The other way around, actually. The team behind Zend Engine was Israeli and all parser token constants were named in Hebrew. Later almost all of them were translated, they left this one in as a meme.
  • 1

    I wont comment the reasoning, it is what it is.

    I am just ranting that this is actual output of that, I dont care why that is this way unless there is actually valid explanation. Like inconsistancy in naming, it's just derrived of underlying C libraries, mkay, makes sense to me, but that?
  • 1
    @DubbaThony I agree completely that naming is important and should help whoever sees it. And there is no real reason why the actual, internal token names should be shown in error messages like that.

    I'm surprised you don't care about the reasoning though, as I read your rant as looking for answers/reasons/theories by the use of
    - Why exacly PHP contains "T_PAAMAYIM_NEKUDOTAYIM".
    - it strikes me if PHP creator was high that night [...] and out of wtf'ness temporarly forgotten english?
    - And what is your theory on that

    But at least they have been using (slightly) better error messages since 5.4, including the actual token:
    Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM)
  • 1

    Okay, honestly, I didnt know that it was to honour orgin country of PHP core. Thats what i ment by theories, but all was in general sense of 'this is ridiculus'
  • 3
    As someone whose mother tongue is spoken by 1000 non-natives max, I find this reasoning ridiculous. Yes, English is slightly less familiar to me than my mother tongue, but it's infinitely more familiar than Hebrew. Text that appears anywhere except locals' screens should be either in English or localized _and_ included in an English fallback language pack. If they truly cared about "non-native speakers" they would support translated error messages because that's actually useful.
  • 0
    I just cannot understand why people cave in to backwards compatibility. It is one of the worst ideas to ever exist. Look at Python 2 vs 3: if they'd made the changes slowly and incrementally there wouldn't still be such a disparity, 9 months after EOL and 12 years after initial release. (FUCKING TWELVE!!)
  • 0

    Actually BC is in my view quite damn important, but they arent discussing changes that would even break BC, its just excuse.
  • 1
    Because non-native English speakers have to know Hebrew too.
Add Comment