These theories all miss the basic point. Yes, Rails is not a good way for a beginner to learn proper professional programming. The proper way to do that is to write nice, fairly-mathematical code in Scheme or Python until you understand recursion, algorithms, etc.
But learning to become a professional programmer isn't most people's goal. Rails is the fastest way to go from "I want a webapp that..." to "I have a webapp that sorta..." and it is that ability to build useful, visible things very quickly (even if they have lots of bugs and problems) that gets people interested enough in programming to actually sit down and learn the hard parts.
But learning to become a professional programmer isn't most people's goal. Rails is the fastest way to go from "I want a webapp that..." to "I have a webapp that sorta..." and it is that ability to build useful, visible things very quickly (even if they have lots of bugs and problems) that gets people interested enough in programming to actually sit down and learn the hard parts.