[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Low-level vs. High-level programming (was My First Computer)



"Randy McLaughlin" <randy@nospam.com> wrote in message
news:YHJJa.480$XR4.285@fe03.atl2.webusenet.com...
> I could be wrong but I have been assuming that when you have been refering
> to Turing you were refering to his "Turing engine".  He defined the
> computer, not the computer programming engine.  In part to pass the
machine
> must be able to be prgrammed, not define the program.  The difference is
> technical and gray with the advent of VM's, but as I understand it he
> defined the platform.  If you are refering to something else please let me
> know (Turing test etc.).  Then again I could be misunderstanding the
engine.

The Turing machine is a handy way to express computation.  It's handy
because it's easy to understand, easy to program to accomplish simple tasks,
and so far, sufficient to accomplish almost all tasks that people think of
as 'computation'.  There's nothing magical about Turing machines, just like
there's nothing magical about the hunk of platinum used as the 'meter'
reference - it's merely a known quantity.  If there's anything cool about
it, it's that so far when researchers invent a new way to express
computation, we generally find out that it's no more powerful than a Turing
machine.

By requiring 'Turing completeness' in my definition, I'm requiring that
anything that claims to be a 'computer programming language' express some
minimum level of computation.  HTML and the other markup languages don't
express *any* computation as far as I can tell.

I'm not picky how you express computation: state transition functions for
Turing machines are fine.  As are most CPU ISAs, virtual CPU ISAs, string
rewriting systems, function invocation systems, whatever.  But you've got to
have computation, according to my definition.

Kelly