Re: What does the future of computing hold?
- From: Ben C <spamspam@xxxxxxxxx>
- Date: Fri, 17 Nov 2006 04:06:32 -0600
On 2006-11-17, Logan Shaw <lshaw-usenet@xxxxxxxxxxxxx> wrote:
Ben C wrote:
On 2006-11-16, Logan Shaw <lshaw-usenet@xxxxxxxxxxxxx> wrote:
Rob wrote:
On the other hand I've searched the web and have found several[ ... ]
articles on the topic. Such articles predict:
* "self-writing software"?IMHO, "self-writing software" is definitely possible. However, it's
likely that it's completely useless and a total waste of time unless
someone invents "self-writing specifications". I think the hard work
is in turning an informal problem specification into *any* kind of
formal description.
I think turning even a formal specification into code is also very hard
work for a computer. We are nowhere near being able to do that today.
You couldn't, for example, tell the computer you want to minimize a
linear function subject to some linear constraints and it invent the
Simplex algorithm all by itself, even if you tell it in computer
language rather than in natural language.
True, although I think you could build up a library of algorithms
(with formal descriptions of what they accomplish) and it could do
pretty well, at least better than some of the people out there
right now. (We've all seen some completely crazy stuff, right?)
As for the question of whether it's hard for a computer to convert
a formal spec into an implementation, it's definitely non-trivial,
but it seems like it is possible to do this. One fairly obvious
way is to use the techinque that (as I understand it) planning and
scheduling (read: AI) people use, which is this: define things in
terms of formal logic. The start state is expressed as a set of
givens. The possible operations are expressed as a set of
theorems. The target state is expressed as a theorem to be
proved. Then generating a plan to transform the universe from
its start state to its target state is reduced to automated
theorem proving.
Hmm, not sure how that works, unless it's trying sequences of the
possible operations at random. It's one thing to prove a theorem, quite
another to invent one. Monkeys on typewriters etc.
I found this an interesting book:
http://web.comlab.ox.ac.uk/oucl/publications/books/PfS/
Morgan's idea is to see program refinement as a continuous series of
refinement steps from abstract specification to implementation. Each
refinement step is equally formal, but the first few steps have to be
taken by humans. He uses a single programming language to express all
refinement steps; it's just that not all programs in this language can
be executed by computers.
Natural language comprehension is only the tip of the iceberg of the
problem of how to simulate human intelligence on a computer.
They can beat most of us at chess, but we can pick other games they will
thrash us at totally, and other games at which we will totally thrash
them. Chess happens to be somewhere in the middle. But we really don't
have a lot in common with them at all.
.
- Follow-Ups:
- Re: What does the future of computing hold?
- From: Malcolm
- Re: What does the future of computing hold?
- References:
- Re: What does the future of computing hold?
- From: Ben C
- Re: What does the future of computing hold?
- From: Logan Shaw
- Re: What does the future of computing hold?
- Prev by Date: About Bash Scripts , modularize and var scropes
- Next by Date: solution required
- Previous by thread: Re: What does the future of computing hold?
- Next by thread: Re: What does the future of computing hold?
- Index(es):
Relevant Pages
|