this post was submitted on 28 Feb 2024
283 points (92.2% liked)
Programmer Humor
31970 readers
1567 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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".
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.
And it means double colon in Hebrew, because the devs were from Israel.
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.
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.
I liked when it screamed at me some german error message out of nowehere or some other weird language. Totally sane language.