-
Website
http://mattwalters.net/ -
Original page
http://mattwalters.net/2007/05/22/my-language-is-better-then-yours/ -
Subscribe
All Comments -
Community
-
Top Commenters
-
Matt
4 comments · 1 points
-
chrisranjana_com
1 comment · 1 points
-
-
Popular Threads
First of all, I still think the commercials point out entirely valid comparisons, but I always stipulated that the were comparsions of the experiences of the majority of coders. There's a bit of a selection bias here because, since the commercials were made for RailsConf specifically, the audience was by definition already convinced that Rails solved problems endemic to real-world PHP programming. Yes, there are PHP frameworks out there, but they just aren't used that often. I kept coming back to the point that Rails was a response to a particular climate, not just a language or competing framework. We both agree that this response has merit, I thinkI never said a language that didn't enforce certain behavior was inferior. I said that you were pigeonholing Rails as a "structured" approach that forced you to do stuff you didn't want to do, which is flat out wrong. Part of the problem here is that Ruby is a very different language than either you or I are used to. The expressiveness it allows enables all sorts of things we'd never think to do or would think to difficult to do in other languages. I'm thinking specifically of modifying class definitions on the fly, the variety of ways to perform iteration, closures, etc. These are "next level" language features that make any design decisions of the Rails framework much less binding than in other language/framework packages. That would almost certainly apply to ANY framework built in Ruby.There will always be lazy programmers. Rails encourages laziness in the initial stages of writing an app, no doubt. But the need to understand how to write code is not, therefore, rendered moot, but rather deferred to such time a you can't CRUD your way to a youtube or twitter. Keep in mind that this is totally in line with Agile philosophy - you do the work when it becomes necessary, not ahead of time.It boggles my mind that a guy who uses so much open source code would not give more weight to the advantages of a consistently understood framework. It's not just for enterprises picking up projects from other firms; it's new team members. It's ad-hoc plugin development ecosystems. It's having a standard that can serve as a jumping off point for real, critical discussions (even ones that demonstrate Rails accomplishes a task poorly, such as performance problems - having a common framework provides a shared, no-need-to-explain context for the problems any Rails app will encounter at certain loads and scales). The communication advantages a community gets from adopting a common framework are ignored only at one's peril, because those are the guys PHP do-it-from-scratchers (which comprise the bulk of PHP programmers) will be competing with. If and when PHP develops a common framework everybody agrees to work with (which I don't see happening) they'll immediately run into the same pros and cons as Rails (which I know you agree with, which is why you think the comparison is bunk, but I'm simply saying that there's more to it than you give appear to give credit for). This:is flat out wrong - it IS easier, and I know because I've picked up the projects before.I'll concede that PHP has a long way to go before its a dinosaur; I simply meant that to ignore the trend that Rails exemplifies is perilous. You never disagreed with that, though; just clarifying.
Honestly, I think if you ever get a chance to work professionally with Rails for a month or two, you'll see what I mean. Even if you used Ruby for scripting or something, you'll see why Ruby is such a "next level" thing. It's the expressiveness and language-like feel that makes things much less abstract and more intuitive.
The quote you pulled and your response only really show that you didn't get my point (either through my lack of explaining it, or you not reading it closely enough). My point was that you're never going to get enough firms to pick up a single language and framework to make the task of taking over existing projects easier. It's the same for PHP or any other language. There will never be so many firms programming in PHP that it would be easy to move an app from one to another. So with Rails, there will never be enough firms doing Rails development for this to really get enough traction to be a worthwhile argument. You'll always be taking over a Java project or a .NET project or a PHP project. Sure you can possibly say, "We'll only work with Rails code" but the chances of that ever being a wise business decision are unlikely.
As for the last remarks, I think the link I gave you for Chris speaks well to that point.
You may not have been saying I'm not as advanced of a programmer, but you were about as close to it as you can get without saying it.