I read the list archive last night. Took me 5 hours. I think a lot has come into focus; I think I'm starting to understand what Jeff is jumping up and down about. What I have in mind is a "Forth Machine" that can be used for developement of software for "Forth Appliances". Lets start with the big picture. If every application runs on its own little computer, instead of being multitasked, how do they communicate? Do they need to? I have the beginnings of a vision. Take the world of Forth Appliances that Jeff Fox has painted. It strikes people that something is missing. Think it through. There are more pieces that need to be added, but the ones Jeff and Chuck are working on are the fundamental ones that will enable the rest. 1 part is the developement box; a Forth Machine. Think of the old Commodore 64's. Now imagine instead of BASIC, it had FORTH, and it came in a chassis that looked something like an iMac. Something colorful and glossy that would make people drool, then when they see you typing in cryptic forth words, their jaws drop. It would be a developement box, but would let you play games and run a few well defined applications. Probably have 75 Forth Chips inside. It would have a few incredibly cool graphic and sound demos to make people think "wow, this is a fun platform, and it will let me program this kind of stuff myself??? It won't hide the essential bits from me???" Another part is "storage" devices. Not every application will need a filesystem, but persistent storage is a common need. Why not take an 80G harddrive, stick a forth chip with some kind of network or fast serial circuitry on it, and provide a very simple protocol for other forth applications to request a file and get data, and store data? "Storage" would be an application itself. Heck, why not use fiber optic? Mainframe computers right now use fiber optic line to connect the "computer" to the "harddrive" which can be up to 9 miles away. Let the harddrive handle any "concurrency" issues if it must be shared among applications. Storage is important, because you need a place to put your webpages, graphic images, MPEG movies, MP3 music files, and important documents. I am assuming a common data store has benefits. I'll have to mull it over. Maybe a bunch of small data stores would have benefits, maybe not. Whats needed is a good, efficient way to network a home-size area, like the M$ concept of a "workgroup". Bluetooth is trying something along these lines but it requires use of patented IP that is NOT royalty-free. Another issue is graphics and sound. Are stereo speakers and television screens going to become cheap and ubiquitous? See, we may no longer be tied to the CPU as we were to the central motors of yore, but what about computer monitors, stereo equipment and the like? I don't have a problem with each of these "devices" presenting itself as an "appliance" in its own right, which other appliances could talk to with some very efficient protocol. The device itself would have to handle any contention and concurrency issues. However, I am not everyone. Does anyone else see a problem with that way of doing things? For instance, an application that prints a page may instead ship itself over to the printer, run itself on the printer device, and print the page directly... It would all depend what was faster or more efficient. Jonathan Walther PS: I was involved with USB driver developement. I saw the Microsoft header files used to make it "work right". It is the most BLOATED piece of CRAP I have ever seen. For every single bit of information you send over USB, you are almost guaranteed to send 64 unused bytes. And thats conservative. -- I am working to subvert from within ... umm ... by writing shoddy code ... and charging too much. -- Colin, Aug 21, 2001
Attachment:
pgpnugxPhlzUC.pgp
Description: PGP signature