> Josh Stern comments someone else comment about Ruby's first-class
> objects:
[snip]
> I'd like to note that Ruby has Method class. You can check it's
> workings from
>
>    http://www.rubycentral.com/ref/ref_c_object.html#method
>
>    - Aleksi

Oh, I'm going to hate myself for this.

A small, seemingly inconsequential aspect of Method is that it needs an
Object to use.

Sorry, this is bad. In general, not all functions are methods. Some problems
do not require a context. Witness 'sort'. I am not changing the rules
here -- I complained that Ruby does not have first-class functions. A method
is not a function.

A function does not have inherent scope (other than globlal/namespace
scope). Does this make a difference? Perhaps not. But I don't need scope to
sort a range, I just want to sort it. Some things have no scope.

The distinction is important and relevant to my claim that Ruby does not
have first-class functions (as distinct from, say, C++, which has
first-class methods and first-class functions). It does redress the question
as being "Ruby has no functions at all".

What it comes down to is the fact that everything in Ruby is an Object. Now,
in the 80's and 90's this seemed a Good Thing. Is this true?

To quote Mr Stepanov: "To say that everything is an Object is to say nothing
at all". I am being petty? Not if it means that people wonder about the
efficacy of "function" versus "method". I will accept the critisism that I
am being spiteful, only if it is also taken one can be both accurate and
spiteful simultaneously.

Would it be hard to introduce an uber-object that represents global scope?
Probably not. It would change the landscape of the language however.

Better, you could have a hierarchy of 'uber-scopes', and do namespaces
properly. I say 'properly' because in C++ you cannot implicitly address your
parent namespace.

Christian.