"Bill Modlin" <·······@metrocast.net> wrote on Fri, 26 Sep 2003:
<snip>
>>> If I wanted to explain how one of my programs worked
>>> I would not give someone a print out of the code.
>>> First I would explain it in higher level (folk psychology?)
>>> terms and then explain how I embodied these ideas in actual code.
>> I'm not sure why - especially if the person you're explaining it to
>> is a programmer and knows the language.
BM:
> For the same reason that all good programs are liberally annotated
> with comments. Programming languages are for controlling computers,
> not for communicating with people. It is laborious and error prone
> to attempt to discover the purpose of an algorithm implemented by
> a bit of code just by inspecting that code.
ATM:
Nevertheless the original source code has to be made available, e.g.
http://www.scn.org/~mentifex/jsaimind.html -- AI Mind in JavaScript;
http://mentifex.virtualentity.com/mind4th.html -- Mind.Forth PD AI.
BM:
> This is true even for the original author of the code.
> Code that seemed crystal clear and obvious at the time
> you wrote it is often indecipherable when a year later
> you are called upon to adjust or fix it in some fashion.
ATM:
The factoring of Forth and the hierarchy of objects help here,
plus liberal comments and statements at the end of each Mind-
Module explaining to what other Module program-flow returns:
http://mentifex.virtualentity.com/progman.html -- Modules.
BM:
> Of course, the extensional function of each line of code is obvious
> to anyone who knows the language. There is no mystery in a line of
> code that says to increment the value of some variable by two:
> it says exactly what is to happen. [...]
> Literal quoting of code is sometimes a useful adjunct to understanding
> of function. We all generally like to have actual source to work with.
Yes, and so the AI4U (AI For Your) textbook of artificial intelligence at
http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?ISBN=0595259227
contains a full source-code listing of the AI Mind-1.1 in MSIE JavaScript.
On September 24, 2003, a rather mean-spirited reviewer at B&N, hiding
behind anonymity, complained that "This book is not really a textbook
because it explains nothing. It rather is a collection of 'modules'
which the author expects the reader to implement" -- without pointing out
that the AI Mind modules are already implemented at the end of the book.
Now this author is indeed trying to get Minds coded in XYZ languages:
http://mentifex.virtualentity.com/cpp.html -- C++ with new AI code;
http://mentifex.virtualentity.com/java.html -- see Mind.JAVA #1 & #2;
http://mentifex.virtualentity.com/lisp.html -- Lisp AI Weblog;
http://mentifex.virtualentity.com/perl.html -- first Perl module;
http://mentifex.virtualentity.com/prolog.html -- Prolog AI Weblog;
http://mentifex.virtualentity.com/python.html -- Python AI Weblog;
http://mentifex.virtualentity.com/ruby.html -- Ruby AI Blog (OO AI);
http://mentifex.virtualentity.com/scheme.html -- Scheme AI Weblog;
http://mentifex.virtualentity.com/vb.html -- see "Mind.VB #001" link.
BM:
> But it is only an adjunct: the necessary ingredient for understanding
> of non-trivial function is explanation of the principles of operation
> in human-interpretable language.
ATM:
I have created every conceivable instrument of explaining the AI Mind.
http://mentifex.virtualentity.com/acm.html is Steps to DIY AI.
http://mentifex.virtualentity.com/standard.html -- AI Standards.
http://mentifex.virtualentity.com/variable.html -- AI Variables.
BM:
> Given the code one may never understand what it is for.
ATM:
Recently I have been meeting in person with an incognito engineer
who has volunteered to attempt to translate (port) Mind.Forth into
http://mentifex.virtualentity.com/aicppsrc.html AI C++ Source Code.
BM:
> Given an understandable explanation of just what is to be done
ATM:
Nothing beats having a one-on-one interactive discussion of
what is to be done to code AI and how to do it. That optimal
option is why I have a dreamworld fantasy of hiring out to CS
departments and AI labs to have my primitive but AI-coding
brain picked clean and dry of any contribution I make to AI.
> and how to do it, any programmer can produce new code
> for a function readily enough: having an actual worked out
> version to go by is a dispensable luxury. [...]
A.T. Murray
--
http://mentifex.virtualentity.com/lisp.html -- Lisp AI Mind Weblog
http://www.amazon.com/exec/obidos/ASIN/0595654371/ -- AI Textbook;
http://www.sl4.org/archive/0205/3829.html -- Goertzel on Mentifex;
http://doi.acm.org/10.1145/307824.307853 -- ACM SIGPLAN Mind.Forth
·····@victoria.tc.ca (Arthur T. Murray) writes:
> "Bill Modlin" <·······@metrocast.net> wrote on Fri, 26 Sep 2003:
> <snip>
>>>> If I wanted to explain how one of my programs worked
[...]
Please don't play silly buggers with the Newsgroups and Followup-To.
If I wanted to read this I wouldn't have killfiled all cross-posted
articles.
-dan
--
http://www.cliki.net/ - Link farm for free CL-on-Unix resources