5 ms·
I've definitely run into #1 on the list. "Paamayim Nekudotayim" is a transliterated version of פעמיים נקודתיים, which means "double colon" in Hebrew. Zeev and
by thinkcomp 15y ago
I've definitely run into #1 on the list. "Paamayim Nekudotayim" is a transliterated version of פעמיים נקודתיים, which means "double colon" in Hebrew. Zeev and Andi are Israeli, which kind of explains it, but the error message is still pretty useless.
- koenigdavidmj 15y agoEven in Hebrew, that is a useless error message...token names should mean what the token means, not what it looks like.
- gburt 15y agoFor unexpected token I think what it looks like is more valuable. Unfortunately most English PHP developers don't speak Hebrew. =\
- archivator 15y agoPresumably, the tokenizer doesn't know anything about the meaning of the tokens it's extracting. It's the parser's job to attach meaning to tokens.
- burgerbrain 15y agoPresumably, the programmers should pick reasonable token names for the sake of other programmers. They're all just numbers to the tokenizer...
- p4bl0 15y agoThis should disappear soon[1], it seems the patch has been accepted (or is on a good way to be), according the internals@ mailing list[2]. [1] https://wiki.php.net/rfc/improved-parser-error-message https://wiki.php.net/rfc/improved-parser-error-message [2] http://news.php.net/php.internals/52436 http://news.php.net/php.internals/52436
- qeorge 15y agoIts only a "bug" because there's an unspoken rule that all programming languages should be written in English, and English doesn't have a proper word for this symbol. Pretend that English had no representation of an ellipsis, but Hebrew did. Should the language author say "Expected: dot-dot-dot" in the error message to appease native English speakers, or should (s)he use the unambiguous form?
- rudiger 15y agoIn this case, the Hebrew word literally is T_DOUBLE_COLON, so not much is gained by its use. Perhaps reporting an "unexpected scope resolution operator" error would be better.
- generalk 15y agoOr, even better: "Unexpected '::' on line 14." I wouldn't want to see "Unexpected key/value delimiter" (=>) or "Unexpected opening of new scope" ({). Just show the character(s) you found you weren't expecting.
- georgieporgie 15y agoPretend that English had no representation of an ellipsis, but Hebrew did. Should the language author say "Expected: dot-dot-dot" Yes. It's not about appeasement, it's about consistency.
- jeffreymcmanus 15y agoIt's not an unspoken rule, it's an established convention. This isn't about whether we use English or not, or whether that's the right choice or not, it's about consistency. If you want to create a language that has all-Hebrew tokens and error messages, knock yourself out. Just do it consistently.
- rmc 15y agoThe rest of PHP is in English. A language should be consistant with itself.
- Someone 15y ago
- user24 15y ago> the error message is still pretty useless. not at all. A google search for "Paamayim Nekudotayim" gives you thousands of pages relating to exactly the error you're experiencing. It's WAY more useful than "Illegal operation" or "Syntax error".
- generalk 15y ago> It's WAY more useful than "Illegal operation" or "Syntax error". Wut. "Syntax error on line 14" -- Okay, time to look at line 14 for a mistyped semicolon or something. These two words Mean Something. "Unexpected T_PAAMAYIM_NEKUDOTAYIM on line 14" -- means absolutely nothing unless you've already looked it up. It's essentially easily-googleable nonsense. It might as well say "Error 0x444F808E". You can google that, too, and it also tells you nothing useful.
- randallsquared 15y agoYou would prefer, when encountering an incorrectly used double colon operator, PHP said "Syntax error"? Even when I'm directed to look only at the surrounds of the double colon, it has been difficult to understand the problem in some cases... it looks like valid syntax. Now, you might say that this is a problem with PHP's syntax, and I have no defense against that, but rolling this into "invalid syntax" with no further explanation would cause no end of trouble for those new to OO in PHP.
- eli 15y agoUh, how about "Double colon error" ?
- julioc 15y agoI still prefer something like "illegal scope operator"
- code_duck 15y agoRight, because there are thousands of people going to ask on mailing lists WTF that means. Given the small fraction of developers worldwide who speak Yiddish or Hebrew or whatever, 'double colon' might be a better phrase to use.
- lox 15y agoI'm actually quite fond of that particular quirk. At least it's easy to search for!
- alanh 15y agoOf all these complaints, I’m most forgiving of the name of T_PAAMAYIM_NEKUDOTAYIM. You only need to look it up once; the cost is a few seconds of Googling and the payoff is you learn a fun random fact. It gives the language a bit of color. Still, glad I’m not doing much PHP anymore.
- phillmv 15y agoActually, I kind of like the feeling that I'm building a golem when working on webapps.