3 ms·
This article was written in 2007. Since then both PHP and Rails have undergone considerable changes making much of what is being said only of historical interes
by peterhi 17y ago
This article was written in 2007. Since then both PHP and Rails have undergone considerable changes making much of what is being said only of historical interest.
This is supposedly a site about news which by implication is not something that happened three years ago, unless you have been living in cave.
Old articles can be interesting, for some value of interesting, but this does nothing for me as either a Rails developer or a PHP developer. I can see no reason to post this or perhaps I should hunt down some old articles about the deficiencies of Java 1.0?
If a Rails developer has switched from a current version of Rails to the new version of PHP I would be interested but even with that being said the article is comparing a programming language to a web framework. Ruby is not Rails just as PHP is not Drupal.
Can we have some 'new' in our news please?
[Edited for typo]
- jacquesm 17y agoAnother one like it: http://news.ycombinator.com/item?id=904018 http://news.ycombinator.com/item?id=904018
- niyazpk 17y agoI have updated the title to add the year [2007]. I am not a Rails programmer but as far as I know it is fair to compare PHP to Rails. Please down vote if you think article is not relevant.
- jacquesm 17y agoI think that comparing PHP to rails is not the best way to get an idea of where both stand. Ruby, the language and PHP the language vs rails on one side and CakePHP or codeigniter would be more appropriate. I understand that since most people that use Ruby are also rails users and since most people using PHP hack their own little framework.
- simonw 17y agoPHP is a "framework" in the sense that it provides the core mechanisms for doing webby things - accessing query string and POST variables, sending HTTP headers, reading cookies, mapping URLs to executable code. I actually think comparing stand-alone PHP to frameworks like Rails or Django is reasonable, since they all solve the same problem. Of course, such a comparison should also take the existence of higher level PHP libraries and frameworks in to account - it would be silly to criticise PHP for not shipping with an ORM, for example.
- jacquesm 17y agoThey are things that apache sets up for mod_php, php the language is a standalone thing that you can bind in to apache like that. I know that PHP was pretty much born for the one purpose of making webpages but you have to try to see the one separate from the other. php-cli works fine.
- peterhi 17y agoTo some degree it is relevant (it's not about fixing the transmission of a Ford Cortina) just not very relevant given the changes both languages have undergone in the intervening times. If you are a PHP programmer how would you view an article about someone who started to use Drupal found that they didn't like some aspects of it and switched to programming in Java. You would probably think that giving up on PHP because of a framework when there are plenty of others to choose from was pretty short sighted and was representing PHP unfairly. This is why comparing Rails, which is a framework, to PHP, which is a programming language, feels wrong. Rails is not the only framework, it just feels like it :D
- Zak 17y agoI've worked with PHP in the past, and occasionally still do when the situation demands it. I've also built web apps using Ruby, with Rails and without a framework. All of the following are possible options for building a website: * Bare PHP * Bare Ruby (but you probably should not use mod_ruby) * PHP and a framework * Rails and a framework From a pure language perspective, I'm willing to declare Ruby superior without hesitation. It's cleaner, and it's more powerful. Ruby seems to have had a fairly clear vision from the beginning, while PHP has accumulated features over the years, sometimes without regard to how well those features might work together. If you just need to get something done, you should use what you're familiar and comfortable with. No advantage of any of these options is as important as the programmer's ability to use the tool. Frameworks are opinionated. The purpose of a framework is to take away the work of making certain kinds of decisions. If your opinions clash with those of the framework, the project isn't going to go well. Rails is of the opinion that the database should have a certain sort of schema, and be abstracted away by ORM. If you like SQL, don't use Rails. If you have a complex existing database, and you want to keep it instead of moving the data to a Rails-friendly schema, don't use Rails. The article doesn't really serve as a comparison of PHP and Rails. It's just a story about what happens when a tool is a poor fit for a project.
- jules 17y agoPeople build websites with Ruby+Rails. People build websites with PHP. So it is fair to compare the merits of Ruby+Rails vs PHP for building websites.
- mixmax 17y agoSubmissions have to be either new or interesting. There are a lot of submissions that aren't necessarily new, but still have interest for this community judging by the votes. An example that's on the frontpage right now is this: http://news.ycombinator.com/item?id=1051493 http://news.ycombinator.com/item?id=1051493 which is from 2007. Personally I think the linked article is interesting because of some of the truths hiding between the lines such as this one: "But the main reason that any programmer learning any new language thinks the new language is SO much better than the old one is because he’s a better programmer now! You look back at your old ugly PHP code, compared to your new beautiful Ruby code, and think, “God that PHP is ugly!” But don’t forget you wrote that PHP years ago and are unfairly discriminating against it now."
- 10ren 17y agoHe also learnt new approaches from Ruby - reminds me of esr's "learn lisp to improve your coding, not necessarily to use it". It also seems he became something of a coding god, especially in his domain, able to create frameworks he needed - on demand. It's impressive to be able to create those tools, but even more impressive to realize what you need - and then for the tools to be both actually useful and usable. Generally, it's said to be a bad idea to write your own tools - unless you can (i.e. have the ability), says Alan Kay, because then you can create just the right tool for the job. Though perhaps no one else quite understands them, not being gods, and so they need to rewrite in aspx. I like his non-coding observation. GIRLFRIENDS: THE NEW ONE IS BETTER BECAUSE * YOU * ARE BETTER
- jimbokun 17y agoHe intimately understood exactly what his application needed, and had working code to start from. I think that was what enabled him to build the tools he needed.
- pvg 17y agoThere really isn't anything specific in the article that makes it significantly dated. His reasons would be just as valid if he'd written this yesterday about the latest and greatest PHP and Rails versions. 1 - He felt he could get what he needed to get done in PHP just as well as in Rails 2 - Integration costs of One Grand Switch from existing large PHP codebase to entirely new Rails codebase were high 3 - Felt no need for most of the infrastructure Rails provides, was too complex for him to understand easily 4 - Better performance 5 - Easier integration (due to 1 & 3, presumably) 6 - Didn't want/need an ORM layer and related handholding and/or headaches 7 - Rails/Ruby were better for him to lift ideas from than to actually use directly I can't think of anything so dramatic that's happened to PHP and Rails since Sept 2007 to really make his reasoning of 'historical interest only'. Certainly nothing like the change from Java 1.0 (a small, sluggish language released 14(!!) years ago) and Java today (huge ecosystem of products, languages, frameworks running on one of the faster VMs/JITs around).
- sivers 17y agoThanks pvg. You said it much better than I did. :-)
- Sukotto 17y ago[deleted by author]
- jimbokun 17y ago"His reasons would be just as valid if he'd written this yesterday about the latest and greatest PHP and Rails versions." It would also be just as valid for any two technologies, not just PHP and Rails. The real message is: don't rewrite working code from scratch.
- pvg 17y agoIt's obviously untrue for 'any two technologies'. And I don't know about you but I like to assume that if the author's 'real message' was 'don't rewrite working code from scratch' he'd have simply said that. Are you suggesting he put the effort into summarizing his particular experience while having some secret and entirely different message? What makes you believe that?