[comp.arch] Universal Programming Languge

nevin1@ihlpf.ATT.COM (00704a-Liber) (05/06/88)

[followups to comp.lang.misc]

In article <764@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes:

>I am not in a position to implement a language.

Yes, but earlier this year you made a claim in comp.lang.misc that you
could *design* a much better language.  How's it going?

>I have succeeded in
>designing an assembler for a particular machine, which actually could
>be easily made semiportable.

What does 'semiportable' mean??  Is that like semipregnant?  Or is it just
that it has infix notation, as you have claimed many times would be much
better than the current notation used now for most assemblers.

>The major problem with the languages, editors,
>etc., is the fantastic number of conventions.  I doubt that there is any
>language which has less conventional notation than any branch of mathe-
>matics.

Mathematics, AS A WHOLE (since you are grouping all languages together, it
is only fair to group all of mathematics together for comparison purposes),
has a much less conventional notation than the combination of computer
languages!!

>And the conventions of the languages are not usually not in an
>"alphabetical" arrangement, so that one can deduce one convention from
>the others.

This can't be done in mathematics, either.  What stops someone from
inventing a convention for something which someone else has already
invented for another purpose?  If I write dx/dt, do I mean derivative or
division??  And there are an awful lot of mathematicians who use ' in
notations for vastly different things.

>If you look carefully at the part of my posting quoted, you will see that
>I do not believe that a few people have the intelligence, knowledge, and
>imagination to design a language, editor, etc.

What do you believe, then??

>How many of the screen
>editors allow one to move vertically beyond the present scope of the line?
>How many allow one to tie two lines together (i.e., to allow the motion of
>characters in one line to move those in another)?

A lot.  It depends on what the editor is being used for.

>Why is there no WYSIWYG
>editor which produces its output in such a way that it can be translated to
>another system?

Assuming the other system can display a superset of the given system, there
is no reason why translators can't be written (and some already have
been).

>Of course, one cannot include everything.  But one can facilitate the 
>addition of those things.

Facilitate the addition of everything??

>Many mathematics papers introduce notation
>unknown to the reader.  Some of this even persists.  If a mathematician,
>or group of mathematicians, attempted to force the notation of a field,
>this effort would be profoundly resisted.  If they suggest a notation,
>they may or may not succeed, and it is quite possible that the terminology
>will be later modified.

Allowing ill-defined notation would be a GOOD addition to a computer
language??  I think not.

>This means that the extension mechanism is too weak.  Most extension
>procedures are overly restrictive, and do not assume that the user wants
>to, say, introduce an operation which is not of the type envisaged by the
>language designers.

Give me a break!!  Languages (other than Ada, anyway :-)) have
never been designed to allow everything (even mathematics).  In
mathematics, where extensions are usually given in English and NOT in terms
of previous formal mathematical constructs.  Don't expect computer
languages to do more than this (until the time when they can 'understand'
English, whatever that means).


Mr. Rubin, you have this obsession that mathematics is the best language
for everything.  You have also claimed that you can design a better computer
language than currently exists or has ever been thought of.  Are you
claiming that this language is indeed mathematics??

If so, then why don't you FORMALLY define exactly what you mean by the
language of mathematics.  By formal I mean that once you have described it
(you can even do so in English), it has to have all the mechanisms to allow
extensions, etc.  Once you have done this it has to pass a few tests:

A)	Addition of an extension (such as adding the notion of limits to
mathematics which previously did not involve limits).  We must show that
this is indeed the same language as what you keep teeling us mathematics
is.

B)	Ability to *easily* write the Unix kernal in it.  After all, it's
supposed to be the best possible language for all tasks.

C)	Must be implementable.  For instance:  it should not require more
RAM than the number of molecules in a pin.

When you can show that either your language or mathematics can satisfy
these conditions, then you can continue preaching.  Until you can do this,
stop these silly arguments!


and whatever else I can think of.
-- 
 _ __			NEVIN J. LIBER	..!ihnp4!ihlpf!nevin1	(312) 510-6194
' )  )				"The secret compartment of my ring I fill
 /  / _ , __o  ____		 with an Underdog super-energy pill."
/  (_</_\/ <__/ / <_	These are solely MY opinions, not AT&T's, blah blah blah