Joe wrote:
Why Ruby on Rails won’t become mainstream
http://beust.com/weblog/archives/000382.html
“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.”
:: shrug :: I routinely see people trying to nail 2x4s together with
Hickory Farms Smoked Sausages. I don’t mind, I eventually get their
business (or someone else talented does).
“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).”
Meh. DHH, unlike David Copperfield, allows you to get at the
underpinnings of the magic. I don’t care about the core of the magic.
I admit I’m curious, but I really don’t care how everything is routed,
etc, as long as it follows my directions. One day I’ll probably
download the source code and take a look at some of it (go ahead and do
that with PHP, or VB.NET–we’ll see you in a couple of weeks in the case
of PHP, and we all know what we’d see for the latter case). As far as
the app itself goes, my pattern is to run a generate scaffold command on
everything… Hey look! The magic is gone… :: shrug ::
:: blink :: I’ve been coding Java, PHP, and RoR code in the same editor
along with my source code repository (both CVS and SVN) integration, and
database stuff. It’s called Eclipse… Use it. You’ll thank yourself
for it and want to hunt down the developers in the afterlife so you can
buy them a drink. Eclipse works on all major platforms I can think of,
apparently there are some issues with RadRails and OS X (which makes me
sad because I’m wanting to switch). But it looks like there is a good
alternative on that platform too. Hell RadRails even makes it easier to
manage your “WEBrick” servers and use code generators. You get terminal
output right in the damn IDE!
Bah! Humbug on this point.
Yes, be nice, don’t always insult the narrow-minded. :: cough ::
RoR is not itself a holy grail in an “enterprise” sense. In combination
with core Ruby, it may be. There’s nothing preventing you from doing
some complex stuff on an application server level with J2EE, C, C++, C#
or anything else and integrating it with RoR. All you have to do is
write to a database…you do have a database server, right?
JBoss Application Server
- processes incoming files with a timed MBean
- generates reports (using OpenOffice UNO – xls, doc, pdf, …)
- drops complex detail and summary information into database
- drops rows into a database notifying users of the results
RoR Front End
I expect the initial part could be developed in pure Ruby, but I have no
experience with it. I do have experience with Java, C??, and such.
It would be easily done and very powerful. I want to gut the core of
one of our major J2EE apps and refactor it to use this methodology. It
would be much faster overall and easier to maintain.
“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.”
Yup. A lot of lost time, revenue, and a ton of Google AdSense
accounting from all the web searches trying to figure out what the hell
is wrong with said framework and which framework would be a better idea
to switch to.
It’s true that questioning and innovation are great, indeed neccessary.
But I don’t need 12 frameworks. I need something that justworks. Time
is money. Fast development means I can spend more time doing other
things. Although it is fun to develop in RoR.
I think DHH has laid
the groundwork for innovation. I don’t think that will end…
- Enterprise capabilities and scalability unclear.
Bah. Java 1 was slower than molasses in an antarctic blizzard. It’s
now dubbed as the #1 enterprise language (by most people that aren’t in
the Microsoft camp). I wouldn’t code everything for an enterprise app
in RoR. I would code the web interface in RoR. Everything else would
be provided via backend apps (Java, Ruby, whatever…see above) or
available via Web Services (utilizing the same backend stuff). All you
need is data in the database for RoR to get it. You can get it there
quickly by about three hundred eight different methods. Again, pick up
your Sausages everyone, we have ten houses to build and each one of them
is completely different! But that doesn’t matter, if the sausage fails
at least you have lunch…while you try to find a slightly
different-looking sausage that will work better! :: shrug ::
- Lack of support from Internet Providers
Somewhat valid. However, this is where consultants can help. There are
plenty of RoR compatible ISPs. This is something you ask your client up
front. “Well, we use a different technology that allows us to develop
applications in about a fifth of the time as a standard web application.
It may require you to switch hosting servers; we would be happy to help
you with the details of that adjustment. Yes, it will probably cost you
about two more dollars per month. Yes, about twenty to thirty dollars
per year. Oh, did we mention that you’ll probably make about a hundred
times more back by not paying us for the extra 4/5s of the development
time?”
Yes, you can’t download a CMS and install it on any old web server (not
that that is exactly easy anymore either…and many CMS packages have
shut down servers therefore suspending hosting accounts). So if you
want to do that, I guess RoR isn’t for you. But those clients hunt for
developers in the $0-100 range anyway. I’m well beyond that range. 
Smart people pay a premium for good software. And they are rewarded for
it.
My Summmary:
I think that RoR “replacing” PHP in the “mainstream” does boil down to
ISP support and integration on a more wide-scale basis. That’s not
exactly RoR’s target market though. I see it much more likely to
replace JSP and PHP front-ends in “enterprise” development. And the
mid-level of client-based web apps. I’ve helped a few friends get a PHP
fansite or something up… It would be just as easy to help them get a
RoR one up.