this post was submitted on 28 Feb 2024
284 points (92.3% liked)

Programmer Humor

32472 readers
564 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 94 points 8 months ago* (last edited 8 months ago) (4 children)

Tell me you've never used PHP without telling me you've never used PHP.

It's known for giving a complete stack trace, it's nearest neighbours and their god damn grandkids the moment it so much as coughs up a warning. For the longest time it was notorious for doing this as the default error logging level.

I'm aware it's cool to hate on PHP, but it has plenty of things to dislike without straight-up inventing nonsense.

[–] [email protected] 21 points 8 months ago (1 children)

Also that table would be generated by Xdebug, not PHP itself. PHP's traces are plain text by default. That said Xdebug is pretty good in itself, I've used it for a decade.

The stack traces are fine. You can even define a global handler for unhandled exceptions to log them, and it gives you an opportunity to also inspect every value of every function argument and whatnot. It's not lacking in debugging abilities that way.

If you're gonna make fun of PHP errors, at least make fun of "PHP Error: Unexpected T_PAAMAYIM_NEKUDOTAYIM on line 69".

[–] [email protected] 10 points 8 months ago* (last edited 8 months ago)

For those not in the know, the T_PAAMAYIM_NEKUDOTAYIM is just a double colon like this ::
It's a scope resolution operator for example to directly access a class constant or method without an instance.

[–] [email protected] 5 points 8 months ago

This. I haven’t touched PHP since 7.1 dropped, but error messages and stack traces were pretty far down my list of complaints about the language.

[–] [email protected] 2 points 8 months ago

PHP stack traces are effectively identical to Java's in every metric I'm concerned about.

If you get them sensibly in a log file, anyway. If you allow PHP to render this god awful fugly table inline with your page? Well, have fun. Yes, all the same info is there, and on paper it's organized in an easier to read format. But oftentimes the table will collide with and mangle with other elements and styling on your page, making the trace irritating or impossible to read.

This isn't much of a problem of course, because aforementioned log file is absolutely the way to do it in the first place, and PHP lets you. And hey, absolutely obliterating your page DOM in strange and exciting ways on error sounds like a fantastic way to ensure errors get caught and addressed in testing, so even the unpredictable mangled DOM bullshit is useful in its own way.

But if someone wants to dunk on PHP for at least outwardly appearing to promote trying to debug it with these awful stack trace tables, I think that's a well-earned roasting.

[–] [email protected] -1 points 8 months ago

I liked when it screamed at me some german error message out of nowehere or some other weird language. Totally sane language.