PHP Sadness

Unexpected T_PAAMAYIM_NEKUDOTAYIM

It is not okay to have errors which are only decipherable by using Google to get a translation:

For reference, this is the PHP lexer name for what should be T_DOUBLE_COLON, and is what it uses when it wants to express to the developer that it did (or did not) want to see :: at that point in the code.

PHP 5.4 still calls it T_PAAMAYIM_NEKUDOTAYIM, but includes '::' in the error message, making it only mildly less confusing:

$ php -r '::'
Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in Command line code on line 1

Significance: Fast Debugging

It is very important to be able to quickly debug issues in your application. When every second of downtime costs your company money, bad error messages can mean thousands of dollars in unnecessary losses and hours of wasted developer time. Languages posing to be used in large applications need to ensure that developers can quickly discern the cause of an issue.