Chad P. [email protected] writes:
Prior to this quote you provided, everything that has been said in
this discussion of Ruby symbols has seemed to indicate that there is
zero relationship between the two.
The first line of my journal (third post in this thread) already
mentions “The concept of symbols have been popular among the lisp
community…”.
So, there is not zero relationship between the two. Before coming to
ruby, I was already familiar with elisp and dabled some in CL. A quick
reading of the then scampy documentation of ruby Symbol revealed that
they are just different implementations of the same concept. But they
are not the same. ruby’s symbol is CL&elips symbol minus attributes
(symbol value, property list, etc.)
So tell me: Is a Ruby symbol basically just an object oriented
implementation of the Lisp concept of a symbol?
Yes: different implementations of the same concept. No: CL&elisp’s
Symbol has more functionalities.
If that’s the case, what’s up with all this tripe about “a symbol is
just a name” and so on?
Because it’s true? Because there are people who don’t have lisp
background who are not familiar with what symbol is? Because there are
people who thinks symbols are magical thingie?
I think these analogies are doing a disservice to people trying to
get a read on what a symbol is in Ruby.
This is true for all analogies. Different people are receptive to
different analogies. This simply means you are not receptive to the
analogy I made.
people are full of analogies and categorical statements
that don’t really explain anything
The basic message has always been clear: symbol is a mean for you, the
programmer, to name/identify entities. But somehow, people are having
difficulty understanding this and asked for more explanations. This is
when analogies and categorical statements came in.
Just as one does not dumbed down “‘everything’ is an object in ruby”,
which is a powerful ability, one should not dumbed down “symbols are
user-defined identifiers”. It’s just parts of learning curve.Dumb down? No, never. Try explaining it, though.
As this and many other previous threads about symbol have shown,
explaining the concept of symbol is not easy.
While you’re at it, define “identifier” within this context.
To help people understanding the meaning of ‘identifier’, I’ve been
mentioning it together with ‘name’: ‘name/identify’ as in “It is just
a way to name/identify things”.
In any case, there is only one definition of identifier so context
should not influence the meaning of it:
From WordNet (r) 2.0 (August 2003) [wn]:
identifier
n : a symbol that establishes the identity of the one bearing it
YS.