Jim decided to respond to my post regarding language vs. language debates, specifically looking at PHP and Ruby / Ruby on Rails. He makes some good points, but there is some stuff that I’d like to respond to and clarify…
To say that one language is better than the other is meaningless. Better in what way? The question should always be asked in a particular context.
I definitely agree, in general, I’m just tired of language vs. language debates … more on that in a moment.
I don’t want to talk about the ads, though, because they have their own agenda and it certainly doesn’t match mine.
Works for me, but keep in mind that most of my original post was working towards making the point that the video’s were doing an apples to oranges comparison of PHP (minus framework) to Ruby on Rails. Jeremy and I disagreed on the validity of this comparison.
For me, that’s why I am using open-source tools in the first place.
…
For me, the bulk of my language preference comes from language philosophy.
…
but for my tastes, I appreciate the additional power that Ruby metaprogramming allows.
These are some key points that I can agree with, but again, more on that in a moment…
PHP =~ COBOL is not an analogy I would make, but at the same time I’d urge you to consider your claim “You’ll always be taking over a Java project or a .NET project or a PHP project” in light of COBOL, or FORTRAN, or VAX or any other platform that’s been a dominant success in the past. Current popularity is no guarantee of future popularity. In our industry, better mousetraps are ruthlessly adopted.
I totally agree, as I even said, I can see PHP going by the wayside one day, but today is not that day, and I still believe it’s extremely premature to be concerning myself with but so much. It seemed Jeremy was arguing that Ruby on Rails projects are more easily taken over, so my counterpoint was simply that RoR, like any other language, is not likely to be so widely adopted that his point would ever really become something you could rely on. Just to be sure I’m clear, I’m saying that it is unlikely that RoR will become so widespread that you can count on commonly taking over other RoR projects. This is not me slamming RoR, the same statement could be made in the direction of PHP, .NET, etc. You’ll always be taking over projects built on other platforms. Even as a PHP developer I experience this commonly. Just the other day I had to take over a .NET project and we chose to redo it in PHP for various reasons. I hope that’s clear, and if it’s not I wish someone would ask the questions I need to answer to make it clear.
If your focus, like in your last paragraph, is only on user experience (by which I think you mean developer experience), then language preference may truly not matter. But if your focus as a developer is on avoiding future “forced” language changes, then it might make more sense to attempt to determine which new technologies might eventually usurp the old. My claim is that Ruby and Rails are better positioned to do so that PHP and its framework set.
Ok, finally to the point I kept putting off above. I actually was not speaking of developer experience. I was speaking of end-user experience, the folks that visit our websites. THEIR experience is what matters in the end. PHP, RoR, .NET, etc are all capable of providing similar, if not identical user experiences. So if I prefer to provide that user experience with PHP, using mainly procedural based programming, then why not? If you want to do so with RoR, or any other platform, then more power to you. As you indicated, there are things about RoR that make you prefer it over PHP. I see no problem with that. But to say those ways are better then mine, if achieving a particular user experience is the ultimate measure, is sort of pointless, unless you disagree that the languages are capable of producing similar/identical experiences.
I also want to comment on the fact that it seems in these conversations I keep getting pegged as being resistant to change, not eager to learn new languages, etc. To be blunt, it’s pissing me off. I’ve lost count of the languages that at some point I’ve been well-versed in, let alone the languages I’ve “dabbled” in. Just because I’m not actively learning RoR at the moment, does not mean that I think PHP is Gods gift to programming nor does it mean that I am resistant to new languages as a whole. PHP has its flaws. One day it will be replaced (just like .NET, RoR, and even Java) but I don’t think that day is tomorrow or the day after, so I don’t feel pressure to move on yet. I think RoR is doing some great things for the development community as a whole. Some things I see in RoR, I adopt in PHP. That kind of thing is good for all of us. But again, just because I don’t choose to use RoR, doesn’t mean that if something else came along I wouldn’t take the time to consider how it might could benefit me. At some point I’m sure I’ll re-assess RoR, and who knows, maybe I’ll dive in. Right now, it just doesn’t make sense for me to.