What we have learned (decades ago) is that global variables can be tamed
in the form of "dynamically scoped" (a.k.a "special") variables.
"The right tool for the right job," I always say. Well, I don't always say
that. It's not like I go around sounding off, "The right tool for the right
job! The right tool for the right job!" No. What I mean is this: there are
times when a particular thing is desirable, undesirable, times when it's an
overtly bad idea, and times when it is an exceedingly good idea, and all of
those states can stem from the same fundamental ability, device, or design.
We should all work together to improve one another. I'm very happy to learn
new things from people. I've learned a lot in this thread so far. But I
don't rush into each conversation waving my credentials so that everybody
knows what I'm talking about when I ask a question. So often times I get far
more information than answers to my question. I get philosophy as to why the
question I'm answering is likely a bad one, and so on. It does not seem to
be a common consideration of man that when someone asks a question there might
actually be a valid reason why they asked that question, but instead the need
to mold people into the things we each know seems to be foremost in our
intents and purposes.
I had one person reply to me in comp.lang.c++ on the subject of this thread
whereby he stated no fewer than three times in his four small paragraph
response that I didn't need to do what I was doing. I guess he was really
trying to drive home the point.
Coming from a deep assembly background I understand what is happening at the
machine level. I also have a high level background as with Visual FoxPro's
xbase implementation, which is the basis used for Visual Basic and what became
..NET. All of those current abilities can be traced back to that which we
first saw in Visual FoxPro 3.0, circa mid-1990s. It's why Microsoft killed
off Visual FoxPro ... they had to. It was too powerful, too small, and too
fast, and it had no native ability to control the software ecosystem due to
its historical licensing model of free unlimited runtime distribution with
each machine carrying out all of the work afforded by its total abilities
using a 13MB DLL install.
In any event ... my goals are to produce products which do not tie people's
hands, but rather open and expose everything so that people can share their
work, build atop one another's software (and not just at the compiler source
code level, but rather at the "this is my office suite" level, and so on).
I want people to get into the mindset of helping people, not profits, of
tearing down self-imposed walls which fight and rage against others, invisible
monopolistic fortresses around commodities like software which have unlimited
distribution for essentially no cost were it not for the barriers imposed by
men who say, "NO! YOU CANNOT HAVE IT UNLESS YOU PAY!!"
I'm trying to change the paradigm itself, top to bottom, front to back,
and it begins and ends with a focus upon Jesus Christ, and His teachings
that we should "love our neighbor as our self," because they are the true
foundations of love that permeate all such endeavors. It comes from Him,
to us, and we are to receive it, and give it back to Him, and unto others.
It's why the Liberty Software Foundation exists. It's why Village Freedom
Project exists. It's why I'm spending all of my time writing RDC and Visual
FreePro. It begins somewhere, with someone, focused on giving unto others
upon the foundation which is Jesus Christ. And I am trying very, very hard
to do this. And I am succeeding ... slowly.
Best regards,
Rick C. Hodgin