Hacker News new | past | comments | ask | show | jobs | submit login

PHP advocate Terry Chay has said:

Rails is like a rounded rectangle and PHP is like a ball of nails.

When I say that PHP is a ball of nails, basically, PHP is just this piece of shit that you just put together put all the parts together and you throw it against the wall and it fucking sticks.

Putting aside the comparison between a framework and a language (maybe he really meant Ruby rather than Rails, I don't know), These quotes really rung true to me as a person who has some experience with PHP and Ruby on Rails.

PHP is ugly, no one will really disagree with that. But when used in the domain is was designed for (websites) it gets the job done. It's a ball of nails that sticks to the wall. Until recently at least, Rails was a bit more hassle to deploy, PHP is ever present, even on super cheap shared hosting packages and more "plug and play" in deployment. The fact that PHP is so popular means there's a massive amount of pre-existing apps and help (of varying quality) only a Google search away. This is true for any language, I guess, but PHP more so than most.

But Ruby (like Python) is a bit more general purpose and compared to PHP just seems more thought through to me. More consistent. I've always felt that aside from any other factors, this possibly also has to do with the age of the languages and what time they "grew up" in. But in any case, I actually find it easier to conceptualise more in depth concepts when using Ruby and Rails. So Ruby - and by extension - Rails is more like a rounded rectangle, it feels nice with no sharp bits, somehow balanced and symmetrical in my mind. But I feel the initial learning curve of Ruby (and I assume Python) might be a little steeper than PHP. Maybe that's just because I had gotten more ambitious by the time I'd hit Ruby.

Hopefully my ramblings have helped you a little. But to more directly answer you, yes it is absolutely possible to code some awesome and scalable apps in PHP. Just look around, the Internet is full of them. But would you benefit from learning some Ruby or Python along side your existing PHP knowledge, the answer is again absolutely yes. I probably don't have to add it, but just to be clear, you can of course also code some awesome and scalable apps with Ruby or Python.

I don't think these choices are as "either or" as a novice might generally think. Many concepts are similar regardless of which language you use. Putting time into one language does not necessarily mean that time is wasted if you later choose to switch.

PHP is a great language to get stuff done. And if you're a decent programmer, the later versions even give you the tools to get things done relatively nicely.

The only problem for a beginner is that you'd have a hell of a time finding any decent code to learn from. This can be a problem in any language to some degree, but PHP is the worst, followed shortly by Javascript.

Applications are open for YC Winter 2023

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact