I'm a college student learning Ruby on Rails. My instructor has given me a good basis for designing web based solutions with RoR and we've looked at Ajax and script.aculos. I've seen posted on various sites about Ruby being great or Ruby being the root of all evil. As a relatively new programmer, I need to know what limiting factors I should look for before starting to develop within the enviroment. Alternately, where does it shine, and where is it very difficult to make work? Are there speed or size issues? 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. This seems to be very difficult to find on the web. I did a basic search on these forums and didn't find much addressing this. If some has already been answered please post a link to the related topic. Thank you.
on 2008-11-17 19:22
on 2008-11-18 07:13
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 on average..." > 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 getting started. > 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? Which 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 HTH