draft Tunes FAQ
David E. Manifold
tril@bespin.ml.org
Wed, 28 Jan 1998 00:46:50 +0000 (GMT)
I started writing, and it ended up as sort of a FAQ, so I ask for your
feedback. What should I add, and what doesn't make sense? (What is
blatantly wrong?)
Table of Contents:
What is Tunes?
What makes Tunes different from other languages?
What does TUNES stand for?
Won't TUNES be slow?
Will TUNES be compatible with current systems?
Is TUNES easy to use? Is TUNES hard to program in?
What effect will TUNES have on the computing world?
Will TUNES be free?
What is the current status of the TUNES development?
What is Tunes?
Tunes is a language. It is a computer language, because you use it to
communicate meaning to computers. When you use a computer, no matter what
you are doing, you are using a language. Programming uses one kind of
language. Entering commands uses another. Even when you use a pointing
device and graphical interface, you are using a special language. Tunes
is a general-purpose language, so you can do any of these activities with
it.
What makes Tunes different from other languages?
Tunes is made of very small parts (fine grained), each of which can be
changed (dynamic), separately from all the rest (generic), without outside
help (reflection). Each part's meaning can be at any level, from general
to specific (higher-order). No other language has successfully
incorporated all of these features at the same time. (See Languages
Review)
What does TUNES stand for?
Tunes is a Useful, Not Expedient, System. Tunes is "useful" because it is
designed to do exactly what you want and no more. It is "not expedient"
because it does what you want, instead of what someone else thinks is
expedient. Getting your job done is more important than doing someone
else's job in a hurry.
Won't TUNES be slow?
Don't make judgements about the system's performance, when it doesn't even
exist yet. Current "object oriented" systems are said to be slow because
"objects" are very different from what a computer is designed to
understand. First: If the fat were cut out of current "OO" systems, they
probably would run a lot faster. Second: special hardware can be designed
for TUNES, so it doesn't matter how slow it runs, as long as it is useful.
Will TUNES be compatible with current systems?
TUNES will be able to assimilate any existing computer functionality,
whether it be a language, interface, API, environment, or protocol. TUNES
will display the message:
"We are TUNES. Drop your proprietary licensing agreements and prepare to
be assimilated. Your logical and computational distinctiveness will be
added to our own. Resistance is futile."
Is TUNES easy to use? Is TUNES hard to program in?
When you're in TUNES, you are not a "user" or a "programmer." They are
both the same thing. You can't use TUNES without programming it.
Programming TUNES is using TUNES. This means users have power, and
programming is easy.
What effect will TUNES have on the computing world?
The rate of software development will increase, as well as the overall
quality of software. People will get more done using computers, be less
frustrated, and be more optimistic about technology. Less time will be
wasted on "coding" the same things over and over again, so progress can be
made. Hardware will become obsolete much slower. Software makers will
have to adjust to become more service-oriented, instead of
product-oriented.
Will TUNES be free?
Yes. TUNES will be distributed under the GNU General Public License,
although the GPL may have to be changed to reflect the unique nature of
TUNES, since TUNES will alter the very meaning of the word "software
program."
What is the current status of the TUNES development?
I am currently working on the draft specifications for the TUNES language.
I don't think anyone else is actively doing anything for the project.
David E. Manifold <dem@pacificrim.net> http://www.pacificrim.net/~dem/