The Deal Was
We used to think of a program as something we 1) wrote, 2) ran locally and then 3) collected results for communicating to others after the fact. Then the web came along with powerful search engines, electronic funds transfer, remote computing and telecollaboration. With the advent of Java the possibility of running utility programs on remote servers arose. Simple applets blossomed everywhere.
The Deal Is
Now consider a meta level of programming. Where each line in a "program" is actually a request to a different server for a different kind of service. The ensemble of services provided by each of the servers constitutes a meta level of program organization. Programming the web as it were. This will require new constructs so that programmers do not have to look at lines like:
which is really just the Excite
fasteners AND "corrosion resistant" AND ("ISO" OR "Metric") AND manufacturers
to create a list of fastener suppliers.
The Deal Will Be
Let's say you were in the prototyping business. As a part of the prototyping task you would need nuts and bolts in a set of standard sizes and styles (style includes material).
// Simple Metagram
// The variables:
// fastenerOrder fastenerSupplierList, deadlineElapsedTime, quality, reputation are defined.
for each supplier in fastenerSupplierList
( Dear [supplier] \n,
please send me a list of your products in metagram format, tnx [salutation]
fastenerAnswers = getMessage(fastenerSupplierList, deadlineElapsedTime);
fastenerAnswersPrime = diff(fastenerAnswers.productList, fastenerOrder); // see if they've got it.
fastenerAnswersDoublePrime = sort(fastenerAnswersPrime, price, quality, reputation);
( dear [fastenerAnswerDoublePrime.from] \n,
please deliver the following products
Anyway, you get the idea...
Putting a human in the loop for pattern recognition and decision making would be just another, "subroutine call". First we had, "The Paperless Office". Now we have, "The Officeless Office".
You can contact moi by clicking on the name at the top of this page.