A revolutionary OS/Programming Idea

John Newman jmn381@yahoo.com
Thu Oct 2 02:49:02 2003


I was trying to learn programming and got very
frustrated.  I keep think, there's got to be an easier
way to do this.

I have also been looking into alternative OSs like
linux but found that it's way to hard to install
things on it.  An operating system should be much
easier.  Windows has me wanting everything to be
point-and-click--but I don't think that is a bad
thing, actually.

I came up with this idea for a new paradigm for both
programming languages and operating systems, so
started surfing the internet for key-words and, like
drift wood, I ended up here, at TUNES.

My idea is this:  Develop a Visual Programming
Language and make the operating system and the
language's IDE one and the same!

Now, I don't mean those frickin flow-chart things. 
They may work, but they don't seem any easier to
program on to me.  How am I supposed to know what all
those arrows mean?

So what can a lowly ignorant computer user like me
understand?  A file-system.  My grandma could
understand a file-system!  Take windows GUI
filesystem--nice little icons for me to click on to
make the file open, within which I find more nice
little file icons I can click on.  This should be the
basis of the programming interface!

Let me give an example what this c++ code below would
look like if it were represented as a filesystem:


#include <iostream>
using namespace std;

int main()
{
int num = 2; bool flag = 0;

if( (num == 2) && (flag) )
{
cout << "The first test is true\n";
}

else if( (num == 2) && (!flag) )
{
cout << "The second test is true\n";
}

else if( (num == 2) && (flag == 0) )
{
cout << "The third test is true - but unreached\n";
}

return 0;
}



But in the file format, each part or element is a
file, like so:

(I put numbers before each file to show clearly where
each lies in the hierarchy)


1-ifElseProgram //the parent directory/the actual file
-2-include //object primative
--3-iostream
--3-using //include-object primative(I guess;))
---4-namespace std
-2-main //file window's toolbar click
file->attributes->accepts_int (if not default)
--3-variable declarations
---4-num
----5-2.int //notice the file extention '.int' giving
'type'
---4-flag
----5-0.bool //or 'false.bool'
--3-if
---4-&& //or 'both/and'
----5-== //default two internal files with one being
and int
-----6-num
-----6-2
----5-flag
---4-then
----5-cout //or more appropriately 'output' (remember,
I'm an ignorant user)
-----6-truthTest1.string //Clicking this would open
the words below into a text file
------7-The first test is true
-----6-\n //or 'newline' (the statement could rather
be nested inside of this file)
---4-else
----5-if
-----6-&& 
------7-== 
-------8-num
-------8-2
------7-! //or not
-------8-flag
-----6-then
------7-cout
-------8-truthTest2.string
--------9-The second test is true
-------8-\n
-----6-else
------7-if
-------8-&& 
--------9-== 
--------10-num
--------10-2
--------9-==
--------10-flag
--------10-0
-------8-then
--------9-cout
--------10-truthTest2.string
---------11-The third test is true - but unreached
--------10-\n
--3-return
---4-0


With a graphical programming interface that is
oriented like a file-system, the ignorant user like me
could just drag-n-drop functions together into files. 
The above file structure would look much simpler if I
were to just open 'ifElseProgram' and find only the
'include file and the main file (well, we could add an
executable file that executes the source, even while
it is being changed).  Then I could open the 'main'
file and only see the files 'include,' 'if,' and
'return.'

But then again, this is c++.  Isn't "return" a little
extemporanious in this scenario?  From what I
understand, you guys (and ladies, perhaps) are using
stuff other than c++--forth, or something?

Well, hopefully, your language could 'play nicely'
with this programming paradigm.  If not, you could
always make a set of APIs to interface with it.


So why is doing it this way so necessary?

First of all, it would make it so much easier to copy
my email client directly into my text editor.  Or drop
a search bar right into my bookmarks tab.

I have a great idea for the design of the gui all
worked out.  The 'window explorer' is going to be
uniform through out the whole system--from the
variable declaration window to the top level system
files, to the control panel file, to the desktop
itself.

Second of all, about why it's so necessary, is because
if you make programming easy enough for anyone to do
it within your operating system, then the operating
system will practically build itself.  I can't help
you build at this moment because I don't know how. 
Make it easy enough and millions could jump on board. 
Then a true open source community will be made.

If you did it like that, I don't see how you could
ever stop if from becoming ubiquitous.  Free software
would be coming out of the woodwork!


Ahhh, that's better. Thank you for listening to my
crazy idea.  Please tell me how far off I really am
and if it's really possible to implement.  Thanks,

John

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