A new logic for problem solving
Next: Challenges for software
Up: New efforts
Previous: Open-ended programming environments
The programmer's dream is to discover the ideal programming
environment that supports problem solving without
writing programs. The process programming language [23]
may be a step towards this goal. However, for this dream to become true
a new logic for problem solving with a computer
must be developed first. The essential characteristics of this
logic are:
-
The computation units in this logic are
processes rather than instructions executed by the computer.
The instruction cycle encapsulated in the hardware of a computer
system is such a process. But the process in this context is
viewed as the computation unit that reflects the programmer's
logic for problem solving
rather than the logic of the computation as performed by the hardware.
-
The algorithm describing a computation shows the flow of control
among processes performing various computation tasks that make up
the algorithm rather than control flow of computer instructions.
-
The program in memory and the program counter in the processor are
replaced by environment integrated tools and the interpreter
executing algorithms whose primitive operations are processes
of executing tools of the environment rather than machine instructions.
Steps towards the new logic for problem solving have already been
made by the fifth generation machines and related systems
[22], where
computation units are the operations of logic deductions, by the
abstraction management by definition, declaration, and application,
as implemented by the Hydra [26] operating system,
and by the software environments suggested by the Arcadia
corporation [23]. We notice however that the previous
research on programming environments tries to accomplish the goals
raised by the programmer's dream within the framework provided by
the ad hoc methodology for problem solving based on conventional
programming. To be successful we advocate the development of a mathematical
methodology for problem solving and a programming environment
design based on a new logic for problem solving, where the solution
of a problem is a linguistic expression of the solutions of other
simpler problems.
Next: Challenges for software
Up: New efforts
Previous: Open-ended programming environments