|
You really can't answer this question? > So what's changed in the last few years that makes it 100% as good as Ruby or Python for web development? That seems like it should be pretty straightforward. > One could say the same things comparing something like Python to Smalltalk, and yet Python is fine as it is. If you've already dropped the standard from "100% as good as" to "fine as it is", then I think you've answered my question. Nobody's denying that PHP is a perfectly cromulent language; things get built in it. The servers hum, pages render, revenue is made. For its audience, it's fine as it is.
fine
But as far as language quality, developer experience, or aesthetic quality goes, I think PHP's kind of a mess. I don't mind that people don't care about the things that Eevee raises. Different strokes for different folks, after all. But I care about them. Personally, having spent the last year writing Python, I agree that it's fine, that it's adequate. But I think it's often no better than adequate. The object orientation is bolted on and a bit clumsy, there are 70-or-so global functions that mostly should go objects, the inclusion stuff is kinda broken, there's a bunch of stuff that looks like Java envy, etc. Given that's how I feel about Python, which is honestly fine, you could imagine why I think PHP looks like a novice in the 90s ate a half-dozen random O'Reily books and then threw up in a compiler. For people who do almost all their work in that language, have high detail memory, and are on the naturalist end of the naturalist/theorist spectrum, I think that's ok; they'll get by happily. I'm just none of those things. |
Actually there's no logical inconsistency being "100% as good as" to "fine as it is". Obviously something "fine as it is" could be "100% as good as".
>But as far as language quality, developer experience, or aesthetic quality goes, I think PHP's kind of a mess.
If we're comparing it to something like Scheme or Haskell or Smalltalk, yes. So, compared to the "aesthetic quality" of what? Javascript? C++? Perl? Go? Java?
As for the developer experience, can we get any actual qualified statements? Because the average developer experience of getting lost in the JS framework-du-jour land, or the Java developer churning BS enterprise factories upon factories is probably worse. So what exactly is bad with the developer experience? Certainly not the tools, from Composer to IDEs catering to the language. And I'd say not the fact that "it just works" without elaborate setup (or do people love configuring stuff in other environments?).
>Personally, having spent the last year writing Python, I agree that it's fine, that it's adequate. But I think it's often no better than adequate. The object orientation is bolted on and a bit clumsy, there are 70-or-so global functions that mostly should go objects, the inclusion stuff is kinda broken, there's a bunch of stuff that looks like Java envy, etc.
All of points being to it being a pragmatic language that developed from early versions.
>* For people who do almost all their work in that language, have high detail memory, and are on the naturalist end of the naturalist/theorist spectrum, I think that's ok; they'll get by happily. I'm just none of those things.*
Well, I don't do most of my work on the language (I mostly work with JS these days. I've also been using Python professionally since before 2.0, with early Zope et al). But I still find it perfectly fine.
If one has an issue with "70-or-so global functions", for example, I can't imagine how he would feel with JS "global by default" scoping -- which unlike PHPs is a core language issue.