Update: here is a follow-up to this article, written two years later.
You won’t be reading any Ruby on Rails bashing in this blog post for a simple reason: I love Ruby and I love Ruby on Rails.
Rails is a fantastic framework built on a wonderful language that appealed to me the very first day I started to study it. I think David did a fantastic job in two areas:
- Coming up with innovative ideas that take Web programming to a new level.
- Leveraging the strength of Ruby to achieve his goal.
To tell the truth, the Pick Axe and Agile Web Development with Rails books are the best two technical books I have read these past years. I read quite a few technical books, but none has caught my interest and made me look forward to resuming my reading more than these two books. And to top it all, features such as Headless Applications, as illustrated in this blog post by Mike Clark, clearly show how powerful Rails is.
There is no denying that Ruby on Rails is turning the Web programming world on its head.
Now that this introduction is out of the way, I’d like to take some time to explain why, in spite of all its qualities, Ruby on Rails will never become mainstream.
As you probably guessed, my conviction doesn’t come from technical grounds.
The truth is that there are a lot of forces involved in making a Web framework successful, but before I dive into those, allow me to tell a little side story.
Have you ever come across Smalltalk or Lisp programmers? You know, these people who, no matter what you tell them, will always respond that "Smalltalk did that twenty years ago" or that "Nothing has been invented since Lisp". They listen to you patiently with an amused light in their eyes and when you’re done talking, they will just shrug away your points and kindly recommend that you read up on a thirty-year old technology that was the last thing they ever learned and that has been dictating every single technical judgment they have offered since then.
I believe that in ten years from now, people will look back at Ruby on Rails and will have the same reaction. I’m not sure what Web frameworks we will have by then, but I’m quite convinced that a lot of the current Ruby on Rails fanatics will have the same kind of attitude: "That’s nice, but Ruby on Rails already did this ten years ago, and better".
Interestingly, they might even be right. But by then, it won’t matter because despite its technical excellence, Ruby on Rails will still be a niche technology that only experts know about.
So why do I think that Ruby on Rails will never cross the chasm?
- First of all, Ruby.
Again, and at the risk of repeating myself: I love Ruby. I truly do. It’s one of the few languages that I have studied these past years that made me go "Yeah!" whenever I read about a feature I didn’t know of yet. I find its syntax and concepts extremely elegant and powerful at the same time. I don’t like everything about it, of course, but Ruby is by far the number two language in my toolbox behind Java, with number three far, far behind. But it’s a complex language that contains a lot of advanced idioms which will be very hard for PHP and Visual Basic programmers to absorb.
Admittedly, PHP and Visual Basic are cheap targets (we’re talking about languages that don’t even have name spaces!), but like it or not, they are the Web standard. Anyone who wants to succeed in the Web arena must have a compelling story to tell to these programmers, something that will convince them to switch to Rails on technical grounds but that will also be an easy sell to their management. Rails can’t succeed without these two conditions, and I am predicting that Ruby — and Ruby on Rails — will always remain a tough sell to any organization that contains more than ten people.
- Ruby on Rails itself.
Ruby on Rails is just too advanced. I’m serious. It has an incredible amount of slick features involving a lot of magic (both Ruby-related and invented by David himself). For talented developers, these features are a dream come true… autowiring of the MVC, scaffolding, defaults over configuration, unit tests (even integration tests now, nice!), you name it. David hit every single pain point that Web developers (regular developers even) have been facing these past years. Ruby on Rails in itself is a great example of how to nicely package what we have learned about software development these past five years.
But it’s still a very wide gap for corporate developers to cross. Sometimes, too much magic is too much magic, and it can definitely be the case that the flow of code is too direct or too clever to be understandable by regular developers. Developers were able to do the jump from imperative to object-oriented programming, but it was a hard fight. I don’t believe the Web world will ever be ready to embrace the Rails cleverness.
- Still no credible IDE.
All fanatics of dynamic languages are quick to point that they don’t need an IDE to use Ruby, Python, Groovy or other. And they will quickly add that if you need one, you’re probably not being rubyic or pythonic enough and that you should probably switch back to your old language and leave the grown ups alone.
This is nonsense. Ignore these people, they don’t understand how the real world works and how developers think, and they are one of the reasons why so many great technologies never make it to the mainstream. Don’t ever be ashamed to need an IDE or to ask for one. Of course, there are bad ways to use an IDE (e.g. you want code generated for you) but if you are interested in Ruby on Rails, chances are that you are a decent developer and you know how to leverage an IDE to make you more productive than when using emacs. Code completion or navigation, debugging, refactoring, project management, source control integration, etc… there are too many features to list that make you more productive if you use a tool that enables them.
This is 2006, not 1996. The programs we are writing and the problems we are solving every day are orders of magnitude harder than back then, and our tools need to keep up with that need. Emacs is a fine text editor, but it’s no longer adequate for modern development.
- Fanaticism.
Regular readers of my blog know how strongly I feel on this topic. There are exceptions, of course, but the attitude of Ruby on Rails users toward Ruby skeptics or critics has been less than kind. This is a crowd convinced that it has found the ultimate answer to everything, and they are not afraid to let you know. I only have a simple advice for these people: you might be right, but just be humble. It never hurts.
- Crowd of a single mind.
If you want to write a Web application in Ruby, there is only one solution. Only one. Ruby on Rails.
Ruby on Rails has pretty much nuked the field of Web development in Ruby, and I wonder if it’s such a good thing. For all the flak that Java receives because you can count at least a dozen different Web frameworks, there is something to be said about plurality and the constant chase for something better and different. Each framework that comes out builds on the strengths of its ancestors while discarding the errors (and committing a few mistakes of its own, of course). The field advances a little bit every time while bowing down to the timeless laws of natural selection.
I am worried that Ruby on Rails will do to the Ruby world what JUnit did to Java: a great tool when it came out but which condemned its community to an ice age where no innovation or competition appeared for years. Whatever the fate of Ruby, I hope its fans will keep an open mind and will constantly challenge the Rails way, for the simple reason that it’s always healthy to question what’s in place, no matter how good it looks.
- Enterprise capabilities and scalability unclear.
This is an argument that the Rails crowd doesn’t take well, and they are quick to point out BaseCamp and other products. The problem is that by now, there should be other obvious success Rails stories, and not just ones developed by the Rails Society. Of course, it’s a chicken and egg problem: a lot of companies evaluate Ruby on Rails but will only take the jump if they can find evidence that other companies have done that before them. And for now, the evidence is scarce at best.
Granted, Java took a while to rise to the enterprise challenge as well, and it did so despite tremendous initial handicaps such as poor performances and questionable specifications. I contend that until Rails goes through its own EJB2 debacle, it won’t be seen as enterprise ready.
- Lack of support from Internet Providers.
What’s the big deal with this, you ask? After all, Java is hardly supported by Internet Providers as well. The big difference is that Java on the server is targeted at the enterprise. Anyone who wants to run a Java EE application will most likely host their own servers.
Ruby on Rails is targeting a different population: the "Web sites in-between", these sites that are not massively scalable but still have more than a few visits per day. A lot of these people use external hosting, and they won’t go very far if Rails is not offered natively and pre-installed for them. PHP is a no-brainer for them, because it’s installed virtually on 99% of Internet Providers.
Of course, a little bit of .htaccess magic will allow you to run your own Rails application, whether your provider supports it or not, and assuming that they give you that amount of privileges and that you don’t need to scale too high, but until Ruby on Rails achieves at least half of the PHP penetration, it will remain inaccessible to most of the population it needs to become mainstream.
Note that I didn’t say anything about poor error reporting, weak internationalization support or Active Record, which are usually the areas where Ruby on Rails is the most criticized. I’m not worried about these because they are simply a symptom of Ruby on Rails’ youth. They will be fixed in time, and I don’t think they will play a big role in Ruby in Rails’ acceptance (or lack thereof).
So there you have it. My prediction on Ruby on Rails in one, lengthy post. I apologize for the size of this article, I usually try to keep my blog entries short and to the point. I hope at least that I achieved the latter.
I’ll conclude on a positive note: I hope I’m wrong. I really, sincerely do. For my next work, I want to have a choice between Java and Ruby, but right now, when in doubt, even I usually end up returning to Java for my personal projects for the reasons listed above.
And as you know, I love it when frameworks and languages compete for my business. But right now, I see no competition.
#1 by Benjamin Francisoud on April 6, 2006 - 1:27 am
First, Thanks for this post and I’d like to say: I do agree with almost all of your arguments.
But 😉 not on the conclusions…
Well I’m not a fortune teller 😉
> First of all, Ruby.
Ruby (advanced features) are complex but ruby leverage the learning curve. You can start by learning few tricks and then get better by the time… Back then when I learned Java it was more painfull 🙁 (I started with Jtable in a swing applet, arg! bad memories!)
> Anyone who wants to succeed in the Web arena must (…) convince programmers
I think the blog video did just that 😉
> (…) also be an easy sell to their management.
Something that must be done and will be hard but the fact that many rails developpers are coming from j2ee and are well known architects will surely help…
take a look at gary’s post http://www.jroller.com/page/dgeary?entry=tipping_rails
> Ruby on Rails itself.
Magic is good because it makes developpers more productive which is something your pointy haired boss will surely like 😉
> Still no credible IDE.
I’m not a vi/emacs addict at all!
But you must have missed something call “radrails”.
It’s an amazing plugin who just won an eclipse award (http://www.radrails.org/blog/show/56)
Take a look at it 😉
> Fanaticism
I hope I’m not like one of those lisp guys 😉
I agree that staying humble is the way to go since rails is not perfect either
> Crowd of a single mind.
There are other inovative web frameworks (http://code.whytheluckystiff.net/camping/)
But The fact that one of them is the reference is a breath of fresh air coming from J2ee (I think there are to many of them out there).
Also this didn’t bothered the ASP developpers to have only one option during all the last past years…
> Enterprise capabilities and scalability unclear.
I found some amazing numbers about the shift to rails (http://weblog.rubyonrails.org/articles/2006/02/01/secrets-behind-ruby-on-rails-the-numbers)
400 000 Downloads
550 develppers / 50 countries
25000 Agile web dev with rails books sold
(http://radar.oreilly.com/archives/2005/12/ruby_book_sales_surpass_python.html)
o’reilly ruby books sales up to +1552% since last year
more than python book sales
About performances see the great post of Justin Gehtlan (http://blogs.relevancellc.com/articles/2005/04/04/some-numbers-at-last)
who wrote http://www.oreilly.com/catalog/bfljava/
The numbers are amazing too!
He just changed is blog look, the post is just one big block 🙁
> Lack of support from Internet Providers
Rails is young but I sure it will come at time goes by… you already have http://www.typhon.net/en/ if you’re looking for one 😉
When I can choose between java and rails, I personnaly take rails because I don’t want to use my spare time on configuring hibernate mapping files and making yet an other ant file 😉
#2 by Keith Pitty on April 6, 2006 - 1:28 am
I think you make some good points Cedric but Rails is still young and, as you acknowledge, has a lot going for it. Call me optimistic but fast forward to 2008 and I reckon many of the obstacles you mention, whether perceived or real, will no longer exist.
#3 by Julien Carnelos on April 6, 2006 - 1:40 am
Concerning Lack of support from Internet Providers, free Java hosting is impossible to find…
But that’s what participate in the “Entreprisish” way of Java 😉
#4 by Anonymous on April 6, 2006 - 1:50 am
While I don’t agree with every single point it is still an excellent post, thank you.
But at least with your “Crowd of a single mind” you are wrong. There is Nitro (http://www.nitrohq.com/) which is under active development and has been around about as long as RoR. It is not well known to the public right now but everyone who gets really serious about RoR will come across it sooner or later.
I don’t know if it ever will gain such popularity and momentum as RoR but it is an alternative with its own pros and cons.
So I agree with you: There is only one well known and documented solution (RoR) but there certainly is another serious/well written one out there (there may be more I don’t know of)
#5 by Gabriel on April 6, 2006 - 2:05 am
Great blog, with many good points, and a great piece of rhetoric. I’m currently trying to find the right term to describe your post: antiphrasis? Asteism? Apagogy? Pradox? Or maybe… Hyperchleuasme
#6 by Ben on April 6, 2006 - 2:58 am
“you might be right, but just be humble”
this is where Matz succeed, and DHH fails horribly.
counting down to a response post on http://www.loudthinking.com
#7 by Roland on April 6, 2006 - 3:22 am
> contains a lot of advanced idioms which will be very hard for PHP … programmers to absorb
I can’t speak for VB programmers but talking with people at phpLondon, quite a few of them are interested and/or working in ruby / rails. I think the interest is there and that there are just as many people coming to ruby from a php background as from a java background. The pain point may be different – i.e. people from a php background may be looking for a MORE structured approach. Countless php job adverts specify Java as a skill requirement – frequently this has nothing to do with actually using Java on the job but more to do with working with an OO/structured approach. Ruby may hit that sweet spot.
> Developers were able to do the jump from imperative to object-oriented programming, but it was a hard fight
Similarly it may be a hard fight to convince people of the benefits of using rails; that doesn’t mean that it is a fight that can’t be won.
> Crowd of a single mind
There was an interesting issue raised on the RoR podcast about this and risk – i.e. Your choice is between Java (low risk) and Ruby (high risk) as a language. However, once this has been selected, you then have to make choices on the framework / ORM / templating language etc. etc. In the Java world (and also in the php world) there are a plethora of options – leaving you exposed to some high risk choices. Ruby only really has rails, leaving only a low/no risk choice once you have selected the language.
> Enterprise capabilities … unclear
This is a fair point (although not necessarily in terms of scalability). It is easy to shift unintentionally from the mindset that “RoR is better 90% of the time” to “RoR is better 100% of te time”. It may turn out that the 10% of cases where RoR isn’t better is what the enterprise really cares about.
#8 by James Strachan on April 6, 2006 - 3:32 am
I do wonder a little at how good Ruby would be when used by large teams as there can be so much magic going on and people extending classes all over the place that its sometimes a bit hard to know what really is going on – especially if you join a project 1 year after the development finished. Don’t get me wrong – I love Ruby too – and love the power, its just maybe its too powerful :).
When large teams are involved – or projects which last many years- one of the most important things is how easy is it to understand what a piece of code does. When it comes to readability, sometimes more verbose code thats trivial to understand is way more useful than one or two lines of extreme-ninja cleverness with jedi mind tricks 🙂
We spend way more time in the real world reading code, written by someone else some time ago than churning out brand new stuff quickly; while Rails rocks for the latter I’m not yet sure how good it is at the former.
But competition is great; I’m hoping both Java and Ruby continue to improve and get better.
#9 by murphee on April 6, 2006 - 4:08 am
Nice article, only one thing: I’m not sure why you think that in 10 years, there could be Smug-RoR-Weenies who will say “Ruby On Rails did that first”. I’d say, Java and other systems had many of the features before RoR, but RoR got them right by learning from their mistakes. So, unlike the Smug-{Smalltalk|Lisp}-Weenies, old Rubyists can talk about how they got things right…
#10 by Angsuman Chakraborty on April 6, 2006 - 4:13 am
It needs few million marketing dollars too. Marketing can do wonders to popularity as Microsoft will attest.
#11 by Angsuman Chakraborty on April 6, 2006 - 4:13 am
It needs few million marketing dollars too. Marketing can do wonders to popularity as Microsoft will attest.
#12 by Jan Prill on April 6, 2006 - 5:06 am
You’ll find an amazing count of Projects that are using RubyOnRails in the real world at http://wiki.rubyonrails.com/rails/pages/RealWorldUsage Projects you might heard of are pennyarcade.com and alistapart.com . These aren’t success stories? Come on!
Such a young project and so many people converting high volume sites to or are programming there start-ups with it, it’s amazing. Sorry, but your research isn’t as great as the blog and it’s rethoric make you think it is at the first look!
#13 by Lady Godiva on April 6, 2006 - 6:21 am
There is only one true way.
ASP.NET
Everyone else, confess your sins. The Kingdom of Heaven is at hand.
#14 by Hani Suleiman on April 6, 2006 - 6:32 am
While this is a good post, the real genius of it lies in the comments, which when taken as a whole, prove that rails fanboys are everything they’re accused of being. A defensive, territorial, arrogant, and surprisingly narrow minded lot. A reciple for success if I’ve ever seen one.
#15 by Hani Suleiman on April 6, 2006 - 6:33 am
While this is a good post, the real genius of it lies in the comments, which when taken as a whole, prove that rails fanboys are everything they’re accused of being. A defensive, territorial, arrogant, and surprisingly narrow minded lot. A reciple for success if I’ve ever seen one.
#16 by Sam on April 6, 2006 - 7:34 am
The big turn-off for me is 1) DHH is too arrogant, and 2) Rubyists are not forthcoming enough about the weaknesses of Rails (yes, it actually has weaknesses omfg!). To get them to admit these things is like pulling teeth.
Basically the whole thing stinks to me of a guy with a God complex and his band of worshippers (sheep) who spend more time talking about greatness and less time time producing it.
#17 by Kent on April 6, 2006 - 7:36 am
Nice post, but I don’t agree completely.
Anyone who thinks that String+Hibernate+WebWorks/Struts+J2EE is much easier to comprehend for an ordinary (corporate as you said) developer must be out of his mind.
What kind of features do you expect from an IDE when you work with dynamic languages like Ruby/Python/Perl?
#18 by Anonymous on April 6, 2006 - 7:56 am
Add WebObjects programmers to your Lisp and Smalltalk set. WebObjects and EOF have been doing what Rails does for 10 years also.
#19 by Shu Chow on April 6, 2006 - 8:06 am
I think you hit a lot right on the head, especially in “Ruby on Rails Itself.”
Prior to my current job, I worked at large corporate finance companies. About 10% of the developers where “architects” that determined the tools and direction of the rest of the developers. Out of the remaining 90%, the vast majority did not have any business being developers. They Of course it’s not. almost all only knew one language (Java), and some were trained in the field by places like Heald and ITT, which promised unfathomable wealth and rock star status.
In other words, those that truly loved the technology, loved to explore, loved to try new things, loved to code after work, were a distinct minority. Anyone like that ran into beurecracy or opposition from the majority.
You really need work in a large company like that to truly understand. The pay was good, the benefits (especially retirement) were excellent, and the hours even better. For a lot of people, this makes a great formula for complacency and a horrible formula for innovation and experimentation.
Sam says, “Anyone who thinks that String+Hibernate+WebWorks/Struts+J2EE is much easier to comprehend for an ordinary (corporate as you said) developer must be out of his mind.” It’s not that they’re out of their mind. But when you’ve been at a large, stable company for 5+ years working in Java, going home at 5:00 pm every night to be with the kids, most people like that and don’t want it to change. J2EE has been very, very good to a lot of people. There’s no incentive to keep up with the rest of the IT world because Architecture is still telling them to use Java/J2EE. And why is Architecture telling us to keep this environment? Because their recommendations have made the company invest literally millions in J2EE.
That, ultimately, is the hardest task. You have to convince a company with J2EE servers lined up and Websphere Application Developer at every workstation, and managers (often with no technical background and only interested in the output to make themselves look good) to abandon the known and use the unknown.
The IDE and scalability issues are important, but will be solved over time. Changing the mentality of entrenched people is a whole different issue.
#20 by Shu Chow on April 6, 2006 - 8:06 am
I think you hit a lot right on the head, especially in “Ruby on Rails Itself.”
Prior to my current job, I worked at large corporate finance companies. About 10% of the developers where “architects” that determined the tools and direction of the rest of the developers. Out of the remaining 90%, the vast majority did not have any business being developers. They Of course it’s not. almost all only knew one language (Java), and some were trained in the field by places like Heald and ITT, which promised unfathomable wealth and rock star status.
In other words, those that truly loved the technology, loved to explore, loved to try new things, loved to code after work, were a distinct minority. Anyone like that ran into beurecracy or opposition from the majority.
You really need work in a large company like that to truly understand. The pay was good, the benefits (especially retirement) were excellent, and the hours even better. For a lot of people, this makes a great formula for complacency and a horrible formula for innovation and experimentation.
Sam says, “Anyone who thinks that String+Hibernate+WebWorks/Struts+J2EE is much easier to comprehend for an ordinary (corporate as you said) developer must be out of his mind.” It’s not that they’re out of their mind. But when you’ve been at a large, stable company for 5+ years working in Java, going home at 5:00 pm every night to be with the kids, most people like that and don’t want it to change. J2EE has been very, very good to a lot of people. There’s no incentive to keep up with the rest of the IT world because Architecture is still telling them to use Java/J2EE. And why is Architecture telling us to keep this environment? Because their recommendations have made the company invest literally millions in J2EE.
That, ultimately, is the hardest task. You have to convince a company with J2EE servers lined up and Websphere Application Developer at every workstation, and managers (often with no technical background and only interested in the output to make themselves look good) to abandon the known and use the unknown.
The IDE and scalability issues are important, but will be solved over time. Changing the mentality of entrenched people is a whole different issue.
#21 by Petar Bodor on April 6, 2006 - 8:29 am
I will bite, I will even risk sounding like one of the mentioned Lisp and Smalltalk developers.
I have had a quick look at Ruby, and I do like it (mainly because it reminds me of Smalltalk), but I have never tried using it in anger. So the following is a real question that I have not seen answered before.
What is it that Ruby has that Smalltalk doesn’t? What makes Ruby an improvement on Smalltalk? Why should I program in Ruby and not Smalltalk (or Squeak)?
(I do believe that Lisp programmers have the right to claim that Lisp is the best thing since sliced bread; it is truly different – infinite cosmic power in tiny little space.)
#22 by Kent on April 6, 2006 - 8:31 am
I completely agree with Shu Chow. So let’s stop talking about technical merits. These are precise points why Ruby/Rails will never become ‘enterprisish’.
#23 by David Heinemeier Hansson on April 6, 2006 - 8:53 am
Thank you for the kind writeup, Cedric. I definitely agree that Ruby on Rails has a tough road ahead becoming truly mainstream. That road is always tough, for any technology. Less for technical reasons and more for cultural and marketing reasons.
But nothing gets me fired up like knowing we have something valuable that lots of people haven’t discovered or experienced yet.
Although evangelism and rhetorics sometimes do bore. Perhaps I should just, as the guy with the God complex, widely considered to be arrogant, and once called “king of the internet”, pass down some stone tablets and command people to obey. Free will is overrated. (hm)
#24 by Hasan on April 6, 2006 - 10:07 am
Like you, I feel rails is fantastic. Also, like you, I don’t think it will ever be mainstream. My reasons for thinking this are, however, a little different. Namely, I can’t have a UI in rails, and use nutch as the backend as far as I know.
#25 by Frank Bolander on April 6, 2006 - 10:29 am
Cedric,
I agree with what you are saying for the most part, but the integration argument may not be as bad as everyone thinks. With Web Services making another push with SOA architectures, ROR is positioned OK. The web services support is pretty intuitive and I have to admit it beats Java Web Services support IMO.
The things that are a sore spot for me, at least from an integration viewpoint, is the lack of asynchronous processing(ie JMS), thin at best operational support (ie JMX), and deployment issues in general. And I still haven’t seen a great solution for multiple application deployments without Session management problems.
But like you said, the ROR community is tenacious in their defense of the framework, so I’m sure they will solve these problems over time.
#26 by dsb on April 6, 2006 - 11:11 am
Shu Chow has hit the nail right on the head. Go into any Fortune 100 or 500 IT department and talk to the “architecture team” that set’s corporate direction and see how many even know what Ruby or RoR is.
It will take years of progression both at the grass roots level (there usually are small teams that are talented and tend to experiment) and at the CIO level usually because some high paid consultants or analysts (Gartner) are waving the banner.
I think the grass roots is moving forward nicely, now show me how the Rails community to working the other half of the equation.
-db
#27 by adw on April 6, 2006 - 12:51 pm
To Jan Prill, please don’t prop Penny Arcade as some exaple of Rails’ scalablity. As I understand it, the app doesn’t even run dynamically, they use tools written in ROR to generate static HTML, so the number of ROR users is in single digits while Apache does the heavy lifting of serving millions of HTML files. More importantly the PA crew has had trouble since switching to ROR with not being able to make updates with the tools and/or updates not being available to the viewers….to the point where Tyco made a public apology for the constants delays a week or two ago. This is not a bright shining light of Ruby scalability…and it’s not really an ‘enterprise’ app to start with, it’s a glorified blog.
#28 by Zack Rosen on April 6, 2006 - 5:50 pm
I came to much the same conclusion, but instead of posting a well reasoned argument decided to stick with charts and graphis:
http://zacker.org/ruby-on-rails
#29 by Philip Hofstetter on April 7, 2006 - 1:47 am
Hi,
when reading your article, it occurred to me that all the arguments you used (maybe beside the one about complexity of RoR itself) were actually used to tell us why PHP will never be mainstream.
This was back in 1998 or so, but hey!
What I want to say is that only time will tell. There’s no point in speculating now what’s going to be mainstream then. Personally, I think ruby has some nice advantages over PHP for example and I think with the time progressing it really might break through.
If it doesn’t, it won’t stop me using RoR though as it fits my needs in many projects.
Philip
#30 by mvp on April 7, 2006 - 1:48 am
> Still no credible IDE
Komodo works very well for me as Ruby IDE
#31 by Jan Prill on April 7, 2006 - 2:05 am
@adw: Ok, admitted. But does that mean that rails doesn’t scale? All I’ve said is that cedric didn’t made his research homework. There are rails apps that scale. Look at the wiki page and ask people before writing that there is no proof that rails scales other than the 37signals products. It scales as well as any other technology that shares nothing. PHP scales great for yahoo. Scaling is a matter of the setup and isn’t ‘easy’ on java either. Once again: It’s amazing what DHH and the community of rails did with ror and their tools (capistrano) that address your scaling needs.
#32 by Christian on April 7, 2006 - 2:10 am
I agree with a lot of this post. I too am learning ruby, and love the language, but it is not an easy language compared to say php. Furthermore I am worried about scalability. Finally I believe there are now other ruby frameworks being developped, no idea if they are any good.
#33 by Kartik Agaram on April 7, 2006 - 2:10 am
Further views on scalability: http://poocs.net/articles/2006/03/13/the-adventures-of-scaling-stage-1
#34 by Kartik Agaram on April 7, 2006 - 2:10 am
Further views on scalability: http://poocs.net/articles/2006/03/13/the-adventures-of-scaling-stage-1
#35 by Pete on April 7, 2006 - 2:23 am
I’m not sure it matters if Rails hits the mainstream. Its hit “mainstream enough” that most web developers have at least heard of it by now. If fortune 500s aren’t using or exploring new things, its because they’re completely entrenched.
Rails is perfect for quickly setting up satellite applications around monolithic enterprise apps through web services. If the architects aren’t looking at ways to speed things up, they will start losing ground in their respective marketplaces to quicker, dryer methods like Rails.
#36 by Joe on April 7, 2006 - 3:00 am
Reading the comments section I can see the real reason why Ruby will never catch on you people are worse then Mormons going door to door!
language != application
#37 by Guillaume Laurent on April 7, 2006 - 3:15 am
I haven’t read all your post yet, but my first thought when reading the title was : “do you remember what your first prediction about the ipod was ?” 🙂
#38 by James McKay on April 7, 2006 - 3:17 am
If you check out Tiobe Software’s monthly programming language popularity index you’ll see that it has shot up 14 places in the past year and is now in the top 20.
http://www.tiobe.com/index.htm?tiobe_index
#39 by Harel on April 7, 2006 - 3:36 am
There is no “One True Way” as far as programming (web or not) is concerned. One True Way only exists in Star Wars, and even there there are 2 avenues to that way (dark/light). Those who claim “one true way” are extreme fanatics and we all see where extreme fanaticism is taking the world right now.
Every project has potentialy a platform and language that would fit it more than others, and every project should weight its requirements and try to fit the platform around them. It might be Lisp, C, Java, PHP, Python, Rubi and what have you.
I’m currently reading The Art of Unix Programming, by Eric Raymond and its a damn good read and somewhat related to this argument.
It’s available here: http://www.faqs.org/docs/artu/
#40 by lee on April 7, 2006 - 3:39 am
What do you use an IDE for? Do you write code in it, test the code out, and move it to a Bank of Good Code? That’s what irb can do; the read-eval-print loop in Ruby/Python/PLT Scheme/etc are remarkably helpful for development.
#41 by lee on April 7, 2006 - 3:39 am
What do you use an IDE for? Do you write code in it, test the code out, and move it to a Bank of Good Code? That’s what irb can do; the read-eval-print loop in Ruby/Python/PLT Scheme/etc are remarkably helpful for development.
#42 by Adam Schepis on April 7, 2006 - 3:47 am
Cedric,
Great post. I’m an EXTREMELY recent convert to Ruby and Rails so perhaps I can provide a fresh perspective on this. I have posted a rebuttal of sorts on my blog
http://livingincode.blogspot.com/2006/04/rails-wont-become-mainstream.html
—
Adam Schepis
http://livingincode.blogspot.com
#43 by Andreas on April 7, 2006 - 4:50 am
Apple isn’t really mainstream either. I think it’s more a positive thing not being mainstream but solving problem for a niche. That keeps up quality! F1 cars are not on the road, they still win races 😉 Apples are not in every bedroom, still they’re used to cut movies or produce million dollar records. Rails is not used for the guestbook on your SharedHosting, but…. I HOPE it will never become mainstream.
#44 by Robert Lidberg on April 7, 2006 - 4:50 am
Interesting post!
#45 by FredB on April 7, 2006 - 4:54 am
I can’t see what an “IDE” could do that TextMate’s[1] ruby bundle can’t, and I’m sure there are alternatives on other platforms.
Being a mac user, I fail to understand the need to be mainstream to be successful. Ruby and Rails are successful.
[1]http://macromates.com
#46 by REETS on April 7, 2006 - 5:05 am
This is a great article and you make mostly good points but personally I hope you are wrong. I hope the up-take is just because it’s relatively new compared to other platforms.
I am a recent Ruby on Rails switcher, came from the PHP/Ajax/VB/etc… realm. Still do most of my work in there but have been greatly testing out Rails and working on my skills. The Agile book you mentioned is what I am using and it’s amazing stuff. What IDE do you use Cedric (if any)? I use Notepad++ right now, nothing special but if you know of something better that would be awesome.
#47 by Rick Russell on April 7, 2006 - 5:07 am
Crowd of a single mind
Many things drew me to Rails and this was one of the major reasons. I try to use open source software when I can to solve problems and the number one issue that I find is that most of the projects never come close to being feature complete. I’m always waiting for a feature in the next release or two releases from now. I think that a lot of this is due to the lack of focus. Linux on the desktop is a great example of this. Gnome and KDE each have features that the others need, but we can’t get together and have one great application. The Java web frameworks suffer from this as well and can make it very important to choose the right solution for your project.
If the Rails community can continue to innovate and remain focused on it goals, it will continue to grow. Dividing the limited resources of the open source community only hurts its adoption.
—
Rick Russell
http://www.macoss.com
#48 by dennis on April 7, 2006 - 5:18 am
I always had the same view of Emacs until I started looking into it more recently. I’m just beginning to learn it but it certainly has code completion and source control integration, and I think it has some of the other features you mentioned for some languages. And new versions are still being released.
As for rails, well, I’m learning things even more obscure and powerful (eg. Seaside), and I don’t care if big corporations never use them – that gives us little guys a chance to compete 😉
#49 by ai42 on April 7, 2006 - 5:32 am
I’ve only been playing with RoR for a few months now so I am a fairly new convert. However, I must admit I will never go back to PHP unless I can’t help it.
It will simply take some time.
I think most people will agree that RoR is still in development. The community is still growing, and there is many RoR apps out there but nothing quite mainstream (I know basecamp etc, but after all that is made by David, and he is somewhat biased). I imagine if Google were to use it on one of their betas people would notice. And I can almost gaurantee you that somebody over in Mountain View is looking at it if not already developing it.
It is true Radrails is out there but I don’t think it’s ready for primetime yet but in a few months with a few more releases it might be.
A few good detailed case studies and development of some high traffic sites will slowly turn heads and convince skeptics that RoR can handle enterprise level traffic. And even if it is proven it can’t there is certainly enough of a community to work that out.
I think you might be confusing enthusiasm for fanaticism. And I have to admit it is kind of hard not to be ethusiastic over RoR. It does a lot of cool stuff really fast. And “magic” as you state is fun to show off to your buddies. I know for myself that I don’t think RoR will ever be the cure all solution for everyone. There are entirely too many people sucking on the Microsoft breast to ever consider open source stuff like this. PHP and J2EE have too much of a following and that will continue to go on if nothing else but legacy support or the pain of converting everything to a new language. I certainly think RoR is hot stuff but I don’t think it will ever grab more than 20-30% of web development.
I think it will be a modest goal if even 5% of web traffic is hitting RoR sites. And I think it could happen by the end of the year.
#50 by ai42 on April 7, 2006 - 5:33 am
I’ve only been playing with RoR for a few months now so I am a fairly new convert. However, I must admit I will never go back to PHP unless I can’t help it.
It will simply take some time.
I think most people will agree that RoR is still in development. The community is still growing, and there is many RoR apps out there but nothing quite mainstream (I know basecamp etc, but after all that is made by David, and he is somewhat biased). I imagine if Google were to use it on one of their betas people would notice. And I can almost gaurantee you that somebody over in Mountain View is looking at it if not already developing it.
It is true Radrails is out there but I don’t think it’s ready for primetime yet but in a few months with a few more releases it might be.
A few good detailed case studies and development of some high traffic sites will slowly turn heads and convince skeptics that RoR can handle enterprise level traffic. And even if it is proven it can’t there is certainly enough of a community to work that out.
I think you might be confusing enthusiasm for fanaticism. And I have to admit it is kind of hard not to be ethusiastic over RoR. It does a lot of cool stuff really fast. And “magic” as you state is fun to show off to your buddies. I know for myself that I don’t think RoR will ever be the cure all solution for everyone. There are entirely too many people sucking on the Microsoft breast to ever consider open source stuff like this. PHP and J2EE have too much of a following and that will continue to go on if nothing else but legacy support or the pain of converting everything to a new language. I certainly think RoR is hot stuff but I don’t think it will ever grab more than 20-30% of web development.
I think it will be a modest goal if even 5% of web traffic is hitting RoR sites. And I think it could happen by the end of the year.
#51 by Matthias Georgi on April 7, 2006 - 5:40 am
The IDE argument is not convincing. For example most people are using eclipse, because it helps you write all the java boilerplate code. This is just not the case with ruby.
Graphical IDEs are easy to learn, but nothing beats the productivity of Emacs, which is in fact an IDE. Writing some elisp code is so much easier to start with as to write an IDE plugin.
Emacs supports a wide range of development tools, an IDE just cannot compete with it. Maybe a ruby class browser is missing, but using outline mode is much faster than switching to mouse all the time.
> Code completion or navigation, debugging, refactoring, project management, source control integration, etc…
I do all these things all the time in Emacs 😉
#52 by Matthias Georgi on April 7, 2006 - 5:40 am
The IDE argument is not convincing. For example most people are using eclipse, because it helps you write all the java boilerplate code. This is just not the case with ruby.
Graphical IDEs are easy to learn, but nothing beats the productivity of Emacs, which is in fact an IDE. Writing some elisp code is so much easier to start with as to write an IDE plugin.
Emacs supports a wide range of development tools, an IDE just cannot compete with it. Maybe a ruby class browser is missing, but using outline mode is much faster than switching to mouse all the time.
> Code completion or navigation, debugging, refactoring, project management, source control integration, etc…
I do all these things all the time in Emacs 😉
#53 by t35t0r on April 7, 2006 - 5:43 am
uhh the #1 reason:
It’s impossibly difficult to setup under Apache. I’ve read lots of howtos and I still can’t get it to work with fastcgi or mod_fcgid or just normally. So you’re telling me I have to install lighty ?
Install this .. install that, I’ve had enough of jumping through hoops. Give me something that just works damnit!!!
#54 by Tom on April 7, 2006 - 5:58 am
Wonderful article. I’m not an engineer by trade but more a front end guy that enjoys delving into the back end when I have time (and it makes me a better front end guy too). And I really don’t like Java, so I was really excited when Ruby and RoR arrived.
I bought the books and have attempted to learn this stuff on my own like everything else. I got about so far and then ran into some pretty hefty concepts or idioms as you say. It seems like you get to a certain point, and then you are looking up a *really* steep hill.
And for all of that – I see how great it is and I want to continue learning it. I have a personal project I want to use it on, and I wanted to add a site to my existing web account, but they don’t have Ruby and RoR supported. I don’t really want to branch out into a new host.
Here at our enterprise, Java is SO entrenched in things, they are not open to really even discussing anything else. How can that cycle be broken? I don’t know.
I think these are real problems to face up to. I hope Ruby succeeds too – but I also see these issues as hills that may not be able to be scaled. Let’s hope otherwise!
#55 by Tom on April 7, 2006 - 5:59 am
Wonderful article. I’m not an engineer by trade but more a front end guy that enjoys delving into the back end when I have time (and it makes me a better front end guy too). And I really don’t like Java, so I was really excited when Ruby and RoR arrived.
I bought the books and have attempted to learn this stuff on my own like everything else. I got about so far and then ran into some pretty hefty concepts or idioms as you say. It seems like you get to a certain point, and then you are looking up a *really* steep hill.
And for all of that – I see how great it is and I want to continue learning it. I have a personal project I want to use it on, and I wanted to add a site to my existing web account, but they don’t have Ruby and RoR supported. I don’t really want to branch out into a new host.
Here at our enterprise, Java is SO entrenched in things, they are not open to really even discussing anything else. How can that cycle be broken? I don’t know.
I think these are real problems to face up to. I hope Ruby succeeds too – but I also see these issues as hills that may not be able to be scaled. Let’s hope otherwise!
#56 by kay on April 7, 2006 - 5:59 am
I agree with all of your points; as much as I’d love to see RoR succeed and take over the world, it’s not likely to happen in its current state.
One thing that IMHO stops widespread adoption more than any other factor is the lack of a full-blown reference architecture/application, PetStore style. Look at the latest distribution of Spring – you can learn a ton from code in the samples/* directory, clean real world implementations of all the best practices in Java EE. Where is the Ruby equivalent?
Fact is, RoR might be great for writing blog engines (as if we don’t have enough already), but why oh why isn’t there a standard security model? Why must I spend hours downloading weird plugins & code generators to do something that a Java web container does out of the box?
#57 by adw on April 7, 2006 - 6:22 am
Jan Prill : I didn’t say Ruby or Rails didn’t scale, I called you on using PA as an example of Ruby in a high traffic environment. PA is a high traffic website, but the ROR is not invoked by 99% of the page hits. As such it’s pretty meaningless to the discussion at hand. If there are better example, then bring them forward in the discussion – PA isn’t one.
#58 by Ivan on April 7, 2006 - 6:25 am
wow, hani and david in the same comment box. i feel obligated to make a showing.
#59 by marshall on April 7, 2006 - 6:25 am
This is a very interesting development that I hadn’t noticed a couple of months ago: Go Daddy! is now supporting Ruby and Rails with all but their lowest tier LInux hosting plans.
http://www.theregister.co.uk/2006/04/07/devil_rabbit/
#60 by Patrick on April 7, 2006 - 6:27 am
“Admittedly, PHP and Visual Basic are ch*ap targets (we’re talking about languages that don’t even have name spaces!), but like it or not, they are the Web standard.”
1 – VB.Net, as with all .Net languages, has namespaces
2 – “Visual Basic” is not used for web development, you would either use VBScript (for ASP), which is a scripting language, or VB.Net which is a much more powerful beast
#61 by Danilo Medeiros on April 7, 2006 - 6:27 am
Does it actually matter?
#62 by orbi on April 7, 2006 - 6:36 am
hi, nice post, but …
> First of all, Ruby.
> … But it’s a complex language that contains a
> lot of advanced idioms which will be very hard
> for PHP and Visual Basic programmers to absorb.
I don’t know if this is true. In fact the most php-developers (I know) don’t like PHP at all. If there a chance to switch to a advanced oo language they would do it at once! (And JAVA has this kind of “enterprise-thinking” most of em don’t like)
greetz
#63 by Dunand on April 7, 2006 - 6:43 am
> Sometimes, too much magic is too much magic, and it can definitely be the case that the flow of code is too direct or too clever to be understandable by regular developers.
Soo you think RoR is too clever to understandable. Now tell your “regular developers” to start a project from stratch using Struts and Hibernate or Spring !
#64 by Mark on April 7, 2006 - 6:56 am
Good things are almost never mainstream.
#65 by Davy on April 7, 2006 - 6:56 am
I’m going to second that comment on RadRails. I just recently started using it and I LOVE it! A great feature is the ability to press CTRL-SHIFT-V and switch back and forth between the controller and the view. This feature makes it worthwhile alone! I also integrated it last night with my svn repository and so far it’s working great. However, the one feature that I HATE in IDE’s, but is one reason that I think Ruby won’t make it in the enterprise is that it lacks the drag-n-drop capabilities of Visual Studio .NET. Personally, I would much rather code my own html which is why I am loving Rails. But I know many so-called ‘web developers’ at my work that wouldn’t have a clue how to write all their own html.
#66 by Davy on April 7, 2006 - 6:57 am
I’m going to second that comment on RadRails. I just recently started using it and I LOVE it! A great feature is the ability to press CTRL-SHIFT-V and switch back and forth between the controller and the view. This feature makes it worthwhile alone! I also integrated it last night with my svn repository and so far it’s working great. However, the one feature that I HATE in IDE’s, but is one reason that I think Ruby won’t make it in the enterprise is that it lacks the drag-n-drop capabilities of Visual Studio .NET. Personally, I would much rather code my own html which is why I am loving Rails. But I know many so-called ‘web developers’ at my work that wouldn’t have a clue how to write all their own html.
#67 by Eddie Peloke on April 7, 2006 - 7:06 am
> But it’s a complex language that contains a
> lot of advanced idioms which will be very hard
> for PHP and Visual Basic programmers to absorb.
Yes, an interesting read but I did take offense to this statement. I am a php developer and don’t use php because I am dumb and can’t ‘absorb’ Ruby. We use it because it works in our app.
#68 by Jeff on April 7, 2006 - 7:09 am
I am curious what framework you are using for your Java development. I’ve been using the Fusebox framework since 2001 and it has served me well. I started out using it when I was programming cold fusion and now while programming PHP. I’m finding that while it was a good solution in the past the framework is lacking from a progress and overall community strength point of view these days.
I’ve been looking for a new pasture to program for the past several months and so far it has been an uphill battle. I’m trying to balance the advantage of learning a new framework, a new language, and finding features that simply make me more productive than I have been in the past. Of course on top of that I plan on scaling my company to several programmers in the future so I want to pick one that will be popular amongst the masses.
In my search I’ve found the following to be the most interesting.
Turbo Gears (Python) – http://www.turbogears.org/
Tapestry (Java) – http://jakarta.apache.org/tapestry/
Zend Framework (PHP) – http://framework.zend.com/
Atlas (.NET) – http://atlas.asp.net/Default.aspx?tabid=47
And of course Ruby On Rails.
In general my requirements are the following.
1. Rapid Development
2. Simplified Maintenance
3. Evolving and Community Accepted
4. Long Term Viability
5. Object Oriented
Of course if anyone else has any opinion of what the best framework would be based on these requirements then please let me know. :
#69 by Luke Redpath on April 7, 2006 - 7:11 am
I think he you are way off the mark. RubyOnRails is *already* becoming more and more mainstream and I think you’ll be seing LOADS of Rails jobs in a few years. Its attracting people from both sides of the spectrum, the smaller traditional PHP developers and enterprisey Java/.NET people.
On Ruby:
“But it’s a complex language that contains a lot of advanced idioms which will be very hard for PHP and Visual Basic programmers to absorb.”
Ruby is certainly not a complex language. You can do some complicated things with it but other than the mindset shift when it comes to certain Ruby syntax elements and idioms its a clean, easy to write language that isn’t particularly hard, if you are even a half-decent developer. I can see it being strange for people coming from languages with more a C-style syntax like Java or PHP but its just a case of becoming used to it. And then there is the OO nature of Ruby – this should be no problem to Java developers and should only pose a problem to amateur PHP developers who have never touched OOP.
To be honest, if a programmer looks at Ruby and thinks “sheesh, thats too hard for me” they probably aren’t a very good programmer anyway. Who cares?
On Rails: Yes, Rails can do some advanced things. So can PHP. Advanced/talented users will take advantage of these advanced things, amateurs wont. You seem to be having a hard time separating the amateur PHP hackers with little talent (who aren’t going to go very far anyway) and the serious developers who already use things like OO, design patterns and unit testing etc.
No credible IDE: pah. You don’t need an IDE to be productive, especially when working with a dynamic language like Ruby. Textmate rules, I’d use that any day over any bloated Eclipse-style solution (but if that is your thing, RadRails is developing at quite a fast pace).
“This is 2006, not 1996. The programs we are writing and the problems we are solving every day are orders of magnitude harder than back then, and our tools need to keep up with that need. Emacs is a fine text editor, but it’s no longer adequate for modern development.[”
Such utter nonsense. Text editors like Emacs, Vim, Textmate or whatever your preference can be very powerful and combined with a bit of command line proficiency can be a powerful and productive development environment. I certainly wouldn’t hire anybody who relied on an IDE to be productive – its a crutch, nothing more.
Enterprise and scalability – the old chestnut that has been shot down time and time again. Rails scales – its already scaling for quite a few large, high traffic websites. People who spend all their time wondering about “can it scale” can kiss my arse. As for enterprise – well clearly there are going to be things Rails or Ruby aren’t suited to. Thats a given. Use the appropriate tool for the job – but for probably 80-90% of web-based apps Rails does the job and does it well.
What a load of dross.
#70 by Sanjay on April 7, 2006 - 7:22 am
“This is 2006, not 1996. The programs we are writing and the problems we are solving every day are orders of magnitude harder than back then, and our tools need to keep up with that need. Emacs is a fine text editor, but it’s no longer adequate for modern development.”
I call bullshit. The problems really aren’t any harder. We only think they are because they’re different. Do you really think the work that the Sabre folks have done is easier than Basecamp?
sanj
#71 by John on April 7, 2006 - 7:30 am
Was Java dead in 96? Its still a new language, sorry if the devs arent making it perfect for you on day 1 or year 1.
#72 by blah on April 7, 2006 - 7:34 am
Not interested. DHH is an arrogant prick (god of the Internet my ass).
#73 by Anonymous on April 7, 2006 - 7:46 am
radrails is not an eclipse plugin it is a branch of the code.
#74 by Robert Fisher on April 7, 2006 - 7:47 am
“Ruby on Rails will never become mainstream”
Heh! So, what? I didn’t become a professional programmer to be part of “the mainstream”.
(OK, I answer this myself below (^_^), but I just don’t weight this factor that heavily.)
“they will just shrug away your points and kindly recommend that you read up on a thirty-year old technology that was the last thing they ever learned and that has been dictating every single technical judgment they have offered since then.”
I grew up on IDEs & C (& eventually, C++). I’ve kept up with the times: Perl, Java, Ruby, EcmaScript, &c. It’s only been recently that I’ve really gotten into Lisp/Scheme/Smalltalk/&c.
Yet, I still see little reason to use the newer languages instead of modern versions of the old ones. Scheme is malleable enough to do anything the newcomers can do just as well.
Sure, there’s the benefits of a larger community that can be very important, but it doesn’t change the fact that most of these new languages aren’t really providing much new while leaving out much of what came before.
“Code completion or navigation, debugging, refactoring, project management, source control integration, etc…”
I’ve used IDEs, & I’ve used sets of individual tools that work well together. Both can provide the same features. 6 one, 1/2 a dozen the other. (Although I *could* go into the reasons why I’ve come to prefer the latter.)
#75 by Tom on April 7, 2006 - 7:48 am
Ruby on Rails lacks an enterprise-quality & scalable application server, and an enterprise-quality CMS.
Compare and contrast with Python/Zope/Plone.
#76 by Anonymous on April 7, 2006 - 7:51 am
Screwdrivers suck! Hammers rule! Screwdrivers will never be the right tool for any job. Hammers are the best and always will be the best, no matter what the situation.
#77 by Ivan on April 7, 2006 - 8:02 am
Screwdrivers are *clearly* better than hammers you old “enterprise” fool. HAH! who the hell uses hammers anymore! LOL. They’re archaic and complicated! Very old school, very primitive. They can’t even SCREW!
#78 by Luke Redpath on April 7, 2006 - 8:02 am
I don’t really see how an “enterprise-level CMS” is a Rails problem. Let somebody develop one, it has nothing to do with Rails, and theres more to web apps than CMS systems (thank god!).
#79 by Cary on April 7, 2006 - 8:06 am
Nice article, but I was surprised that you didn’t mention Ruby’s poor Unicode support as an issue. For me this is a showstopper, which is unfortunate because I do like Ruby as a language and Rails as a framework. For now I’m sticking with Python, which has good Unicode capabilities and some promising frameworks such as
Turbogears, Django, Pylons, etc.
#80 by steamengine on April 7, 2006 - 8:07 am
Rails FAILS because the framework is too controlling and too low level for the web.
What we need now are AJAX widgets which can be designed the same way we design widgets in Java and G T K. Java people are already doing this, making apps which have both swing and AJAX web GUIs using exactly the same code. All they need to do is deploy, it is write once and produce multiple GUIs.
Rails developers don’t believe in this at all. I know, I converse with them. Thus they have doomed Rails to a toy rather then a powerful tool like tapestry for java.
BTW your utterly retarded blog wouldn’t let me use the string G T K
#81 by John on April 7, 2006 - 8:08 am
“I believe that in ten years from now, people will look back at Ruby on Rails and will have the same reaction. I’m not sure what Web frameworks we will have by then, but I’m quite convinced that a lot of the current Ruby on Rails fanatics will have the same kind of attitude: ‘That’s nice, but Ruby on Rails already did this ten years ago, and better’.”
What makes you think that people aren’t already saying that about Rails? RoR is inordinately appealing to people who have never used a dynamic language before. But most people who’ve been doing web development for a long time have used and/or created similar (often proprietary, sadly) frameworks using <insert dynamic language here> long before Rails was a twinkle in anyone’s eyes. RoR is significant because of its notoriety, not its technology or design.
#82 by Hydrozen on April 7, 2006 - 8:19 am
Can Ruby/Ruby on rails do windows authentication? For intranet type applications where you want to automatically know who is requesting the page?
#83 by David Heinemeier Hansson on April 7, 2006 - 8:38 am
Hydrozen, yes. See http://wiki.rubyonrails.com/rails/pages/WindowsDomainAuthentication
#84 by Rusty on April 7, 2006 - 8:45 am
Opinions aside, this is just the sort of dialog needed by the Rails community to keep it from falling into technically advanced obscurity.
On a side note, while web application frameworks have become far better, and inexpensive, than before, the methods for documenting the design of a web application (i.e. boxes and arrows) is still dismally immature. Solving the web application design issue is the real “killer application” of the next generation of web frameworks regardless of what the technical platform is.
#85 by George Moschovitis on April 7, 2006 - 9:07 am
There is another strong Ruby Web Framework: Nitro (www.nitrohq.com). You can find a lot of innovative features in this project, so install it, go through the examples and have fun.
Oooh there are some videos too:
http://www.nitrohq.com/view/Videos
#86 by Ansel on April 7, 2006 - 10:01 am
I think, and hope, this is a self-denying prophecy.
#87 by hydrozen on April 7, 2006 - 10:05 am
Wow, thanks David. I didn’t expect an answer from the creator himself!
#88 by Seth Thomas Rasmussen on April 7, 2006 - 10:15 am
Hmm…
Several of your points revolved around how Ruby and Rails are too advanced for most people. I’m not sure what you’re trying to do by pointing that out other than instill defeatist feelings. Why not encourage people to push their boundaries? Scary, yes, but guess what: mainstream is *never* the best, and there’s no reason not to keep pushing things forward. Afterall, why do you get up every day? Just to get by, sure, but is that enough? I sure hope not.
Speaking of mediocrity, the “no IDE” argument, even with the word “credible” jammed in their, is FUDing of the shoddiest variety. If the people using an editor like Textmate, irb, all the awesome Rails scripts like breakpointer and console, etc. wanted to, they could call that collection of tools and IDE. But what’s the point? It’s just another bullshit term used to market something that already existed without a name.
As for fanatacism… this is a general human problem and it is unecessary to tie it to something this specific. Zealots are assholes no matter what the topic. Ignore them and do your thing. End of story.
On that note, I appreciate DHH’s passion and what some call a lack of humility… it’s refreshing in today’s world, particularly software development where so many are stodgy and surprisingly conservative for a group using such creatively free and expressive technologies that come in a million different colors, shapes and sizes. I agree he can be abrasive and confrontational, but again… people… who isn’t at times? Are you gonna let that bother you or judge the issue on its merits?
#89 by BoPeaslee on April 7, 2006 - 10:22 am
Cedric’s got a point. I think the thing that’s helped Perl and Python is that they’re used for other scripting tasks, too. You get a double kick if you can use a language for OS scripting, application development, and web development, too. Yeah, I know Ruby can be used for those things, too… but it ain’t. By the time it is, the Perl and Python communities will have developed a Rails like paradigm.
Sadly, most businesses view open source products as too risky. That limits the growth of Ruby, further. ASP, .net, the VB’s … they are just going to grow bigger… it’s a safe management choice. Ruby will have to grow at a cost to Perl, PHP, and Python.
I don’t know who said it, but Ruby’s growth depends on a big glamorous, risk-taking, company like Google or Lucas Film adopting it. And, that takes time that Ruby doesn’t have.
#90 by Nicolai on April 7, 2006 - 10:24 am
—– >8 —–
This is 2006, not 1996. The programs we are writing and the problems we are solving every day are orders of magnitude harder than back then, and our tools need to keep up with that need.
—– >8 —–
(I’m assuming you’re talking about Web programs.)
I don’t see that being the case at all. Can you explain how a transaction in your average current Web app is fundamentally more complicated than one in a 10 year old shopping cart program? You either pull data from a data store (RMDBS, record manager, flat file, session, whatever) and show it to the user or take data from the user, validate it, and stick it in the data store. Some Web applications do some actual work themselves, but the vast majority don’t, and there were Web applications doing complex things back then.
In fact, I’d argue that it’s *less* complicated now because we have a lot more and better libraries than we did then and they’re much easier to get working. We’ve got easy access to pre-compiled RDBMSs, don’t have to deal with record managers anymore, we’ve got templating libraries, database connection pooling, parsers, generators, and strippers for all types of formats, etc. that you rolled your own, went without, or paid heaps for 10 years ago. We had cgic and cgi-lib.pl and were on our own for a lot of the rest.
We’re doing pretty much the same work now that we were then and have access to better tools. I have no axe to grind with RoR one way or the other, but it’s more complex because you choose to use complex frameworks that impose their own overhead instead of just using the APIs that you need. Just because you can use a framework doesn’t mean you should. It doesn’t mean you shouldn’t, either, but it is worth thinking about.
(And yeah, steamengine, what we need is more AJAX. It magically makes things good. More cowbell.)
#91 by rails fan on April 7, 2006 - 10:24 am
Rails is making its way into the enterprise. I used to work for a very large software company, and I noticed something interesting.
The respected programmers — the ones everyone goes to for help, and get alot of say in design decisions — are checking out rails in their free time and starting to experiment with it.
Compared to J2EE, rails is easy and elegant. IDE issues will be resolved over time.
I do agree that some of the stuff that rails does for you transparently makes it harder to understand, but overall, I think it is much simpler than what is out there now.
#92 by roy on April 7, 2006 - 10:25 am
When will RoR support Unicode? For a developer of commercial apps, that is the question.
#93 by Zachary Pinter on April 7, 2006 - 10:25 am
Great Article.
Regardless of the ability of Rails to become mainstream/enterprise, it is a great time to be a programmer. It took a long time for the mainstream business apps to move from C to higher level abstractions like Java. I think the popularity of python and ruby (through Rails) are evidence of the desire of developers to move to the abstraction and flexibility even higher. Once this becomes commonplace, there will most likely be an abudance of interesting time-saving frameworks to choose from.
We just have to be patient 🙂
#94 by Elan Feingold on April 7, 2006 - 10:25 am
One thing I do agree with is about having an advanced editor. Things like code completion and refactoring would be great to have with Ruby. I’ve been spoiled by Eclipse and now if I want to rename a Ruby method going back to using grep, or even using the global search and replace in TextMate is less than optimal. What makes it even more important (and difficult?) to have these features is the dynamic nature of Ruby. Screw something up, and you might not know for an hour until you do something that triggers compilation of that segments of code. (I know, I can hear DHH saying “Tests, grasshopper, you must write tests!”). While this is true, tests aren’t a substitute for a modern IDE.
#95 by Coda Hale on April 7, 2006 - 10:30 am
No IDE?
*looks over at other monitor, sees Rails project inside of Eclipse*
I don’t know about you, but my IDE is based on the same framework as the Java industry standard: Eclipse. RadRails is a plugin for Eclipse, which means you also get the wonderful source control features available for Eclipse as well. As far as refactoring goes, refactoring is far simpler to do in dynamic languages (and the Rails project structure helps out quite a bit), so I really haven’t had a problem with the lack of Java-equivalent refactoring tools. (And yes, it is available in plugin form. Guess what I’m using right now? They also have a standalone version.)
steamengine: Adding that capacity to Rails would be extremely simple. First, come up with a decent DSL for working with GUIs (probably borrowing a page from wxRuby). Second, write the glue code between that and whatever AJAX widget library you find appealing. Three, package it as a plugin for ActionView. Four, have a beer.
tom: Right now the application server for Rails is Lighty, but the Mongrel project is looking *very* cool, and may eventually resolve the whole “Apache hates FastCGI” problem (which is indeed a problem). It’s a super-quick Ruby/C web server, designed for hosting single applications.
And Unicode… yeah, Unicode’s a problem. Matz is on it, so hopefully we’ll see this resolved in Ruby 2.0.
#96 by Peter on April 7, 2006 - 10:32 am
Have you ever come across a programmer who’s all excited about this new language X, and you tell him that Lisp did that thrity years ago, and that they should go read about it. But they just listen to you impatiently and then never actually bother to read about Lisp?
I was that impatient programmer myself, and I like Ruby too. I’ve only used lisp for the last two years, after I eventually decided to go and actually learn about it. Now I agree with those old fart programmers, Lisp has it over most other languages.
#97 by Anonymous on April 7, 2006 - 10:42 am
“…J2EE has been very, very good to a lot of people. There’s no incentive to keep up with the rest of the IT world because Architecture is still telling them to use Java/J2EE”
Funny. About 10 years ago, IT shops didn’t want to switch over from their comforable C++ lives to a new open source development platform called Java.
I’m fairly sure that RoR, and other similar MVC frameworks, will succeeed. It’s only matter of time.
And after that, it is only a matter of time until some other disruptive technology replaces RoR.
Evolution is inevitable.
#98 by Elan Feingold on April 7, 2006 - 10:42 am
RadRails is all well and fine — and I used it a few months ago — but last time I used it, at least, its Ruby support was a far cry from the Java support. If I have a model called Beer, I want to be able to do:
beer = Beer.new
beer.
and get a popup with all the field/members and types (yes, it would have to go to the DB). I want content assist on the whole Rails UI with documentation (just like with Java). I want rich refactoring tools like Java Eclipse has.
Last I checked, RadRails was quite nice, but lacked all these things.
#99 by Elan Feingold on April 7, 2006 - 10:42 am
RadRails is all well and fine — and I used it a few months ago — but last time I used it, at least, its Ruby support was a far cry from the Java support. If I have a model called Beer, I want to be able to do:
beer = Beer.new
beer.
and get a popup with all the field/members and types (yes, it would have to go to the DB). I want content assist on the whole Rails UI with documentation (just like with Java). I want rich refactoring tools like Java Eclipse has.
Last I checked, RadRails was quite nice, but lacked all these things.
#100 by Greg on April 7, 2006 - 11:10 am
I was a (quite bad) amateur php programmer. The ease of use and rush of excitement I got when discovering Rails turned me into a professional. Ruby’s syntax may be “advanced” from a technical perspective, but Rails’ use of domain specific language principles made it so that even when I was just starting out I was able to read and understand what was happening in a Rails app far better than I even could in a php project (even of my own making).
Rails also makes it easier to do comprehensive testing than not to. After a year messing around in php, the term had never even entered my lexicon. Rails makes me a better programmer than I would ever have become in php.
I don’t know about a lot of the “enterprise” issues you guys are talking about here, but I do know that there are about a zillion people out there who are either independent php contractors or engaged amateurs who want to do make a dynamic website for some particular real world use. These people make most of the websites in the world and Rails is a quantum leap in both ease-of-use and productivity for them.
And, even further, I think Rails will bring in a lot of new people to dynamic web programming who are currently not doing it at all. When I got interested in it and first started with php, I found it incredibly depressing. It took an incredibly long time for me to accomplish any of the things I set out to do. Compare that to the famous Rails blog video.
#101 by jon on April 7, 2006 - 11:17 am
I agree with everything except your comments about how hard it would be for PHP programmers to wrap their brains around Ruby.
I don’t understand why you take namespaces to be some amazingly complex concept? I’m just a lowly PHP (and java mind you) developer, but I find namespaces (and pretty much all OOP) to be a no-brainer: it all just “makes sense.”
And this is from a guy who had to make the jump from (procedural|functional|imperical) programming to OOP.
My only complaint – seemed like a low blow.
Other than that, interesting article. I won’t jump on the Ruby bandwagon quite yet. I’d like to see a little more mainstream acceptance. When I can find even one Ruby programming job for every 20 PHP jobs – I’d consider it a language worth learning. Until then its a toy, relegated to the uber geeks who’d rather spend time picking up a new language than really mastering the one they were already using.
#102 by Augusto on April 7, 2006 - 11:19 am
“rails fan”
> The respected programmers — the ones everyone goes to for help, and get alot of say in design decisions — are checking out rails in their free time and starting to experiment with it.
Yes we are, doesn’t mean we’re anywhere near doing big new projects or converting large code bases of existing code to it.
I’d like to point of that Cedric makes great points, and one that gets my attention is the “fanaticism” one.
You see this with every language, but with RoR it’s reaching absurd levels, and I really hope for the sake of this technology that people who want to promote are aware that many are coming off like that.
#103 by phil on April 7, 2006 - 11:38 am
If I disagree will I be labeled a fanatic? 😉
First off: Yes, Ruby has lots of advanced features that your average VB, PHP programmer won’t understand (initially) – features like closures, continuations, metaprogramming abilities – however, Ruby is quite approachable for newbies. You can certainly learn a enough Ruby without getting into those advanced areas to get your job done. Later on as the newby progresses they get curious and learn the more advanced features (though one could argue that continuations need only be used by about 1% of Ruby developers – the other 99% can get by fine without ever delving into them).
You say that Rails is the only Ruby-based web programming framework in town, however that is not true, there’s also Nitro which takes a different philosophical approach. Yet even if Rails were the only game in town, it is a good game and in fact there is some evidence to suggest that the lack of choices in the Ruby Web programming space (and the fact that Rails is quite a good framework)is actually helping to some extent – it allows people to focus on Rails and the Rails ecosystem and perhaps it’s less confusing for newbies. (but again, there is Nitro which isn’t known nearly as much as Rails, but it’s worth a look.)
#104 by everphilski on April 7, 2006 - 11:47 am
namespaces are a very basic concept. Way to take a low blow and alienate 50-70% of your potential audience.
Other than that the biggest reason why Ruby on Rais won’t gain marketshare is that it is immature compared to other technologies (like PHP), and other technologies have corporate backing (like PHP + Zend)
#105 by Rimantas on April 7, 2006 - 12:21 pm
Now I wonder, how does this count:
http://www.oracle.com/technology/pub/articles/haefel-oracle-ruby.html
#106 by Anonymous on April 7, 2006 - 12:28 pm
What I find amusing is the people posting here stating what jerks all of those #$%^& ruby fanatics are. Seems like a bad case of pot and kettle syndrome here (I am particularly looking at you, Hani).
#107 by tj on April 7, 2006 - 12:49 pm
Rails not mainstream? I guess if you define mainstream as enterprise penetration, maybe not. But consider the following:
* The Agile book is still in the top few hundred of all books at Amazon, almost a year after its release.
* Curt Hibbs’ article Rolling with Ruby on Rails has been in the top 5 articles on oreillynet for something like 15 months. That’s just ridiculous.
* This very blog post (which BTW has some great points) has generated hundreds of comments within a single day.
That’s what I’d call developer mindshare! And IMO that’s more relevant than whatever’s going on in the mind of Mr. Pointy-Hair at Corporation X.
#108 by kd on April 7, 2006 - 2:13 pm
Well, I’m interested in how valid your comments are for Catalyst (http://catalyst.perl.org) – a perl framework that borrows from RoR, and other places. In my limited understanding it’s a lot more flexible than RoR and so might have “enterprise features” that RoR lacks.
#109 by Anon on April 7, 2006 - 3:38 pm
Hey bub, Smalltalkers and Lispers are allowed to smug, because they’re right, and more importantly, they almost always know more java/csharp than the java/chsharp guy they’re being smug too. If you think you know more than them, you’re woefully ignorant, they never stopped learning, they just see how small and inadequate “popular” languages are in comparison. They’re smug because you aren’t making technical points, you’re just blabbing and embarrasing yourself by thinking you are.
#110 by Anon on April 7, 2006 - 3:39 pm
Hey bub, Smalltalkers and Lispers are allowed to smug, because they’re right, and more importantly, they almost always know more java/csharp than the java/chsharp guy they’re being smug too. If you think you know more than them, you’re woefully ignorant, they never stopped learning, they just see how small and inadequate “popular” languages are in comparison. They’re smug because you aren’t making technical points, you’re just blabbing and embarrasing yourself by thinking you are.
#111 by rorer on April 7, 2006 - 3:40 pm
Certainly an interesting writeup, but I think the problem may be the opposite of what you report.
RoR maybe its own enemy by becoming too popular too quickly and not having the proper marketing and project management muscle behind it like Java did, so its going mainstream and having too many growing pains because the product was not designed for the enterprise.
If you look at the history, it was designed for a single project and was extracted out of that. In RoR, deploying multiple apps (written in RoR) is hair-y. Integrating two or three different apps is hair-y. Scaling and architecture solutions are simple-minded (just throw more hardware at it .. or something).
Take a look at all that pluralization nonsense which really wasn’t needed, but was put in there on the whim of a developer whose native tongue isn’t even English (ironic?), and who insists that a table containing person entities should be named ‘people’ because it “sounds right”. EFCodd and relational theory/calculus be-damned!
Like Chris Rock said, “You can drive your car with your feet, but that don’t make it a great f**kkin idea!”
It is not a bad framework for one off CRUD front-ends to databases though. If by mainstream you meant Enterprise, then yeah, its got ways to go. No enterprise architect worth their salt will let this thing on their company’s bread-n-butter servers in the condition its in right now.
#112 by anon2 on April 7, 2006 - 3:44 pm
The only thing Lisp is good for is writing a cron job to check your favorite anime site for the latest tentacle rape videos (and you know you do).
While you’re writing Lisp in your mother’s basement, the rest of us are making 6 figures writing J2EE or even PHP apps.
Let me know when you find a website worth a shit written in Lisp. Loser.
#113 by Shanti Braford on April 7, 2006 - 4:36 pm
Rails is hard to learn?
I’m teaching my technically inept girlfriend RoR. She’s never had a day of programming or CS classes in her life. She’s never learned a programming language in her life.
Nothing, so far, has been confusing to her about RoR.
The “magic” that we take for granted, to people new to web frameworks, is just “the way things are.”
Take scaffolding. I hardly use that in my professional Rails career. But for her, that’s just like, a really nifty way to get a barebones webapp going. I had to explain to her that, back in the day, you’d have to write all these silly little HTML forms by hand.
Re: going mainstream.
The point about PHP being “just there” on any *nix webhost is a valid point.
Will Ruby/RoR ever be like that? Who knows. It took PHP, what, 4-6 years to get where it is today? It’s certainly naive to say / believe that RoR will be just a “blip” on some radar in 2-4 years.
15-20 years? Maybe. But I doubt that too… Is C/C++ now a “blip” on the radar?
I’ve never really felt lacking w/o a so-called “Rails IDE”. The coders I’ve known who were dependent too much on their editors, I never really respected that much. Get them outside of Visual Studio .NET or Eclipse, and they were like children lost in the woods.
Of course, that’s because bloated frameworks like ASP.Net and J2EE demand those editors.
And … if anyone in the RoR scene is fanatical… it’s because we don’t want to go back to our J2EE/ASP.Net/PHP worlds.
We don’t care if *you* like it over there (that’s all very fine and dandy), but don’t make *us* go back. The scenery is nice over here.
#114 by hirbivore on April 7, 2006 - 5:36 pm
the whole web world. what about the people who learn to program using ruby? i think it’s too soon to tell the future of rails my friend. it is still young. pure object-oriented methods are becoming mainstream with java and .net. pure object-oriented scripting is simply the next step. object iteration is one of the concepts which makes ruby so fun, and i think it will appeal to youth. youth owns the internet.
#115 by Ralph on April 7, 2006 - 11:52 pm
I have been programming since 1968. I’ve used assembler for many different computers, as well as Fortran, Snobol, Basic, Prolog, Pascal, C, C++, Forth (yuck), Logo, and many domain-specific languages; I’ve programmed scanners in lex, compilers in yacc and also in recursive descent Pascal and C; I reversed engineered and decompiled a sound-processing language, building a system which translating automatically from hex machine code to signal-flow diagrams; I’ve done a lot of embedded and/or real-time programming; I designed and implemented a bytecode Pascal system with real-time extensions; I’ve designed hardware, both analog and digital. I’ve worked extensively with cellular automata, including studying Von Neumann’s papers and those of E.F. Codd, who later went on to create the core relational database concepts. I even built my own DTL (diode-transitor logic) gates “back in the day”. I really do know computers from the electrons up.
My assembly-language work included some truly complex projects, programs which would not be trivial in any language, and which, given the slow processors and tiny memory resources available in their time period, could never have been programmed in any other language.
I’ve written complicated event-driven programs for the Macintosh, for Windows and even for a few one-off embedded architectures.
For the web systems I now create, I find it necessary to mix five languages: HTML, CSS, JavaScript, PHP, and SQL. I could not say that any of those languages has been entirely trivial to learn up to the point of using them fluently. To create working web systems, I also have to understand .htaccess files, Unix permissions, Bash scripting, construction of crontab schedules, and other server concepts.
And (finally) here is my point: I have found PHP to be friendly, convenient and productive. Granted, I have so far used PHP as a solo programmer, so any problems with multi-programmer interactions have not arisen. Maybe that’s where namespaces would be necessary. Otherwise I can’t seem to think of a reason I would need that feature.
I find PHP to be concise and readable. I add a good number of comments to my code, so I can easily figure out how things work when I have to return to it later. I am annoyed that PHP does not really support Unicode or other multi-byte coding schemes, and that the combined use of single and double quotes can become confusing in some situations. Otherwise I am quite happy with the language.
We always read about end-user software that is supposed to be easy to learn and use. Why shouldn’t the same criteria apply to programmers’ software — that is, to languages and development systems?
The fact is that the same criteria DO apply. Popular programming tools MUST be easy and intuitive to work with. They have to be simple enough to use that even people who are less gifted and/or less studious can be productive with them to some extent.
Finally, procedural languages work the way the underlying hardware works. That can be a real advantage when one is trying to get good performance.
I hope I have not shocked or disturbed anyone by speaking up for PHP. Doing so seems to be taboo in discussions like this one. But there must be SOME reason why PHP is so popular…
#116 by Baglan on April 8, 2006 - 12:36 am
In my opinion, it is unclear if RoR will or will not become a widely-popular platform. I think it takes more than just technical merits to take it there (Zope and ColdFusion come to mind) – it requires lobbying in same way or another.
In other words, I think that matter of Rails becoming mainstream is in our own hands – if enough of us decide to use it, it will, if not, it will not.
Personally I believe that RoR will fill a decent niche in the web development game (as no technology can seriously pretend to become everything for everyone) and will co-exist with PHP and J2EE.
#117 by Daniel MD on April 8, 2006 - 5:22 am
Hum… if you go look at shared hosting companies, many are offering RoR, if you look at the tops almost all have RoR and PHP included in unexpensive packages. So this argument
“-Lack of support from Internet Providers.”
is pretty much dead. If it’s not already 50% it will be very soon. “Anyone who wants to run a Java EE application will most likely host their own servers.” I agree, i don’t even see RoR and Java in the same ring, the true competition for RoR is PHP, not Java.
#118 by GregM on April 8, 2006 - 7:13 am
One of the biggest reasons Java has become a success is that Sun and IBM couldn’t be pushing it any harder than they have over the past decade. Furthermore, academics have whole-heartedly embraced it as the best all-purpose OO language. Put together, that’s a triumverate that’s hard to beat. Until Rails sees that kind of corporate and academic support, I think it will stay a phenomenon for small- to mid-scale web development.
And that’s okay. I hope it does stay that way. That’s what it was designed for, and the complexity required for it to become all that Java is would make it way more complicated than it needs to be.
#119 by Neeraj Kumar on April 8, 2006 - 8:45 am
Damn it. You said you like RoR. I was looking forward to some real good fight. It’s no fun fighting you because you take stand on both sides. My hero is James McGovern. All bloggers should learn from him.
🙂
#120 by Obie on April 8, 2006 - 10:04 pm
I just posted my thoughts here, related to the high-maintenance IT professional stereotype. Let me know what you think.
#121 by Sawan on April 9, 2006 - 11:05 pm
For those of you citing XML and complexity in Spring/Hibernate et al, please check out the annotations/DI/persistence facilities in JEE 5. It is simply awesome and cuts down development times to 1/3 as well as centralizing code and meta-data (and doesnt force “convention” like RoR).
Add to this the other facilites offered by a typical EE container eg JMS and JMX and you begin to understand why Ruby penetration in the entrprise is going to be a bit slow. Please note: I am tallking about Enterprise here, where “baby sitting a database over the web” is just ONE of the things that is under consideration. And in such places code needs to live for a long period and will be looked at > 1 (average minded) people over time.
Also see
#122 by Ward Harold on April 10, 2006 - 10:18 am
For the record, I am one of those old Lisp, Scheme actually, guys who believes that God used it to program the universe. It is not, however, the last thing I learned. To feed my family I learned C, I learned C++, I learned enough about databases to be (very) dangerous. I learned enough about HTML and CSS to talk intelligently to Web Designers. Now, mostly for pleasure, I’m learning Ruby/Rails. In all of that learning I saw very little that wouldn’t have been simpler and more elegant in Scheme.
Regarding IDEs. A good IDE does not ensure success. The Smalltalk development environment has yet to be surpassed but Smalltalk remains a niche technology.
Those are minor points. In general I enjoyed your write up and will continue down the Ruby path.
#123 by Chris on April 11, 2006 - 8:11 am
Why Ruby on Rails won’t become mainstream?
Because idiots like will be forever writing articles named “Why Ruby on Rails won’t become mainstream?”
For gods sake… it makes me so angry. A lot of people reading your article will believe you, then they will only perpetuate what you say, tehn ultimately, it will be thought of as true..
#124 by Anonymous on April 11, 2006 - 11:26 am
let him dismiss ruby and ruby on rails– i’ve got no problem leaving behind the naysayers and the “mainstream”– there are more than enough very talented folks on board to keep pushing this envelope beyond the amazing state it’s already at, and if the mainstream can’t handle it, then they will create crappier sites and pay more for theirs and be slower to market and they will ultimately fail.
#125 by Marc Truitt on April 11, 2006 - 2:02 pm
I work for a government IT department, the biggest issue from our perspective to limit adoption of Ruby and Rails framework is the
#126 by David Tran on April 12, 2006 - 3:54 am
Corporate environments are not the place to test out new technologies, as I was quickly flamed by the guys who signed the procurement orders when I posted on our internal developer forum mentioning the benefits of Ruby on Rails. I can see it from their point of view, as the primary concern of a business is protection of investment, not experimentation. Even if the CTO of a large corporation joins the RoR cult, he will still have to justify to his superiors the savings and the risks of a large scale migration. This kind of barrier is what prevents RoR going mainstream. Having said that, taking a lesson from the Linux books, every large corporation has a backdoor, namely developer adoption, so there is a way. Like you, I like Rails and all my websites are built using Rails, but the biggest premium is still being paid for Java/J2EE/ASP.NET developers, so that is what I do during the day in order to fund my nocturnal Rails projects.
#127 by w1000 on April 12, 2006 - 8:59 am
@Matthias Georgi: He indicates that he can do code completion, navigation, debugging, refactoring, project management, source control integration, etc. all the time with emacs.
For Java, this is bogus. The quality of these features in emacs is so far below the big Java IDEs, it’s almost not fair to even compare them. The next time someone says something like this to you, ask them to show you on their emacs screen – Then you will know what I’m talking about. Usually people who make statements like this aren’t aware of what a real IDE from this decade is actually capable of.
#128 by Dave Nicolette on April 12, 2006 - 1:48 pm
I’m in the midst of a small project at a large company to validate whether Ruby on Rails can be a useful enterprise tool.
I disagree with your conclusion that RoR will never find a place in enterprise computing. If you look at the question from the perspective of hard business value, it’s clear there is a lot to gain from the sheer productivity of RoR.
As far as scalability goes, I think it’s a non-issue. Enterprise computing isn’t a one-size-fits-all proposition. Everything in an “enterprise” doesn’t have to be gigantic or scalable to gigantic size.
Consider a technical environment that has a library of shared services and back-end resources that are accessible through those services. There are many projects to develop tactical, vertical, customer-facing business apps, and they’re typically built on web technologies even if they’re only for internal use, since web technologies are fairly standardized and straightforward. In that environment, creating one of those small business apps is a matter of orchestrating pre-built services, presenting a UI, and maybe writing a bit of custom logic here and there. Those little apps don’t have to scale, because the heavyweight stuff is all in the back end infrastructure which is already scalable.
What sort of tool do you see fitting into that part of the enterprise? RoR looks like an excellent fit to me.
What I’m playing around with are things like connectivity with Active Directory, writing Web Services client code, and so forth. It’s all pretty basic. RoR doesn’t have to replace technologies like Java or .NET to have a well-justified place in enterprise computing where it can deliver real business value. Instead, it can complement those technologies in a way that takes advantages of its natural strengths.
#129 by Dave Nicolette on April 12, 2006 - 1:48 pm
I’m in the midst of a small project at a large company to validate whether Ruby on Rails can be a useful enterprise tool.
I disagree with your conclusion that RoR will never find a place in enterprise computing. If you look at the question from the perspective of hard business value, it’s clear there is a lot to gain from the sheer productivity of RoR.
As far as scalability goes, I think it’s a non-issue. Enterprise computing isn’t a one-size-fits-all proposition. Everything in an “enterprise” doesn’t have to be gigantic or scalable to gigantic size.
Consider a technical environment that has a library of shared services and back-end resources that are accessible through those services. There are many projects to develop tactical, vertical, customer-facing business apps, and they’re typically built on web technologies even if they’re only for internal use, since web technologies are fairly standardized and straightforward. In that environment, creating one of those small business apps is a matter of orchestrating pre-built services, presenting a UI, and maybe writing a bit of custom logic here and there. Those little apps don’t have to scale, because the heavyweight stuff is all in the back end infrastructure which is already scalable.
What sort of tool do you see fitting into that part of the enterprise? RoR looks like an excellent fit to me.
What I’m playing around with are things like connectivity with Active Directory, writing Web Services client code, and so forth. It’s all pretty basic. RoR doesn’t have to replace technologies like Java or .NET to have a well-justified place in enterprise computing where it can deliver real business value. Instead, it can complement those technologies in a way that takes advantages of its natural strengths.
#130 by Robin Layfield on April 14, 2006 - 2:19 pm
I think we’re all missing the point here. Ruby is the language and it’s a beautiful language. Rails is the framework – in almost it’s first iteration. It’s separate and distinct from Ruby and ultimately completely replaceable.
To argue about whether it will or won’t see commercial uptake is largely irrelevant. What you should be considering is what Rails actually is. It’s not a development environment and it’s not the ten commandments; it’s a web design paradigm that just happens to have been defined in code and it’s real strengths are in it’s enforcement of a (kind of) programming discipline that can be shared amongst a team, the abstraction of data integration into a 12-line config file and the ability to prototype a web application very rapidly.
This latter feature wins my approval and admiration. To be able to produce a workflow in a few minutes, that could potentially take hours or days in a PHP environment is a gift. Throwing AJAX in as well is just the icing on the cake.
Regarding the point made above about it being difficult to transfer skills from the PHP and ASP backgrounds that many web programmers have, I say – that’s just our lookout. The irony is that it’s probably easier to learn if you don’t already have an appreciation of scripting languages because it seems to be based around common sense expectations. And if that really is the case, a lot more people will start to use it.
So to sum up: I think RoR has already done it’s job because it’s making people sit up and think about exactly how they want to build the next generation of web applications.
And it is great to see an idea take hold and create so much of a buzz on the internet *without* the marketing muscle of Microsoft or Sun or Oracle behind it.
#131 by Erin on April 16, 2006 - 5:54 pm
what about Flex?
#132 by Richard Relos on April 17, 2006 - 10:47 pm
on emacs “IDE”: I really don’t quite get the productivity boost when using emacs as compared to eclipse. Perhaps, the perception of what an IDE is makes this difference. Eclipse can definitely do mouseless manipulations. Modern, contemporary and GUI-based IDEs do have a lot of superior functionality as opposed to vi and emacs world. I for one refused to get out of vi and to some extend windows notepad until I got converted to Eclipse.
on RoR: As for RoR, IMHO, Java EE is still superior in terms of maturity and product and service support. RoR can deliver a faster time-to-market, but will not scale up to most of large-scale enterprise requirements. I doesn’t really matter whether the language/frameworks I use is from the evil ones (ie, M$, Sun, Oracle, etc.) as long as it gets the job done and does it well. For years, we’ve seen Java delivers enterprise requirements and did it well.
#133 by Curtis on April 22, 2006 - 1:13 pm
I also have responded in a more detailed point-by-point basis. Oh, in perspective, I’m a recent RoR fanboy, I know a bit of Smalltalk / Lisp, and I am abrasive and arrogant. You’ve been warned. I also try to be a good author and be subjective. 🙂
http://greenmeggsandspam.blogspot.com/
P.S. I’m also a Mormon, but I’ve never really went and knocked door-to-door. :: shrug :: I would *definitely* not call myself a sheep however; nor do I think DHH is God and has provided the One True Way to Webdom…
#134 by Curtis on April 22, 2006 - 1:23 pm
“Fact is, RoR might be great for writing blog engines (as if we don’t have enough already), but why oh why isn’t there a standard security model? Why must I spend hours downloading weird plugins & code generators to do something that a Java web container does out of the box?”
You don’t, you can write your own in about the same amount of time and it’s your code (that’s the wonder of RoR). But yes, there needs to be a consolidated effort to standardize some of the documentation. There are some great books out there for good sample code and such, of course that does require some expendature of funds which not everyone can do… :: shrug ::
#135 by Anonymous on April 22, 2006 - 1:47 pm
“For the web systems I now create, I find it necessary to mix five languages: HTML, CSS, JavaScript, PHP, and SQL.”
If you substitute RoR with PHP, the entire rest of the content of the posting works as well. It’s just a different component of the package.
“But there must be SOME reason why PHP is so popular…”
There is! It came out *before* RoR. Give the world another year. 🙂 Honestly, PHP is a fine language, but Ruby and Rails could be better for most applications.
#136 by Soulhuntre on April 25, 2006 - 11:16 am
I looked at ROR for a while and followed the mailing lists relevant to it for 6 months or more. During that time I simply couldn’t find a single, compelling reason to switch.
Don’t get me wrong, I moved away from PHP… but I went to .Net 2.0 for both application and web development.
It’s free (including the database) it’s fast, the IDE is amazign and the language and object libraries kick ass. Tack on SVN for source control and life is good 🙂
#137 by Ryan on April 26, 2006 - 8:13 am
I work for a consulting firm that has some active rails projects. What I am finding is that I bump my head up against the framework just as often as I do in any other language. My personal preference? Object Oriented-PHP 5 with no framework, aside from some basic code generation, but I don’t feel like getting flamed here 😉
Nobody seems to respect PHP 5 and its capabilities. However, I see value in rails. I don’t think its the end-all-be-all answer to everything, but it certainly is a tool that I am glad I am adding to my portfolio. I’m a firm believer in using the right tool for the job at hand so it never hurts to have alot of tools at your disposal.
#138 by Romain on April 29, 2006 - 8:23 am
Cedric,
since you are an insider at Google, what is the position of Engineering regarding RoR? Google seems to be ‘officially’ big on Java, C++ and Python but does it allow you guys to use anything like RoR to build things that may eventually become production [aka ‘Beta’] grade (in your 20% for example) ?
Juste par curiosit
#139 by Alex on May 10, 2006 - 12:21 pm
Good post Cedric and I enjoyed the follow up. I disagree with your views on Emacs, and you forgot to mention Perl5 alongside Smalltalk and Lisp 😉
“Emacs is a fine text editor, but it’s no longer adequate for modern development.”
Our team of five use Emacs in conjunction with our RoR-like web framework bOP, and we take advantage of code completion, debugging, refactoring, CVS integration, unit and acceptance testing, etc all from within Emacs. Our small team maintains an open source framework, an industry leading online application, several long term consulting projects and several start up companies.
Somehow we manage to be more productive than any other team of 5 or 25, at least that I know. Emacs doesn’t hinder us. I still like Eclipse and IntelliJ, but I haven’t used either in nearly a year and don’t really miss them beyond their attractive UIs. Granted I rarely ever have the development headaches in bOP that I did in C++ or Java where “modern” IDEs help 🙂
#140 by Soren Burkhart on May 11, 2006 - 1:57 am
Reading these comments are like a big deja vu for me.
Anybody remember 1995 when Java was released and people said:
“Java is a silly little language which is fine for running cute little dancing graphics, but we are serious programmers and we code in C or C++”
or
“Java isn’t even compiled it won’t scale nor compare to the speed of much more mature and compiled languages. ”
or
“Wasn’t Java created to handle TV Set boxes it won’t be used to integrate into SAP or real backend systems.”
or
“It’s just a fad it will go away. No company will throw away the millions of dollars invested in C,C++,Cobol and embrace Java.”
Now reread this thread and simply substitute Java with RoR…. think about it.
While reading Cedric’s article I had a hard time not thinking this was all just tongue-in-cheek writing.
How does that argument work, most companies are too stupid to know how to use rails? LOL! While I don’t disagree that many companies have too many mediocre coders, and too many self-inflated architects (AKA people who can’t code or manage but we need to put them someplace) it just doesn’t flow.
Smart coders are always looking for better ways to do things… if it weren’t for them we would all still be doing COBOL. 🙂
And what is the problem with arrogance? That’s the drive of an engineer; to show how you can do something faster, chea per, and/or better than the next guy.
I have heard DHH talk and I think those that complain about his “arrogance” are just too thin skinned, and/or envy what he has accomplished.
False modesty is for people who can’t deliver…quit your whining and learn something new or you just might realize that you are the next coding dinosaur.
Soren
#141 by Peter Arrenbrecht on May 11, 2006 - 8:45 am
I work for a company that developed something akin to Rails, only for the rich client, in Delphi (http://www.atlasframework.com/). Our experience in getting it adopted in large organizations very much resembles what is described in this blog post. Its a steep curve, and not all get to be truly productive with it. It needs a different mindset. And since the smarter people often don’t like maintenance work, you have to problem of who is going to do that in an environment that mandates a certain level of smartness.
#142 by Peter Arrenbrecht on May 18, 2006 - 11:20 pm
I work for a company that developed something akin to Rails, only for the rich client, in Delphi (http://www.atlasframework.com/). Our experience in getting it adopted in large organizations very much resembles what is described in this blog post. Its a steep curve, and not all get to be truly productive with it. It needs a different mindset. And since the smarter people often don’t like maintenance work, you have the problem of who is going to do that in an environment that mandates a certain level of smartness.
#143 by Peter Arrenbrecht on May 18, 2006 - 11:21 pm
Sorry for the repost. My line was shaky last time and I thought it did not make it. Should have rechecked.
#144 by Devin on May 19, 2006 - 6:26 pm
Don’t quit your day job to become a fortune teller.
You make many assumptions when you preach.
Your first statement is a prediction. Just that.
People are not as dumb as you think. They have the ability and desire to continue learning.
Do you expect a framework to be developed in parallel with an IDE? I don’t. FYI: Radrails is a very nice IDE built on the Eclipse platform.
Rails isn’t the only solution to web development, it isn’t a golden hammer. I love ASP.NET simply because that’s what I’m getting paid to use at work. I love rails (and I don’t back stab it), but that doesn’t mean I will try to force it down other’s throats (maybe because I’m not Christian).
As for scalability, beats me, I’ve only started studying Ruby on Rails for the past two weeks now. But if it is as powerful as you proclaim, then I assume it is inherently scalable… otherwise you wouldn’t have said that it’s powerful.
Lack of Internet Providers? You were just running out of excuses to write in your article right?
#145 by enrique on June 1, 2006 - 11:50 am
Just now reading the two books and still trying to form a somewhat educated opinion. However, my early impression is that the real innovation is with Rails. Ruby, to me, is just another language — the next of many that the industry is trying to sell to me as the “next bestest thing”.
Too bad Rails is inextricably tied to Ruby.
#146 by Terry on June 12, 2006 - 2:16 pm
I like what you said here because it is meant to be a warning not some much a prediction. Those who lash out at the author do not understand what Credic is trying to say. Instead of bashing him everyone should be more introspective about how to make Ruby and Rails more wide spread and via not just to the die hard fans. Not that I agree with everything said but I appreaciate what said.
Thanks
#147 by Steve Conover on June 13, 2006 - 5:29 pm
Isn’t this post kind of moot? Rails is mainstream. I think it counts if there are major websites running based on it, making money, etc.
And all the Java mindshare has migrated there. Just like Java in 1995.
#148 by Steve Conover on June 13, 2006 - 5:29 pm
Isn’t this post kind of moot? Rails is mainstream. I think it counts if there are major websites running based on it, making money, etc.
And all the Java mindshare has migrated there. Just like Java in 1995.
#149 by Jack on June 15, 2006 - 6:12 am
If I can’t hire someone who is at least basically familiar with rails, then it’s not mainstream enough!
#150 by Amit C on June 15, 2006 - 3:23 pm
Just a note, the above blog post does not wrap lines in Firefox 1.5.x on Linux.
Pretty tough to read.
#151 by Amit C on June 15, 2006 - 3:24 pm
Just a note, the above blog post does not wrap lines in Firefox 1.5.x on Linux.
Pretty tough to read.
#152 by bhar on June 16, 2006 - 11:06 pm
Hi,
Jumpstart your career in the Microsoft’s .Net (VB .Net and SQL Server 2000) world with this book.
Learn how to develop a complete accounting application for Microsoft’s .Net platform.
Discover the power of ADO .Net. ADO .Net is the basis for disconnected architecture development. with VB .Net.
Learn how to design an application based on three tier architecture Almost all Applications today are being developed based on multi-tier archtecture. including Data Layer, Business Layer and Presentation Layer using a combination of Microsoft’s VB .Net and Microsoft’s SQL Server 2000.
Learn how to use Stored Procedures and Triggers to implement lookups, filters, and updates in SQL Server 2000.
Learn how to implement Over loading and Overriding in a database application.
Master this knowledge and grab a lucrative career in the .Net world.
Learn the architecture of ADO .Net (ADO DOT NET) and build superior database applications.
Master how to access a database using DataReader. Learn –
Establishing connection with Connection object
Executing commands with Command objects
Using DataReader to read the data from the database
Master how to access a database using DataSet.
Learn –
Establishing connection with Connection object
Instantiating Command object
Instantiating DataAdapters
Setting DataAdapter Command properties
Select Command, Insert Command, Delete Command and Update Command
Populating the DataSet using the DataAdapter and display data
Master how to use .Net DataProvider components including Connection, Command, DataReader and DataAdapter
Learn how to use both OLEDB and SQLServer DataProviders
Learn how to program and use the following steps in a VB .Net program.
o Declare the Connection object
o Declare and setup the ConnectionString
o Open a connetion with the Open() method
o Manipulate the Connection state
* Learn the following DataSet Object concepts
o Typed vs UnTyped DataSets
o Creating the DataSet object
o Populating the DataSet using the DataAdapter
o Navigating through Datasets
o Updating DataSet using DataTable and DataRow objects
o Updating the Database using DataSets and DataAdapters
o Detecting and handling changes to data in a DataSet
o Accepting or Rejecting changes to data in a DataSet
o Clearing data from a DataSet
o Copying the data and structure of a DataSet
o Filtering the DataSet and Populate the Listbox
o Moving to a particular row in the DataSet using the Binding Context object
* Program a transaction with ADO .Net using Transaction object
Book with vb net sql server source code
#153 by Stuck on 1024x768 on June 26, 2006 - 8:41 am
Why don’t your lines wrap? I need an Apple 30″ Cinema display to read your weblog?
#154 by chuck on June 27, 2006 - 2:43 pm
hmmm… This page is unreadable. How did you manage to make your page 4 times wider than normal?
#155 by chuck on June 27, 2006 - 2:43 pm
hmmm… This page is unreadable. How did you manage to make your page 4 times wider than normal?
#156 by aaron on June 29, 2006 - 8:56 pm
I have been in microsoft shops for over 10 years now. which means i currently do .net(C# at the moment) and I always code at home with stuff i like. I think RoR (and Ruby) is slick. Do i feel really “weird” about the “magic”. you bet! LOL. but maybe that is not a bad thing…to stop writing all the DB infostructure and let some “magic” happen. The one thing i have learned from writing enterprise solutions with ‘enterprise’ tools is most projects are TOTALLY over-engineered. RoR is a tool, like Java, C#, PHP and VB(yes, classic VB has a place). That is all it is. Look at your project and go with what technolgy works best to make you productive. Oh, an i would love a better IDE. And web apps (not just websites) have become more complicated, i have evolved with that for over 10 years…started with notepad. in unix world i use emacs still. But an IDE is so much better. not for writting me code (i would pull all that crap out anyway) but if anything else, just for the solution or project organization alone. Hell, if i keep writing Rails apps, i might just write an IDE myself…we are developers aren’t we?? hehe
#157 by Michael on July 3, 2006 - 3:00 pm
I can’t jump in as an accomplished programmer but can add my two cents as an interested observer… Actually that’s not true, or not completely true. Instead, I’ll give you Martin Fowler’s words from RailsConf 2006 in Chicago. I just put up the complete video of it at blog.scribestudio.com .
Video from all keynotes can be found here: blog.scribestudio.com/pages/rails/
Enjoy,
#158 by Andrew on July 15, 2006 - 6:42 am
I agree with Chuck — forget cutting-edge web frameworks – can we get some word wrapping in here?
#159 by Shimon Amit on July 25, 2006 - 3:33 am
Remember lesson #1 in business studies: supply and demand. If there is demand, there will be supply. For all the tooling and services around the Ruby on Rails, there will be supply *because* there is demand. IDEs, Hosting, tooling – all those will become available as time goes by because there is plenty of demand. Growing demand.
#160 by Anonymous on August 12, 2006 - 3:48 am
i think some css wrangling is in need here.
#161 by Andrew Norris on August 12, 2006 - 10:10 pm
The community is fanatical, no question. And yeah, it’s turning into a monoculture — though my guess is that diversity in ruby web development will manifest itself in extensions to Rails for various purposes. But I don’t think that fanatics have usually prevented a technology from being adopted — they’ve just made it more annoying to adopt. It certainly hasn’t stopped Python.
Support from internet providers will come — if there’s a lot of people who want to buy something, someone will sell it to them. Likewise, an IDE or two will fall out somewhere — that’s just a matter of time.
As far as the complexity of Ruby, I call BS. If you’re in a hurry to crank out your first Rails app and are working from a decent tutorial, you can learn a functioning subset of Ruby in no time flat. You won’t understand any of the interesting parts of Ruby, but you can write functional code without it. And as bad as that sounds, it’s still leagues ahead of what novice code looks like in PHP. Likewise, there are a ton of things going on in Rails that are fantastically advanced, but it does a good job of hiding them to the novice — you can write My First Dynamic Website without understanding any of the principles underlying Rails — just the surface details of how to use it that you can glean from a tutorial.
Of course, the corollary to that is that there are going to be a lot of Rails sites produced by barely-literate codemonkeys — just like with php or asp. But that’s not a knock against the underlying technology.
The main legitimate question at this point is scalability. Right now, the whole execution path for Rails is shaky, from the single-threaded VM to the suboptimal hacks required to hook it up to a webserver. This aspect of Rails is still a mess. In my spare time, I’ve been tinkering around with a lisp interpreter running on top of asp.net, and I’m pretty sure that I would have an easier time scaling that up than doing a large-scale deployment of Rails.
#162 by plavix drug on August 17, 2006 - 10:29 am
thank
#163 by Peter Cooper on August 22, 2006 - 6:01 am
This discussion seems pointless. Why ever would we want Rails to be ‘mainstream’? Mainstream is crap. The good stuff is always more exclusive. Would you rather drive a Geo Metro or a Ferrari? Yeah.
#164 by Nate Davis on August 25, 2006 - 3:33 pm
These conversations always tend to imply that programmers must leave one language to adopt another. Why can’t I be an expert (and enjoy using) two completely different languages. I’m proud to be proficient in both Ruby and .Net and be able to use ASP.NET for one project and then RoR for another.
#165 by Nate Davis on August 25, 2006 - 3:39 pm
I believe another obstacle in RoR’s way is the Mac/Firefox centricness of the RoR core team. If you don’t use TextMate on a Mac your not a real RoR programmer. And if rubyonrails.com does not always display right in IE, who cares, just switch to FF. BS!! I want to develop RoR on a Windows machine and test my apps in IE6 and 7. I think if a RoR website doesn’t display right in IE7, it’s the developer’s fault!!
#166 by tony on September 12, 2006 - 12:47 pm
I have been a cold fusion, j2ee, and PHP developer, and I was starting to think about trying ruby out, especially ruby on rails, but that you compare it to java puts me off, in my experience it always just took twice as long and ran half as fast to use java as opposed to anything else. I believe java is only even usable because computers have gotten so powerful.
#167 by tony on September 12, 2006 - 12:47 pm
I have been a cold fusion, j2ee, and PHP developer, and I was starting to think about trying ruby out, especially ruby on rails, but that you compare it to java puts me off, in my experience it always just took twice as long and ran half as fast to use java as opposed to anything else. I believe java is only even usable because computers have gotten so powerful.
#168 by tony on September 12, 2006 - 12:49 pm
you mentioned Smalltalk or Lisp , but what about perl. I haven’t really used any of them but people are always telling me amazing almost unbelieve things about them.
#169 by tony on September 12, 2006 - 12:49 pm
you mentioned Smalltalk or Lisp , but what about perl. I haven’t really used any of them but people are always telling me amazing almost unbelieve things about them.
#170 by katalog on October 14, 2006 - 3:30 am
Remember lesson #1 in business studies: supply and demand. If there is demand, there will be supply. For all the tooling and services around the Ruby on Rails, there will be supply *because* there is demand. IDEs, Hosting, tooling – all those will become available as time goes by because there is plenty of demand. Growing demand.
#171 by Greg Bittar on October 16, 2006 - 11:54 am
the original author wrote: “This is 2006, not 1996. The programs we are writing and the problems we are solving every day are orders of magnitude harder than back then, and our tools need to keep up with that need.”
Maybe in your experience. Change the “we” to an “I”. In my experience, “we” were doing wireless object-oriented app server/db work in 1996. What were you doing?
Funny tho, you were just implying that Smalltalkers overstate the benefits you enjoy today. Maybe it’s because, in fact, they were working on those hard projects during their first iterations?
And btw, vi is a fine tool, now as much as ever. I’ll take that and the extended set of shell commands over any pictographic IDE any day. The ideas are in the mind, rather than in a menu.
#172 by George on October 18, 2006 - 9:22 am
you are wrong because: You dont need an ide in Ruby because it is clean! all thoes arguments were aganst java! ruby does not have much boilerplate code; therefor no need for IDE!!
#173 by Roseanne Zhang on October 21, 2006 - 8:18 pm
//===============
These conversations always tend to imply that programmers must leave one language to adopt another. Why can’t I be an expert (and enjoy using) two completely different languages. I’m proud to be proficient in both Ruby and .Net and be able to use ASP.NET for one project and then RoR for another.
Posted by: Nate Davis at August 25, 2006 03:33 PM //================
Haha, That is exactly what I want to say.
I have been Java developer for quite some time, and my last project was C/C++/JNI/Java. I am doing RoR now, and will do C++ at the same time. Next project might be J2ME with C++ with WAP.
I am proud of doing that…
#174 by Roseanne Zhang on October 21, 2006 - 8:20 pm
//===============
These conversations always tend to imply that programmers must leave one language to adopt another. Why can’t I be an expert (and enjoy using) two completely different languages. I’m proud to be proficient in both Ruby and .Net and be able to use ASP.NET for one project and then RoR for another.
Posted by: Nate Davis at August 25, 2006 03:33 PM //================
Haha, That is exactly what I want to say.
I have been Java developer for quite some time, and my last project was C/C++/JNI/Java. I am doing RoR now, and will do C++ at the same time. Next project might be J2ME with C++ with WAP.
I am proud of doing that…
#175 by Roseanne Zhang on October 21, 2006 - 8:21 pm
//===============
These conversations always tend to imply that programmers must leave one language to adopt another. Why can’t I be an expert (and enjoy using) two completely different languages. I’m proud to be proficient in both Ruby and .Net and be able to use ASP.NET for one project and then RoR for another.
Posted by: Nate Davis at August 25, 2006 03:33 PM //================
Haha, That is exactly what I want to say.
I have been Java developer for quite some time, and my last project was C/C++/JNI/Java. I am doing RoR now, and will do C++ at the same time. Next project might be J2ME with C++ with WAP.
I am proud of doing that…
#176 by Anonymous on October 23, 2006 - 11:33 pm
You’re right Roseanne, but some people are unable of doing that and afraid of losing their ‘market share’ …. it’s human nature…
it’s a long long story as long as IT : Assembler programmers were afraid by Cobol and tried to find many arguments against it…
a never ending story…
#177 by Ha on November 12, 2006 - 3:41 am
I agree with your assertions, but not with the reasoning behind them. Rails will not fail because of any of its numerous technical shortcomings, Rails will fail because all of its maintainers are narcissistic children whose lives revolve around IRC. Eventually one or more of them will get into some big sissy internet slapfight and go start their own IRC channels and blogs dedicated to badmouthing each other, abandoning the project altogether and leaving the teeming throngs of teenage fanboy bloggers out in the cold. Douchebag Heimlich Haggarslacks will then either sell off the project to Google and spend the rest of his life greasing his hair in the mirror and wishing there was a single human being on the planet whom he could pay enough to pretend to tolerate the sound of his voice for more than a few hours, or he’ll kill himself when his ego goes supernova and collapses in on itself. Either way, flash in the pan.
Ruby is a very nice language, and it deserves much better than Rails. I’ve never seen so much code bloat in a 1.0 release of anything, and I’ve worked at some really crappy software companies.
#178 by Ha on November 12, 2006 - 3:42 am
I agree with your assertions, but not with the reasoning behind them. Rails will not fail because of any of its numerous technical shortcomings, Rails will fail because all of its maintainers are narcissistic children whose lives revolve around IRC. Eventually one or more of them will get into some big sissy internet slapfight and go start their own IRC channels and blogs dedicated to badmouthing each other, abandoning the project altogether and leaving the teeming throngs of teenage fanboy bloggers out in the cold. Douchebag Heimlich Haggarslacks will then either sell off the project to Google and spend the rest of his life greasing his hair in the mirror and wishing there was a single human being on the planet whom he could pay enough to pretend to tolerate the sound of his voice for more than a few hours, or he’ll kill himself when his ego goes supernova and collapses in on itself. Either way, flash in the pan.
Ruby is a very nice language, and it deserves much better than Rails. I’ve never seen so much code bloat in a 1.0 release of anything, and I’ve worked at some really crappy software companies.
#179 by Hrm on November 12, 2006 - 3:43 am
I agree with your assertions, but not with the reasoning behind them. Rails will not fail because of any of its numerous technical shortcomings, Rails will fail because all of its maintainers are narcissistic children whose lives revolve around IRC. Eventually one or more of them will get into some big sissy internet slapfight and go start their own IRC channels and blogs dedicated to badmouthing each other, abandoning the project altogether and leaving the teeming throngs of teenage fanboy bloggers out in the cold. Douchebag Heimlich Haggarslacks will then either sell off the project to Google and spend the rest of his life greasing his hair in the mirror and wishing there was a single human being on the planet whom he could pay enough to pretend to tolerate the sound of his voice for more than a few hours, or he’ll kill himself when his ego goes supernova and collapses in on itself. Either way, flash in the pan.
Ruby is a very nice language, and it deserves much better than Rails. I’ve never seen so much code bloat in a 1.0 release of anything, and I’ve worked at some really crappy software companies.
#180 by God this sucks on November 12, 2006 - 3:22 pm
Also, I’m not sure you should be pointing any fingers at anyone else’s blog engine when your own fails so miserably all the time and people end up reposting the same thing over and over because of all the error messages.
#181 by Lonny Eachus on November 30, 2006 - 3:00 pm
I disagree with some of the basic premises of this article. First, while not a full-blown IDE, RadRails is a pretty darned good code editor. If you want to see your work, keep your web page open and just hit the “refresh” button. Not exactly IDE but one of the best editors around and surely the next best thing to IDE.
Further, the author states that you don’t want an IDE that generates code. That is pure nonsense! That is what IDEs do! An IDE that did not generate code would be nothing but a screen generator. It would create screenshots that do not do anything, which is just plain not useful.
As for the first objection — Ruby itself — I can personally testify that it is a non-issue. I used Visual Basic since before it was even a Windows programming platform (yes, it was available in DOS, in two different forms). So I do know Visual Basic and actuall like some things about it. I have also done a lot of coding in .NET, Java, C++ and C#.
Yet, when I actually started programming in Ruby, and got past a couple of different concepts (symbols for example), I was extremely impressed. I dropped .NET like a hot potato. There is no comparison at all. Java, while nicely structured, is too restrictive for most really creative people. Not just technically restrictive… it FEELS restrictive. A friend of mine, who had a similar experience, asked me why anybody who had been exposed to Ruby should bother to learn Java at all. I replied that Java teaches (and enforces) good programming habits, while Ruby’s freedom does not discourage sloppiness. So learn the proper way first, then carry your good habits over to the freer environment. And Ruby really is that.
The prediction that RoR will be a has-been ten years from now is pure speculation. I think that one was just pulled out of the air. I could say that about any Web tool in existence today and have an equal chance of being right.
The lack of ISP support is rapidly disappearing. Lack of support is a necessary initial condition when something new comes around… it takes time to properly support it. The very same thing was true of PHP, Perl, and even JavaScript at different times. There are LOTS of RoR-friendly hosts out there now, and if you do not think there is enterprise-level support, check out Engine Yard for one good example (http://www.engineyard.com/).
All in all, there are good rubuttals to every one of the objections to RoR listed in this article. The author is entitled to his/her opinion but I strongly disagree with most of them, and I have counterexamples on my side.
#182 by Tim on December 14, 2006 - 8:31 am
“But it’s still a very wide gap for corporate developers to cross”
Ruby is of interest to me, but basically I’ve been told I’m too dumb to understand it. Others have said this. “It’s great, but…”.
That type of attitude has turned me off and others I know. Why move to something that people like to take pride in being so hard that you have to be Mensa certified to use?
#183 by Shad Vick on January 9, 2007 - 8:41 pm
Great article…although I hope you’re wrong. It was April 2006 when you posted and now Jan 2007 – have you changed your mind yet? ; )
#184 by Les Quinn on January 12, 2007 - 7:18 am
umm…
folks last year said that RoR was a PHP killer… i just had to laugh at them then, and guess what? i’m still laughing…
can’t say much more than what you’ve said really 🙂
#185 by Nikolay on January 24, 2007 - 3:58 pm
I played around with RoR for around a month and when I started a real project, I realized something very important about RoR. It maps my db structure directly into the model classes. I know this can be changed but once you write your own SQL query, not relying on the Active Record methods, you end up rewriting the whole CRUD functionality of the class and this relates the other related classes.
I like the MVC web approach, but the convention over configuration for the db is too much for me. And what will happened when MySQL 5.1 becomes stable and we start using sql functions – Will Active Record allow us to use these. What about transactions. For now, even if I try to GROUP BY something HAVING…, it is done by adding part of the query to the one supposed to be build by Active Record.
Too much magic for me 🙁 Is there someone trying to use RoR for something bigger than blog (Except for the Basecamp)
Please prove that I’m wrong. I’ll be glad to make a second attempt to jump on that boat.
#186 by Matt on February 26, 2007 - 6:14 pm
>The problem is that by now, there should be other obvious success Rails stories, and not just ones developed by the Rails Society.
Something to keep an eye on, Daily Kos, a fairly large left-leaning political site has announced its next version will be Ruby on Rails based. It should be an interesting performance test, especially as primaries and the next elections near.
#187 by Bluto on March 24, 2007 - 8:29 pm
LISP really did do that 30 years ago …
There have been tremendous advances made in computing frameworks since LISP was invented. But LISP really did one heck of a lot of things right. I built a very large intelligent decision application in 1982 on LISP and I have never gotten drunk enough to re-write it in Java. Instead, I must port some B*stard variant of LISP to every new platform to run it.
I just did a scaling exercise for a client to re-write the application in Java last month and they decided they would just keep using ported LISP.
Bluto-the-Topologist
BTW, RoR is very good. As for scalability: I only respect horizontal scalability now, and RoR has as much as can be needed.
#188 by Tim Harper on March 24, 2007 - 10:55 pm
Nikolay
Here’s a company that’s taken on rails for a VERY large scale enterprise application, matchbin.
http://www.matchbin.com/
Use the map to go to websites set up using matchbin’s technology. All of those are sites set up with matchbin technology. Everyone of those sites uses the same backend software, and the look and feel is completely customizable. Unit testing is being employed to ensure stability, and scaling measures are in place so it will scale. The site is currently getting about ~350,000 requests per day. Rails is serving the purpose very well and the framework is proving to be one that can continue to expand without everything turning into a big mess. It’s been very successful.
Tim
#189 by Tim Harper on March 24, 2007 - 10:55 pm
Nikolay
Here’s a company that’s taken on rails for a VERY large scale enterprise application, matchbin.
http://www.matchbin.com/
Use the map to go to websites set up using matchbin’s technology. All of those are sites set up with matchbin technology. Everyone of those sites uses the same backend software, and the look and feel is completely customizable. Unit testing is being employed to ensure stability, and scaling measures are in place so it will scale. The site is currently getting about ~350,000 requests per day. Rails is serving the purpose very well and the framework is proving to be one that can continue to expand without everything turning into a big mess. It’s been very successful.
Tim
#190 by Prateek Bansal on April 30, 2007 - 11:30 pm
IT’S TIME YOU OWNED ‘ANTIQUESHAWLS INC. ‘PRODUCT !
Women abreast with emerging fashion trends compliment their latest designer dress with fashion accessories. The accessory could be a stole rolling down the shoulders or a scarf tucked around the neck. These accessories in form of stole, shawl, scarf compliment their feminity to a nicety. Owing a pashmina shawl is still considered a timeless investment glorifying a woman’s wardrobe.
We at AntiqueShawls INC. propel the world of fashion apparels with innovative designs, competitive prices and export quality. Our products are showcased at renowned boutiques and departmental stores across the globe from USA to Europe to Australia.
FASHION STATEMENT
A trendy stole or a muffler around woman’s neck is an everlasting trend in fashion world. Wearing a Pashmina at a hi-fi social gathering is a status symbol. Teenagers wearing stylish ponchos at happening parties and pubs are the latest rage. A jamavar viscose stole, cutwork woolen stole, a beaded stole or an embroidered woolen shawl are popular items attracting women folk worldwide.
COMPANY PROFILE
We are manufacturers, retailers and exporters of exclusive women fashion apparels .Our wide range of over 500 products include Woolen /Viscose/Pashmina/Silk items specializing in Shawls, Stoles, Scarves, Ponchos etc. Jamavars, jacquards, cutworks, beadwork, Embroidered are few types of designs in each of the categories. Our products are a result of exquisite designing and marked artisan.
Our team of designers regularly churns out exclusive fashion apparels with value additions like beadwork, embroidery and other innovations. Our exclusive products are regularly showcased at retail stores across London, Miami and other cities across the globe. The team of quality inspectors ensue that products are a value for money for our customers.
PRODUCT RANGE
Shawls- Jamavar pashmina shawls, Hand embroidered shawls, silk pashmina shawls, jamavar cutwork shawls, silk wool shawls, Kulu shawls.
Stoles- Jamavar pashmina stoles, jamavar viscose stole, plain viscose stole,pashmina embroidered stole, plain pashmina wool stoles, fancy yarn stoles, silk pashmina stoles,100% silk stoles, summer embroidered stole,Kulu stoles.
Scarves- Jamavar pashmina scarves, jamavar viscose scarves, Beaded scarves
Ponchos-Viscose Embroidered Ponchos
?.and many more
NO MORE A WINTER WEAR
Winters are a perfect season for womenfolk to make a style statement. Fashion apparel including shawls, scarves, stoles is worn by women on the onset of winter. A domain of cold cities we have transformed the simple winter wear into fancy and exclusive items .It is now more of a fashion statement to wrap a stole during any part of the year.
Winter wear is no more restricted to the traditional plain colored pullovers or sweaters anymore. Fashion Apparels for women has metamorphosed into a huge global market. Stoles and shawls swiping the fashion industry will occupy a permanent place in every woman’s wardrobe.
EVEN CINE STARS FLASH A STOLE
Fashion designers are also experimenting by complimenting their designer attires with a fashion accessory in form of scarf or stole. Hollywood stars and even Bollywood superstars have worn stoles and pashminas in movies from many years. Traditional Hand Embroideries with beads, glasses etc. has given a new dimension to these apparels which have adorned the collection of famous fashion designers of the world.
SHOP WITH US
Shopping with us gives you the advantage of purchasing high quality merchandise at manufacturer’s prices. We strive to achieve superlative levels of customer satisfaction, which is evidence by the excellent testimonials of our customers around the world. Our years of experience in manufacturing Pashmina Shawls has enabled us to offer to offer quality shawls at very low rates.
The AntiqueShawls Inc. offers an enormous scope for fulfilling the custom specific requirements of the buyers situated across the globe. Our shawls are being exported to more than 50 countries in the world finding way to leading shopping malls and fashion stores.
IN THE WORLD OF FASHION
AntiqueShawls Inc. is among the leading Indian manufacturer and retailers of apparel accessories of women on the global map. The fiber is handspun into yarn, handwoven, finished and dyed by intrinsic care and precision to exercise strict control as per International standards of quality, comfort and value. Our items come in ethnic designs and matchless quality.
GIFT A PASHMINA
Chritmas, Easter, New Year and other festive occasions witnesses people exchange gifts and pleasantries. Apart from enhancing ones wardrobe, a pashmina shawl is one of the most preferred gifts worldwide. What better than to express your love or friendship than gift a trendy pashmina to your loved ones, peer group or professional colleagues.
Our products are intrusively checked and specially packed to add a value to your gift. They are delivered in beautiful transparent packing enabling you to have a look at the colors combination and design of the shawls and preserve it with care. Our efficient team ensures your orders are executed within specified delivery period through a reliable and speedy courier at your doorstep .
OWN A PASHMINA
We have transformed this secret of Pashmina making from generation to generation which has enabled us in providing our customers with the best quality pashmina at affordable prices. Being among the original suppliers of shawls, we can guarantee you our matchless and supreme quality. After all owning Pashmina is legendery.
Our designs are ahead of times in terms of concept and fashion trends. Thus owning an ‘AntiqueShawls INC product is a cherished treasure for a lifetime.
Its time you owned or gifted an http://www.antiquepashmina.com product !
#191 by Albert Strasheim on May 22, 2007 - 2:46 am
In your opinion, is this post still valid?
IDE: NetBeans
Enterprise capabilities: JRuby Java Integration
Scalability: Rails deployed on Glassfish
Done, done and done. 😉
#192 by Lars (L505) on June 5, 2007 - 12:15 am
You’ll find more startup companies using RoR and even funny things like freepascal. I currently am working on a few contracts where we are using ruby, freepascal, and other niche tools. When I say startup I don’t mean just small startups, some of the people I’ve worked with are big time startups (millions of dollars of funding) or small time startups (like my own website funded by $2.00).
On some of the projects I work on, managers or programmers in the startup companies insist almost everything be done in Ruby – the One True Way attitude. But it is better than using Perl or PHP!
Regards,
Lars
#193 by Lars (L505) on June 5, 2007 - 12:18 am
By the way, this website is kind of broken (bad user experience). When I posted my message I didn’t receive any response telling me it was a successful post. It just redirected me back here and my message is not displayed. I think this is the reason there are quite a few double posts in the comments above – because people were unsure if their message was posted so they resubmitted. Is this blog, perhaps, written with Ruby? I hope not, otherwise I will have a negative thing to say about Ruby developers 😉
#194 by Lars (L505) on June 5, 2007 - 12:20 am
Also, when I preview my post, there is an option for entering a website URL for reference.
But before I preview the post, there is no URL text widget available. This again is a user experience issue that should be looked into. Not that some of my web programs don’t have similar flaws which are written in freepascal, ruby, etc.
#195 by Anon on July 25, 2007 - 2:23 pm
http://www.cio.com/article/125851/Why_Ruby_on_Rails_Succeed
#196 by affiliate programs on July 26, 2007 - 3:36 pm
I learning affiliate programs now
#197 by Todd on August 17, 2007 - 6:10 pm
Well, I guess article has proved wrong… 🙂
#198 by Sid Jakobs on September 7, 2007 - 9:04 pm
Hello, here my special gift
link medication viagra pain place
[URL= http://viagra-grapefruit-juice.highbornrx.com/link_medication_viagra_pain_place.html ]link medication viagra pain place[/URL]
#199 by Chris Neumann on October 5, 2007 - 9:38 pm
Getting away from shawls and viagra for a while!!!
In regard to the original post on ROR : –
1/ Yes, the Ruby language can be complex, but never illogical or seemingly abstract, something which could never be said of PHP or .NET. These die hard mainstrem programmers are not fools and must surely be able to see the merits of Ruby. How many are secretly wishing their company would allow them to embrace it?
2/ Surely advanced in ROR’s case doesn’t mean overly difficult to learn. I don’t consider myself to be anything special when it comes to web development, but with only a brief grounding in asp.net and php, I have found adapting to ROR both easy and quickly rewarding.
3/ Up until recently, I would have agreed with the no credible IDE statement, but Aptana has certainly come of age as have many of the other text editor/IDE’s available. More importantly Borland has now jumped on the bandwagon with the release of arguably the most comprehensive Ruby dedicated IDE ever (see http://www.codegear.com/products/3rdrail). If this proves to be what it purports, then I believe Ruby will have something akin to Visual Studio to back it (BTW there is also a VS plug-in available called Ruby In Steel).
4/ ROR fanatics make no apologies for their fanaticism….sorry!!!
5/ OK, so ROR has “nuked the field” but that is because it is so damn good. Probably the reason so many converts are fanatics!! I see no reason why, in the future, other clever developers will launch their own frameworks but at present most are content to embrace and add to the ROR framework, probably out of respect for its inherent design capabilities.
6/ My, how long a year can be in the developer’ world. There are now many enterprise success stories with ROR and I’m sure many more to come. As for scalability, well I believe that has been proven also
7/ Hosting is not only available but is widely available,and extremely cost effective.
#200 by Chris Neumann on October 5, 2007 - 9:42 pm
Sorry for all the typing errors above!!
#201 by Evan David Light on November 7, 2007 - 2:53 pm
Fast forward 1.5 years from this article’s publishing:
– Merb 0.4
– Sequel, DataMapper, Ambition
– JRuby 1.1
– Official Netbeans Ruby Support
– OS X 10.5 XCode support for Ruby
Rails has not “nuked” anything — except perhaps to steal some of the bright minds from the Java world and import them into the Ruby community. As with all development frameworks, the lessons learned from one feed into the successors.
– Merb leverages many of ActionPack’s strengths while making up for its shortcomings.
– Sequel provides simple ORM without as much of the complexity/magic of ActiveRecord.
– Ambition is beginning to pull us away from SQL altogether by permitting the querying of data using plain Ruby syntax.
Rails has no more stymied Ruby innovation any more than applets initially did for Java. Rails showed us the possibilities of Ruby. As more people continue to contribute to the community, Ruby’s potential will only be further realized.
In other words: it’s all good.
#202 by kadoudal on January 14, 2008 - 6:18 am
came into this blog by inadvertance…
some good point…
not the one about Ruby… I don’t believe Java is easier to learn… scarce resources of above average Java programmers for Enterprises dev => these corps now accept web apps in PHP , worst !!!
#203 by dacha on February 15, 2008 - 12:34 am
How many are secretly wishing their company would allow them to embrace it?
#204 by dacha on February 15, 2008 - 12:35 am
How many are secretly wishing their company would allow them to embrace it?
#205 by Nuno Job on March 4, 2008 - 2:16 am
Great blog post. Congrats
#206 by pradheep on March 9, 2008 - 9:28 am
I am working as a software developer . but now i want to change the company. i am looking for the company that are working under Ruby on Rails. please tell what are companies working under Ruby on rails in india
#207 by scotty on April 11, 2008 - 6:53 am
Two things make web environment mainstream
– abundant c-h-e-a-p good shared hosting
or
– being enterprisy
#208 by jb on April 11, 2008 - 6:57 am
Just curious, now that two years have passed, do you still feel accurate in your prediction that Rails would not become mainstream?
The reason I ask is that it seems pretty mainstream to me,as I watch large, stodgy organizations adopting it for large-scale projects. And the various service providers who offer hosted Rails platforms, etc.
#209 by cjh on April 11, 2008 - 3:08 pm
I suspect one reason RoR won’t go mainstream is because of Groovy and Grails. The existing huge Java-based crowd of web developers are more likely to move to something that looks like what they’re used to and which can even transparently use all their existing code base.
Plus Grails has the advantage of going second; it can learn from RoR’s mistakes as well as its insights.
#210 by JALexoid on April 12, 2008 - 11:27 am
Since now is 2008 and the post is 2006.
This is ironic. Since the comments are still valid. That means “Crowd of a single mind.” IS TILL a problem. You still have a ton of issues. Sure the scalability has somewhat been proved to be acceptable at least.
#211 by Koder on April 12, 2008 - 5:37 pm
Ruby sucks compared to Python. No decent sys admin will touch Ruby, and you can’t use it for the web because it’s not enterprise like Java and PHP.
#212 by Arvind Gupta on April 13, 2008 - 5:48 am
Thanks for writing this article. I agree with you. Now question is this that what should be done to make ROR mainstream.
#213 by Tom on April 13, 2008 - 9:06 am
My reasoning for Ruby never really being use in critical applicatoin is this silly reason: We had some of the Ruby guys come down to Citigroup to give a demo, I learned several things from that demo:
– Like all American companies, they are leveraging their business contacts for both demo and purchasing.
– Even though Ruby is suppose to be SO EASY, the demo guy had to setup the code before the visit and the code still crashed
– The people who will make money from this scritping language is the company that owns Ruby and can market it well and the other benfetitors will be the bool writers
I wish all of you Ruby developers the best of luck, but I’ll be about six months behind you cleaning up the Ruby mess and using Java Enterprise.
Regards,
Tom
#214 by Barcode Generator on November 24, 2008 - 8:38 pm
Linear barcodes creator application is used for reading and scanning barcode of toys, snacks, books etc.
#215 by Data Recovery Prices on November 26, 2008 - 2:06 am
MMC Mobile DV card data rescue tool recover lost office document file and folder.
#216 by Anirudh Vyas on December 3, 2008 - 8:49 pm
One of the reasons so given is wrong, Ruby works like a charm on Eclipse IDE, RDT or DLTK are available for usage.
Regards
Vyas, Anirudh
#217 by marin on January 2, 2009 - 1:51 pm
interesting article, so is it worth learning ruby on rails or should i stick to php? thanks for this article… youclash.com
#218 by Silk Plants on May 4, 2009 - 9:39 am
thanks for sharing those new learning , now i know, well said, about your post
#219 by Matt Simpson on October 7, 2009 - 9:09 am
Silk, please note that this article, however beautifully written and true was written more than 3 years ago. Technology is fast, DHH and the developers of Ruby on Rails has been very focused on tackling all mentions of “why rails won’t last” and I think they are doing a great, great job!
I used to be a PHP programmer, have worked with ASP and JSP and Ruby On Rails is hands down worth looking in to and getting your hands dirty for.
My advice to you, and all others who read this post is to make sure you look at the date of the blog post! 🙂 This is an excellent post, but he was talking about the ‘Current’ Ruby on Rails when the post was written, Ruby on Rails has come a long way since 2006. If you are posing the question of “Is it worth learning ruby on rails” then read up on some blogs, but read the date FIRST, if it’s more than a year old move on to the next post.
If I were you, I would check out the “What Killed Smalltalk Could Kill Ruby Too” presentation at the 2009 Railsconf.
put this guy in your address bar:
railsconf.blip.tv/file/2089545/
Very cool how the ruby on rails developers and leaders are very open about this with knowledge that talking about it is much more h3althier.
At the time, this was a great post, but it is fortunately outdated and addressed 🙂
#220 by asj on October 9, 2009 - 12:58 pm
RoR is already outdated and dying. Just a look at the state of the market report of O’reilly and you’ll see that Ruby book sales have dropped by more than 50% since 2008 (!), even though book sales of ruby are just a fraction of Java or PHP. The anticipated migration of PHP developers to Ruby just never happened. RoR is stagnant before it even became a top languge or platform!
#221 by Search Engine Optimization Dallas on November 11, 2009 - 6:39 am
Great article Cedric!
I have just recently begun to be interested in Ruby on Rails and I feel the same convictions. I really see the power of the RoR infrastructure. However, I am very new at this and I am running into quite the headache to find hosts that support RoR and then to actually get my application up and going. It is much more complicated than PHP.
Keep up the good work!
~Nick Swanson~
swansonseoservices.com