The point isn't that you can't run other OSes on Mac hardware. The point is you can run OS X only on Mac hardware.
This argument has been going on forever, of course. But that doesn't mean it doesn't make sense. It would be nice if you could run OS X on any old cheap hardware you chose, rather than the overpriced machines made by one company. That's the normal state of affairs for virtually every other OS people care about.
Definitely. Learning the advanced features of Ruby will give you a big boost using Rails -- especially metaprogramming, which is something that few other frameworks employ.
I just noticed that that's where the guy pulled his example from! I also noticed how badly it supports his argument. That definition of the blog-post class also gives you accessors and a constructor, which would be more verbose to define in Java or C++.
The joke is that he implies the languages' FP orentation causes them to have clunky ways to define classes. Ruby is a good counter to that argument. It has one of the cleanest class-defining syntaxes out there. And you can actually write your own functions that behave like "attr_accessor", making your class definitions even more readable.
Guess how you do it? A combination of metaprogramming and closures.
The clarity, or lack thereof, of the way various languages define classes has nothing whatsoever to do with the utility of functional programming. I don't think these examples could have missed the point more.