Shatter Fist wrote:
I’ve seen posted on various sites about Ruby being great or Ruby being
the root of all evil.
Yes there are lots of people who love Ruby, and lots who criticize it.
The most common complaint is that it is slow. The “conventional wisdom”
is that Ruby is in-fact slower than other programming languages. Some
people believe that you can write Ruby code that is just as fast. I
don’t really know what the answer is, but Ruby is definitely getting
faster. Lots of people have seen big speed improvements with the Ruby
1.9 release candidate. The JRuby team has also done a lot to make Ruby
work well with native threads. Phusion has also released a fork of ruby
1.8.6 that allows “…Ruby on Rails applications to use 33% less memory
As a relatively new programmer, I need to know what limiting factors I
should look for before starting to develop within the enviroment.
From the perspective of a new programmer, I would say there are no
limiting factors. Yes, there are things for which rails is not suited.
However, in the domain of database-backed web applications, 99% of the
time rails will be just fine for anything a new programmer is going to
try to tackle.
Alternately, where does it shine
Rails is great for getting things done quickly, learning some best
practices for developing web applications, and quick iterations. That’s
not all rails is good at. But those are things that it does very well.
where is it very difficult to make work?
If you aren’t willing to follow Rails’ conventions (in terms of
directory structure, db layout, etc) then you will have lots of pain
Are there speed or size issues?
There are lots of HUGE sites running on rails. But that doesn’t mean
building an application in rails that has 100 billion page views per
month is easy. Rails gives you lots of little helpers that make the
initial development fast. However, many of these helpers are optimized
for increasing the speed of development, not the speed of the program.
When (if, actually) you applications starts getting tons of hits, then
you will need to optimize. Maybe you will write your own SQL. Maybe you
will use something like memcached. It depends on your application.
Does it not play nice with established systems?
The reason I’m posting here is because I would like a professional and
unbiased opinion from people that have worked with it.
I have never met an unbiased person so I can’t help you here