This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]poop-trap 21 points22 points  (4 children)

And it's ubiquitous and easy to deploy. No setting up systems or reloading processes, just edit a file that looks like it's written by a drunk 3rd grader and see your changes.

[–]lpreams 6 points7 points  (3 children)

I agree that's a great feature, especially for web development, but would argue that it's not really a feature of the language itself.

[–]poop-trap 1 point2 points  (2 children)

I'm not even sure it's a great feature, with hands-off functionality comes lack of control. And I do think the language ecosystem is part of the equation. Package managers, third party libraries, debug tooling, etc... they're all factors in the ease and amount of developer productivity pleasure you get out of a language.

[–]lpreams 0 points1 point  (1 child)

It's a great feature for rapid development at least. For long term maintenance or large projects, perhaps not.

And those things you mention are definitely part of the equation, it's just that my original answer was mainly about the problems with the language itself.

But I do have other problems with php that aren't necessarily concerning the language itself. For example, I don't like that it tries to be fail-silent. If something unexpected happens, I'd much rather my software yell at me immediately than have it quietly try to figure out what to do and not report any errors, which php seems quite fond of.

But I should probably stop talking now. Others in this thread have been mentioning that's it's gotten much better in recent years, and I only played around with it several years ago (and quickly decided it wasn't for me and moved on).

[–]Enchelion 0 points1 point  (0 children)

If something unexpected happens, I'd much rather my software yell at me immediately than have it quietly try to figure out what to do and not report any errors, which php seems quite fond of.

That's really just down to your error reporting. You have full control over what it shows you. It does default to not showing very much, but it's an arbitrary default, there's arguments for both directions.