From: Simon McClenahan (email@example.com)
Date: Fri Jul 20 2001 - 18:46:41 MDT
----- Original Message -----
From: "Durant Schoon" <firstname.lastname@example.org>
Sent: Friday, July 20, 2001 7:04 PM
Subject: RE: Languages and AI
> > From: "Ben Goertzel" <email@example.com>
> > Why on earth do you folks want logical control to be expressed in XML,
> > anyway?
> For my purposes, I want to be able to visualize code, reading a
> common description of language independent algorithmic components.
> XML makes a nice common format that will have lots of tools
> available for manipulation. And is powerful enough to represent
> most any data structure I can think of.
I would just like to point out the term "visualize" here. Very good.
> 1) Create graphical animated *INTERACTIVE* representations of what
> transpires during program execution. This will help other programmers
> see what's going on (we are a heavily visual species)
This falls under the category of Data Visualization, and if you want to do it at
run time infers you have a profiling tool that visualizes said data. Sounds like
a Sysop to me. I think there will come a point (a.k.a. Singularity) where we
will not be able to understand this data no matter how it is human-visualized.
and will help
> in the same way that patterns form a common understandable mental
> models. The structure of programs, with all their dependencies is not
> captured all that well by mere text (though text can be a great way
> to enter programs). Programs themselves should be thought of and
> manipulated as rich data structures! (ie. graphs of interdependencies,
That requires a modelling language, like UML. But isn't a program just a
specific implementation of a model? Also, hardly anyone programs in straight
text these days. Programmers have an IDE or a text editor, or use their own
indenting scheme in a basic text editor (unless you're writing an entry for the
Obfuscated C Programming Contest), which highlights comments in green, keywords
in bold, etc. None of these visual embellishments affect the code whatsoever
(unless it affects a buggy compiler). There is a standard, XML based, for the
exchange of program metadata such as this, called XMI (XML Metadata Interchange
I think). Rational, IBM, and other big players support this standard.
> 2) Map to all other programming languages (both ways, ie.
At least in the object-oriented programming paradigm, XMI allows you to create a
model, then you can import it into any IDE with programming language support you
want. See TogetherSoft for their integrated modelling and source editor IDE. It
supports Java (of course), and supposedly C++.
> 3) Once a nascent programmer AI starts spitting out programs of
> ver own, I'd really want to be able to understand them. Pretty,
> animated pictures which hilight dependencies and causalities
> seems like the best thing to me. If mappings existed to other
> programming languages, the AI could start studying the body of
> open source software to determine what is useful and what isn't.
> With the parse tree also in XML (ie. Flare as Eli suggests), the
> AI learning to code would have access to making all sorts of
> optimizations at all levels.
Like I mentioned in a previous email, I think something would be lost in the
translation between one language and another. For example, is it possible to
take Java source and convert it to Fortran? Or to English? And if you took the
result and translated it to Java, would it be _exactly_ (functionally) the same
program as the original?
This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:37 MDT