I'm with you on the Ruby fans seem like Apple fans.<p>Based on your comment about web programming, you are talking about Ruby on Rails which is the web framework for the Ruby language.<p>I've just gone back to learning RoR after trying it a few years ago. I'm normally a PHP programmer, but have been playing with some RoR with MongoDB stuff.<p>My take on it coming from a regular LAMP is that RoR has lots of gems (packages) that are easy to install and use.<p>The code generators get you up and running really quickly, though I'm not actually a fan of most generators.<p>RoR applications have a rather specific structure. I think it is deeper than MVC, as there are naming conventions for functions, variables/collections, etc.<p>The structure is good because it is fairly easy to back-trace through somebody else's code to see what they've done.<p>What I'm finding really challenging is that there are so many small details that are hidden from the code.<p>For instance, in RoR, 'render' is like an include file, but you don't actually have to type the name of the file or where it exists. Based on the naming schemes and structure of RoR it gets the variable/collection and file name because everything has the same name.<p>What I haven't found is a place where it explains what RoR is doing, so you know that when you have an error, this is why.<p>I think we are just supposed to blindly follow the 'it just works' mantra, which has never really worked for me with Apple, and I'm barely holding it together with RoR.<p>As far as documentation goes, it is tough to beat PHP. The documentation is really good, and the language/framework doesn't do the work for you, so you build a page, put something into the db, get it out, put it on this page, call it from that page, etc. You build your own structure so you know where things are and how things work.<p>The tutorials I've seen keep going through the very same basic stuff of getting RoR to build crud operations for you, or how to change a view. But getting into the meat of RoR is proving to be much more difficult.