Loup Vaillant wrote:
Miles Fidelman a écrit :
Loup Vaillant wrote:
De : Paul Homer <[email protected]>
If instead, programmers just built little pieces, and it was the
computer itself that was responsible for assembling it all together
into
mega-systems, then we could reach scales that are unimaginable today.
[…]
Sounds neat, but I cannot visualize an instantiation of this. Meaning,
I have no idea what assembling mechanisms could be used. Could you
sketch a trivial example?
You're thinking too small! The Internet (networks + computers +
software + users), RESTful services, mashups, email discussion threads,
.... - great examples of emergent behavior.
"Emergent"? Beware, this words often reads "Phlogiston". (It's often
used to "explain" phenomenons we just don't understand yet.)
I believe it was Ilya Prigogine who won the Nobel Prize for his work on
"dissipative structures" - the gist of which is that if you pour energy
into a system, order emerges - essentially the inverse of the 2nd law of
thermodynamics.
I'd also observe that the nature of biological evolution is that various
kinds of building blocks (e.g., proteins, DNA), and that new levels of
order emerge from combinations of building blocks.
My observation is that today's large systems are not designed, they're
"complex, adaptive systems" (to use the current jargon) - where a lot of
the observed systemic behavior emerges from the interactions of users
and technology, when focused on particular applications. My favorite
example: walk into an Air Force operations center, and the screens
aren't covered with windows from fancy command and control systems,
they're covered with chat windows. When a new op center is stood up,
specific collections of persistent chat sessions emerge, over a period
of weeks, as relationships and information flows emerge in response to
the specific operational and mission environment. The result is a
rather complex person-machine-information_flow system that has emerged,
"on top of" a rather simple platform.
The examples you provided are based on static standards (IP, HTTP, SMTP
—I don't know about mashups). One characteristic of these standards
is, they are _dumb_. Which is the point, as intelligence is supposed
to lie at the edge of the network (basic Internet principle that is at
risk these times).
Your idea seemed quite different. I had the impression of something
_smart_, able to lift a significant part of the programming effort. I
visualised some sort of self-assembling 'glue', whose purpose would be
to assemble various code snippets to do our bidding.
I kind of think that, with the right building blocks (right = a
combination of useful, and presenting simple, composable interfaces),
users, environment, and application provide a framework for something
that looks very close to biological self-assembly.
Note that we have already examples of such things. Compilers, garbage
collectors, inferential engines… even game scripting engines. But those
are highly specialized. You seem to have in mind something more general.
But what, short of a full blown AI?
I see small because I see squat. What kind of code fragments could be
involved? How the whole system may be specified? You do need to program
the system into doing what you want, eventually.
That's where we disagree. Large, complex systems are, by definition,
more complicated than their component parts - and systems that include
multiple human beings are intrinsically beyond the comprehension of or
design by humans (we're components, after all). Maybe we can grasp
architectural principles, but details are beyond are cognitive
abilities. These days, we build platforms, turn them loose, and things
emerge on top of them - push information through them (and remember,
information = energy), and order emerges. (Another example: an email
list - the useful aspect are the conversational threads that emerge from
use, not from design.)
Miles Fidelman
--
In theory, there is no difference between theory and practice.
In practice, there is. .... Yogi Berra
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc