On 3/20/07, David Clark <[EMAIL PROTECTED]> wrote:
Java has static typing and no introspection. It has no way of making programs of itself and then executing them. Multiple running programs require very expensive multi-threading and the huge mutex overhead for synchronization.
Java has more complete introspection than any language other than Prolog or LISP, since about version 1.4. See the docs for the reflection package. Java's native threads are heavy, but Cybele, an open-source agent-based programming system, solves that problem. As to synchronization - Why would you synchronize modules? There are advantages to synchronizing distributed dynamic representations, but if we're already committed to a module-based approach, we're already throwing that out the window anyway. Any architecture using modules that must be synchronized is suspect to me. I've done a lot of agent-based programming, and synchronization is just asking for trouble. Sometimes it's good to have everybody synchronized to the same clock, but that's as far as I would go. - Phil ----- This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303
