A revolutionary OS/Programming Idea

John Newman jmn381@yahoo.com
Sat Oct 4 00:51:02 2003


Hi Xiao Feng,

you say,

> Basically, if I understand correctly, your
> idea is only a
> graphical syntax editor, which will have
> difficulties when dealing with
> real world applications.

One problem, I don't know what you mean by "syntax
editor."  In my view, it is an "everything" editor. 
It is a 'builder.'  For building applications,
functions, absolutely any algorithm conceivable.  So I
can't, by myself, point to where you are difficulties
you are mentioning would arrise.  Perhaps you could
explain.

> I mean, your file system is
> actually another
> representation of source code, with only syntax
> considered (partially).

What do you mean by "only syntax considered?"

As far as I can surmise, my scheme would not
necessarily depend on any particular syntax.  One
could, if one so chooses, construct any syntax, or
language for that matter, with the primitives of the
system.  Perhaps you could enlighten me further on
this matter.

I mean, what tools to programmers use to create
entirely new programming languages?  Those tools must,
to some extent, be syntactically language independent.
 Make those tools the basis of the graphical system. 
Then let anyone implement any syntax or language on
top of it.  Am I not making any sense here?

You said,
> You are trying to add into it some semantics, but
> without a clear clue.
> For example, you want to drag outlook client and
> drop it into your file
> system, but what do you mean by dropping it there in
> some folder? Do you
> want to receive an Email, or want to make a copy of
> it in a new place? 

Suppose the application I wanted to put outlook into
was a java application, and outlook was written in
C++.  Obviously, I'm not saying that would work.  But,
ideally, someone would implement a language on this
system that could accept conversions from java and
c++.  Anyway, in accordance with what some are calling
'concurrent' and 'persistent' languages, all objects
and data structures would exist in only library,
callable by all other functions in the library.  So
when I copy some of the objects of the outlook
application into my text editor folder, both copies of
the objects will call upon an original copy of the
objects in the library.

So, for instance, I could drag and drop the whole
outlook program into my text editor, and only make
visible in my text editor an address bar and a send
button.  But I'm not actually making a whole new
outlook application within my text editor.  The new
added source code in my text editor folder simply
calles upon one and only outlook program that is
stored in the library, in the manner in which it is
implemented in the text editors source file.  

This is a good time to address some of Lynn's earlier
comments

Lynn, you previously said,

"
When we consider reuse then we need to consider it
down to 
the statement level.  When we change a statement we
need 
the option of reflecting that change up to an
including every 
use instance in every application.  

We need three things.  One, we need to have a source
library 
in which only one copy of a source statement exists. 
Two, 
we need to give the source statement a unique name. 
Three, 
we need to use that name instead of the actual source
in all 
of its use instances.
"

>From what I gather from these ideas, each and every
object, every construct down to the somewhat lowest
level of the most basic procedures, should have its
own signature--something like a hash value.

All constructs, functions, objects, classes, programs,
applications, whatever, should be part of the same
library.  If a new application is installed that uses
many of the same objects or functions as an
application previously installed, it doesn't reinstall
those objects that have the same hash value as those
which already exist within the systems library.  The
new application simply calls upon an functions hash
value.  A new function that is made of two or more
stored functions is simply given it's own hash value,
for later use if needed.  This way, all functions are
only installed once, programs that utilize only
functions that already exist in the library can be
stored as simply a sequencial list of hash values,
and, if one functions has a bug, it can be modified,
given its new appropriate hash value, and a call can
be sent out to all objects that call upon that
function to change hash signature in there hash list.

So, say, in my outlook program, I fix a bug or change
the backround color in the the address bar object (the
address bar object may even be a stand alone object
that the outlook happens to call upon).  Then this
change would automatically create a new hash value,
automatically send a call out to all other objects to
update their own hashes, and now, when I open up my
text editor, the address bar automatically calls upon
the new and improve address bar function.

The great thing about hash values is that it is
virtually impossible for to sets of data to create the
same hash value, so giant hash based library may be
able to be concurrent across the WWW.

Lynn, you say,
"
Now just where do you pick your starting level for
visual 
programming?  How do you do global maintenance?

I suspect you haven't considered statement reuse as an
issue, 
much less that required to give each statement a
unique 
name.  I suspect this because of the continued
reference to 
file systems, which renders statement reuse not
impossible, 
but impractical.  You don't see the continued use of
file 
systems as a hindrance to lower program maintenance as
you 
don't see the costs in time and effort that file
systems 
contribute.
"

I don't understand, Lynn.  How do you figure that this
file-system oriented IDE (which is just an absraction
of any given hierarchical procedure, mind you) creates
a hinderance to the concurrent library that I think
you are talking about?




--- "Li, Xiao Feng" <xiao.feng.li@intel.com> wrote:
> Hi, John, in my view, the problem of your proposal
> is not if it is
> graphical or not, but how to express the program
> semantics easily with
> icons.  Basically, if I understand correctly, your
> idea is only a
> graphical syntax editor, which will have
> difficulties when dealing with
> real world applications. I mean, your file system is
> actually another
> representation of source code, with only syntax
> considered (partially).
> You are trying to add into it some semantics, but
> without a clear clue.
> For example, you want to drag outlook client and
> drop it into your file
> system, but what do you mean by dropping it there in
> some folder? Do you
> want to receive an Email, or want to make a copy of
> it in a new place? 
> 
> -xiaofeng


__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com