ENIAC programming Was: release dates of early microcomputer operating systems, incl. Intel ISIS

Paul Koning paulkoning at comcast.net
Thu Sep 17 20:03:02 CDT 2015

> On Sep 17, 2015, at 5:44 PM, dwight <dkelvey at hotmail.com> wrote:
>> From: spacewar at gmail.com
>> On Wed, Sep 16, 2015 at 4:18 PM, Dave G4UGM <dave.g4ugm at gmail.com> wrote:
>>> It is notable that in order to solve all problems, a computer must permit
>>> self modifying code.
>> From a theory of computation view, I don't believe that's true.  Any
>> computable function can be computed by a fixed program.
>> For a particular computable function, there may be a more efficient
>> implementation using self-modifying code.
>> On the other hand, computing a particular computable function may
>> require an arbitrariy amount of recursion, so it may take an
>> arbitrarily amount of writable memory.  The recusion may, of course,
>> be implemented as some equivalent that doesn't require the computer to
>> have explicit subroutine calls or stack, but the memory may still be
>> required.
> That may be true for computing but I'm not sure if it is practical
> for real time control of complex systems.

What is the "that" you're referring to?

Real time control just adds time constraints to the correctness properties.  Any programming technique is valid, so long as those additional constraints are also satisfied.  There's nothing in the use of recursion, or its avoidance, that has anything particular to do with real time programming.

It may be true that some programming techniques are hard to analyze as far as their timing is concerned.  (If so, their correctness in general is likely to be hard to establish, as well.)  But recursion isn't necessarily one of those.


More information about the cctalk mailing list