Sponsored by Travelzoo
$45 & up: Huge Hotel Sale view!
travelzoo.com - Great discounts on rooms for the holidays and beyond!
69 Comments
- annjay, on 05/03/2009, -1/+20Rails is a good web application framework. It has a low learning curve, so it gives beginning programmers a chance to get up and running in very little time. Though if you're a native PHP developer, I would go with a PHP framework like Zend or CakePHP because they're great as well and would reduce the time you need to learn something else.
- InorganicMatter, on 05/03/2009, -0/+12People, please stop the "Rails versus PHP" stuff.
Rails is a framework. PHP is a programming language. Rails lays a foundation, which you then program around using Ruby. PHP requires you to program everything yourself, the old-fashioned way.
A more accurate comparison would be "Ruby versus PHP" or "Rails versus Kohana." Quite frankly, with computers being as fast as they are, I don't understand why anyone would bother hard-coding an entire web application themsevles using Ruby or PHP. Frameworks make it soooooo much easier, and give teams the flexibility of letting programmers program, and designers design. Old-school PHP sites that have logic scattered everywhere turn into a disaster when maintained improperly. Laws of increasing entropy and all that. - xCIone, on 05/03/2009, -0/+9This is a good overview of Rails. It essentially covers why you should use Rails, or any web application development framework, for that matter. Security is a great reason, it's typically better to have pre-built components for logins and such, to reduce vulnerabilities
- mrmzytplk, on 05/03/2009, -0/+8Visual Studio usually means you're working with the .NET family of languages and tools. First off ... Ruby on Rails, like Django and most PHP frameworks are open source, so you don't have to pay up front licensing fees. The .NET family of languages is pretty powerful - MySpace was rewritten on a .NET stack, if I remember correctly - highly performant, and there are a slew of professionals you can hire because there's a pretty wide base of developers that know .NET technologies so you can grow your team easier. C# is a compiled language so performance-wise, on an on-for-op comparison, you'll smoke Ruby/PHP/Python/Perl or any other interpreted language in speed. HOWEVER - most web applications are I/O intensive and bottleneck at the data source, so your cost savings might not be so great. You might get some benefit from the easier integration with SQL server, but I have not personally done a MySQL/PostgreSQL comparison against SQL Server so I can't give you an apples to apples breakdown. Short answer? Be ready for $$$, but it might not be so bad in the overall scheme of things because the tooling is pretty good and you can more easily find .NET professionals.
That being said, there are many large and small sites that use open source and *Nix based technology stacks instead. My personal preference and the personal preference of many of the developers I work with is to lean Open Source and *Nix. I think a few years ago I would have blasted .NET because you're feeding the Microsoft beast, and it'll cost more for hardware, but really when it's time to scale out, your main cost is people and opportunity cost in not being able to find people. I like *Nix because I work on a lot of side projects that have a couple hundred users a month (If I am lucky) and don't want to pay for Microsoft, and anecdotally see more interesting *nix based technologies. If you hired me as your CTO, I'd push for *nix, and I'd hire people working with open source techs because I know I can get them. I have a friend in Colorado who started a company, and his company uses the Windows stack because all the professionals he knows are .NET guys.
I guess I didn't answer your question. Use what you know, use what your team knows. If you put me into a .NET position (suitcases of money) I'd be a fish out of water for a while, but I'd adjust. But it really doesn't make sense to hire me to work with a technology I don't know when you can hire me to build a team to build something with tools we DO know and ship product faster. - jcsoc, on 05/03/2009, -2/+9I will now add the word "revolutionized" to my list of meaningless buzzwords
- GMFlash, on 05/04/2009, -4/+11Dear Rails fans, Don't bother with trying to convince the PHP folks that Rails is better. It is a journey they must make on their own.
The process to enlightenment usually goes like this:
1. I learned web development on PHP. It's the superior language and nobody can convince me otherwise.
2. A year later: I'm such an awesome coder. Now it's time to create my own PHP framework.
3. After 10 tries at making a framework I think I finally got it. Now time to work with databases, forms, and validation...
4. This is horrible! Why don't objects, accessors, and chaining work how I expect them to?
5. Okay fine maybe I'll try to port a simple app to Rails just to see what the fuss is about.
6. Wow, ActiveRecord is so much nicer to work with than any of the database libs I've used in PHP.
7. Blocks and mixins FTW!
8. All done porting. I can't believe my Rails app only has 10% as much code as my PHP app.
9. Time to deploy my Rails app. gem install passenger. Add a couple lines to my httpd.conf. Done.
10. My PHPitis has been cured. Thanks Ruby/Rails! - seanmc303, on 05/03/2009, -0/+6So knowing PHP will make you a programmer? The PHP community is home to many script kiddies. PHP is one of the worst designed languages I can think of. Its conventions are lousy at best and non-existent at worst. PHP's function API is about as random as you can find. Anyone who knows anything about programming (in languages other than PHP) would or at least should advise against learning PHP.
I have been developing with PHP for about 5 years now, and I hate PHP. I just need to find a job that does not make me use such a mangled language. Too bad there are so many PHP jobs. - seanmc303, on 05/03/2009, -0/+6I have used Rails for about 2.5 years now and CakePHP for one year. CakePHP in all aspects pales in comparison to Rails. If you know Rails and you know CakePHP like I do, I would have a very hard time believing anyone making an argument for CakePHP as a viable alternative to Rails. CakePHP was initially modeled after Rails, but it is a poor facsimile at best.
- JonnyCasino, on 05/03/2009, -4/+10First, I want to say that I enjoyed reading the article I learned about Rails. But I have to say that a PHP framework is the way to go. PHP is higher performing and has a bigger support community. It's tested in big sites like Digg and Delicious and Stumble Upon. Rails is relatively new so I would be careful to launch a major site using it as the backend.
- Radhruin, on 05/03/2009, -0/+5This is honestly the most retarded thing I've read in this thread. Using a Ruby framework doesn't make you a programmer? Seriously? That claim is so absurd I can't even address it. You realize that in order to use Rails you have to know Ruby, right? And Ruby itself is far more of a programming language than PHP is. Ruby can be used in multiple domains, PHP only makes sense on the web. If you want to make stupid arguments about one language making you more of a programmer, PHP is the toy here.
In fact, I would claim that Rails is harder for a non-programmer to grasp. PHP can be done with just rudimentary scripting knowledge. To really be any good at Rails, you have to understand Ruby and it's object model, inheritance, classes, symbols, mixins, modules, etc. These are advanced programming topics.
Basically, wow, that was an uninformed comment. - Arsenard, on 05/03/2009, -1/+5An accurate acessment !! :)
- copypastry, on 05/03/2009, -0/+4revolutionated
- UKsHaDoW, on 05/03/2009, -0/+4PHP simpliy lacks the language features of ruby to have a framework like rails, but all those fancy features can be burden if the people missue them. A decent programmer could make a much more concise program in ruby than php. A newbie would make a mess.
- brainnovate, on 05/03/2009, -0/+4Not to mention HULU.com, Yellowpages.com, and a number of others.
- inactive, on 05/04/2009, -0/+4You made me lol!
- TDDebug, on 05/03/2009, -1/+5Twitter has one of the worst uptimes of all popular social networking websites, and their security is awful.
- gdonald, on 05/03/2009, -2/+6Rails is more than 5 years old.
Ruby is older than PHP, look it up.
Matt Wood processes more than 250TB of genetics data per day using Rails:
http://www.vimeo.com/1104164
Go home PHP boy. - rumblestrut, on 05/04/2009, -0/+3seanmc303, you said exactly what I was going to say.
Here's a small list of apps build with Rails. http://rubyonrails.org/applications - InorganicMatter, on 05/03/2009, -0/+3You still have to program the control and view classes, so yes there is a lot of programming involved. Rails simply automates the tedious parts. There's no reason not to use a framework, even if you're a PHP guy.
- MiDri, on 05/03/2009, -0/+3Both have their nice feature sets. I like how everything in ruby is an object. so you can do methods on strings instead of calling functions -- I however, do not like the naming conventions of those methods.
I'll never understand why you would use string.to_i instead of using 2 more characters and writing string.to_int which makes more sense... - jaygeeze, on 05/03/2009, -2/+5I'm not so sure you can say PHP is better than RoR in performance. Twitter seems to be doing OK using Ruby On Rails. 37 Signals apps like Basecamp also show how good Rails is.
- Warom, on 05/03/2009, -0/+3I don't think you need a PHP framework for rapid deployment, with all the classes available doing pretty much everything you can imagine, PHP frameworks just seem slow and not thoughtout as well as RoR. PHP + Library of Classes is the way to go in my opinion. You get very similar rapid development without the poor performance.
- Radhruin, on 05/03/2009, -0/+3PHP frameworks are either on par or much slower than Rails when using vanilla Ruby 1.8.7. Using any other technology along with Rails such as Ruby Enterprise Edition, Ruby 1.9, or another Ruby framework, or the Rails 3 (eg. the merge of slow Rails with speedy-fast-and-lean Merb), and you're faster than the fastest PHP framework. Rails' poor performance is. quite simply, a myth.
- bradleyland, on 05/04/2009, -0/+3Zend, yes. CakePHP, no. The problem with CakePHP is that it tries to duplicate Rails almost verbatim. Rails is not the perfect framework for every language. Elements of Rails were clearly written the way they were because of the underlying language, Ruby. When you try to do the same exact thing in PHP, things get clumsy. It feels a bit like someone took a Chinese phrase and translated it directly to English without accounting for grammar or phrasing. CodeIgniter and Symfony are both better frameworks for PHP.
- Warom, on 05/03/2009, -0/+3Just remember CakePHP probably wouldn't exist if it wasn't for the concept of Ruby On Rails and it's subsequent success.
- jodokast, on 05/04/2009, -2/+4Rails triggered a boom in web framework development and usage. Now most sites are built on top of a framework.
- inactive, on 05/04/2009, -0/+2I thought ColecoVision was a pretty good game console (for its time)
- jggube, on 05/03/2009, -1/+3Or use a PHP framework like PHP. In this day and age, you've got to develop apps rapidly, and a framework will help you do just that.
- Radhruin, on 05/03/2009, -1/+3Uhh, Rails hasn't required FCGI to run since inception, and FCGI has been deprecated as a deployment method for nigh on 3 years now (in fact, the latest version of rails doesn't even come with the CGI/FCGI dispachers). After FCGI (which sucked hard, yes, that is true), Mongrel hit the scene, which was a super-fast Ruby web server that made running a Rails app fairly trivial, but deployment kind of a pain. Now there's Phusion Passenger which basically allows running a Rails app with Apache or nginx a matter of 3 lines in a configuration file.
- InorganicMatter, on 05/03/2009, -2/+4PHP frameworks are great if you want to stick with a language you already know, but all of them pale in comparison to Rails' robustness.
- jjn1056, on 05/04/2009, -0/+2I don't think I can grant RoR that, as you say. There were a lot of frameworks well in advance if you count all the Java stuff. RoR placed the emphasis on simpler and convention over configuration, which was a reaction in part to the crazy amount of configuration most Java based frameworks required. So I would say RoR forced all the big players to acknowledge they needed to concentrate on simplifying things. That's a positive.
- seanmc303, on 05/03/2009, -1/+3Only the fastest PHP frameworks are on par with Rails as far as performance goes. Other Ruby frameworks like Merb and Sinatra are way faster than any PHP framework I have heard of. Ruby 1.9.1 is considerably faster than the most recent version of PHP.
"Rails is relatively new so I would be careful to launch a major site using it as the backend."
Give me a break. How much time must pass before a framework is mature? Rails has been around for ~5 years. Twitter, YellowPages.com, and Hulu would probably argue with you about this. - UKsHaDoW, on 05/03/2009, -1/+3You want people to become well versed programmers, then you recommended they learn php? Persnsally i'd learn ruby which is much more of a modern language with stuff like closures and lamdas. Can you take functions as parameters in php? I don't know, i havent used php in years.
- seanmc303, on 05/04/2009, -0/+2@MiDri - I will have to disagree. Learning with little structure and bad conventions leads to learning bad habits. Why would learning a language that tends to instill some of the worst habits be a good idea? If you want to learn to program just so you can get a job, PHP might be a decent choice; however, Java or C# would be better options for this purpose.
I tend to think that people should learn stricter languages like C/C++ so they can appreciate what higher level languages provide them and so they have a better understanding of what is happening behind the scenes. I will say that Ruby is a lot more fun to learn. - tbranch227, on 05/03/2009, -0/+2wtf?
- MrChunks, on 05/03/2009, -0/+2A PHP framework like PHP? I assume you typoed there. Which PHP framework would you recommend?
- dsn0wman, on 05/04/2009, -0/+2ColecoVision was an awesome console (for its time). Not sure what that has to do with rails though.
- mcprogrammer, on 05/03/2009, -1/+3How has Ruby on Rails revolutionized the way we create web applications?
- bearcat8543, on 05/03/2009, -1/+3can anyone shed some light on how this performs compared to visual studio?
- UKsHaDoW, on 05/04/2009, -0/+2Functions can be sent through to other functions as a parameter. It's a good way of building up programs.
- N01SE, on 05/05/2009, -0/+2Programming languages and frameworks are only as good as the engineer using them.
- maumac, on 05/12/2009, -0/+2It was the first framework to push hard and to popularize several concepts that today seem obvious and are everywhere, but were not so back in 2004 when it was launched.
Ex.: Opinionated software, convention over configuration, don't repeat yourself, fixed directory layout, enforcement of MVC, enforcement of REST, embracing of HTTP (Rails ressuscitated PUT and DELETE), change-embracing schema definition (migrations), full stack framework, one language from presentation to database...
Since then almost every web development platform has seen its own Rails clone with a twist.
PHP: CakePHP, CodeIgniter
Python: Pylons, TurboGears
Java: Grails, Sails
.NET: Monorail, Subsonic, even Microsoft itself took its turn with ASP.NET MVC!
Perl: Catalyst
SmallTalk (!): Seaside
You can think anythying you want of Rails, but it was undoubtedly a big game changer on the web development scene. - quinster, on 05/13/2009, -0/+1First off, let me admit that I don't know much about frameworks. That said, here is a newbie question: How do the various python frameworks compare, like Django?
- markstory, on 05/04/2009, -0/+1Well if you were aiming for conventions over configuration, both Zend and Symfony will leave you wanting more. Both are configuration over convention in many regards. Also I fail to see how typing Zend_ every time I want to use a class is 'elegant'
- bradleyland, on 05/05/2009, -0/+1Don't get me wrong, I'm not crazy about Zend, but CakePHP just drove me ***** nuts. If one wanted to use the Rails framework, I can't see a lot of reasons to use a bad PHP knock-off rather than just going with Ruby on Rails. Ruby isn't difficult to learn, and since Passenger hit the streets, the hosting stack is just as easy as PHP.
- henriklied, on 05/30/2009, -0/+1The performance of both most PHP frameworks and Rails are probably adequate for most of the users in here. Before you reach the scale of Twitter, Facebook and like-minded sites, I'd recommend you stop worrying about it.
I would put a finger on Django, though. Outstanding framework with an active (and extremely helpful, which is not a given these days) user base. Also, performance wise, Python is rather quick for a runtime-compiled language. With the rise of Google's unladen_swallow branch, Python will probably be the quickest one of the runtime-compiled languages. - seanmc303, on 05/04/2009, -1/+2@novaluxnovalux - Despite Twitter's "Fail Whale", Twitter is a testament to Rails success is saleability. Does Facebook use a major open source PHP frameworks? I highly doubt it. I'm sure Facebook was designed from the ground up. So comparing Facebook to Twitter is like comparing a language to a framework. Apples and oranges. Surprise! A well designed custom Ruby app is faster than Rails. A well designed custom PHP app is faster than the fastest PHP framework.
Few sites get as much traffic as Twitter. 99.999...% of websites will never have Twitter's traffic. Rails's rapid development does come at a marginal performance trade off, but the simple fact that Twitter has succeeded is proof that Rails can scale. If the "Fail Whale" makes you think Rails can't scale, you may want to take another look. - mrBitch, on 05/04/2009, -0/+1@ novalux, RE: "... recent Twitter hacks are the best argument against your statement ... "
You did realise that the Twitter "hacks" were nothing more than social engineering? Google it, and you will find they got the passwords by just guessing them. -
Show 51 - 73 of 73 discussions




What is Digg?