4 ms·
> It is possible to make something great with substandard tools. Is PHP substandard though? While it's no longer my cup of tea, I do remember it being fairly s
by slantyyz 6y ago
> It is possible to make something great with substandard tools.
Is PHP substandard though? While it's no longer my cup of tea, I do remember it being fairly stable and performant.
Some of the enterprise software I work with, that was written in Java is ridiculously bad, but I don't consider Java substandard. Real world example: the "Configuration" app I use takes a minute to start up on modern hardware, and it's main job is to give a tabular GUI to an XML file. Even saving the configuration can take a minute.
- wlll 6y agoIn my experience, and of course opinion, yes. Java might also be "bad", I don't know. I programmed it for a bit but didn't like it so moved on. The main problem with PHP, the real killer, is not that it's complex, or the needle/haystack parameters to functions changed, or the iffy string escaping/unescaping or all that stuff, it's that it's hard to know all the edge cases in the language that could cause you to write a bug. It's hard to look at a piece of code and say "that's going to work the way I think it does". Javascript has the same problems with it's string/number/NaN/coercion wattitude. I want to be able to reason about my programs, because almost all of what I do (and I guess most people writing anything other than the most trivial application) revolves around handling data. Names, emails, files, data, preferences. If the language I am writing makes it hard to see the bugs, then it makes it more likely that there will be bugs. There is a common counter to this, and that's that good PHP programmers know about the edge cases, but there's a hell of a lot of average programmers out there.
- slantyyz 6y ago> "that's going to work the way I think it does" I definitely get where you're coming from. But everyone is different, and thinks differently. I did a lot of Rails after PHP, so I like using Coffeescript, even though that admission would get me mocked on any JS forum, since I've seen many people be called an idiot for not preferring Typescript. As for frameworks, I like Svelte, because it works the way I think. I've seen a lot of negative comments from React and Vue users on people using less popular frameworks like Svelte. My general attitude about these things is "if it works for you, that's great". I'm no longer a PHP user, but I don't think the reasons why I liked it 15 years ago have changed, even though my preferences have.
- wlll 6y ago> I definitely get where you're coming from. But everyone is different, and thinks differently. You have talked about preference a lot, and I honestly don't really care what people do or don't prefer, that's totally up to them. I will judge people for it, in the same way I would question someone's judgement if they insisted against all evidence that there was nothing wrong with their shoe-hammer. Personaly I quite liked Objective-C, but a lot of people kinda thougt it was the devil in programming language form. The problem with PHP is that there's a huge amount you have to know about the corner cases and edge cases that could cause you to write a bug or security flaw into your application. It's like there's an encyclopedia of weird behaviour that you have to remember all of, and it's going to be hard to remember all of the issues in all situations.
- slantyyz 6y ago> The problem with PHP is that there's a huge amount you have to know about the corner cases and edge cases that could cause you to write a bug or security flaw into your application. The amount of PHP you need to know to avoid the sharp edges depends on the complexity of your application and what you're trying to do. I don't make assumptions about what people are trying to build. > I will judge people for it, in the same way I would question someone's judgement if they insisted against all evidence that there was nothing wrong with their shoe-hammer. I also don't make assumptions about how a person evaluated and/or prioritized the tradeoffs involved with their choices, because their choice in itself doesn't tell a complete story. Sometimes what might appear to be a bad choice was well reasoned at the time it was made. When Twitter was made, "Rails doesn't scale" was a common insult against it. But Twitter might not have been built they been forced to make it in Java.
- wlll 6y ago> The amount of PHP you need to know to avoid the sharp edges depends on the complexity of your application and what you're trying to do. Not really. You aren't insulated from the edge cases until your application reaches a certin number of lines, at which point PHP flips the switch and you get the edge cases. The edge cases are there and affect you from the smallest program right up to the largest, it's just that with larger programs you're more likely to hit them because you have more code. The target is bigger.