lua-users home
lua-l archive

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


On Wed, Mar 6, 2013 at 2:51 PM, Sean Conner <sean@conman.org> wrote:
> It was thus said that the Great Coda Highland once stated:
>> On Wed, Mar 6, 2013 at 2:22 PM, José Passes <jose.passes@gmx.com> wrote:
>> > On 03/06/2013 09:56 PM, Coda Highland wrote:
>> >>
>> >> This is a common fallacy. Being Turing-complete only determines what
>> >> algorithms you can compute, but there's a lot more to programming than
>> >> just algorithms. INTERCAL is Turing-complete, but it can't open any
>> >> windows on your screen; Conway's Game of Life is Turing-complete, but
>> >> you can't use it as an embedded script interpreter.
>> >
>> >
>> > I'm sure that if you put enough money on the line, someone will be keen to
>> > prove you wrong.  Turing-complete is all it is actually required, the rest
>> > is just implementation details, and the amount of legwork it would take to
>> > prove a point.
>> >
>>
>> Those implementation details are what define the differences between
>> languages, therefore the claim stands. If you did the legwork to
>> extend INTERCAL to be able to call C libraries, the resulting language
>> would no longer be INTERCAL, but INTERCAL with extensions;
>> alternatively, if you wrapped INTERCAL with a shell that parsed the
>> output of an INTERCAL algorithm and invoked an outside function based
>> on that, you haven't made INTERCAL able to do it but instead you've
>> constructed a system that can do it using another language.
>>
>> /s/ Adam
>
>   The following video:
>
> http://www.youtube.com/watch?v=xP5-iIeKXE8
>
> shows an implementation of Conway's Game of Life, written in Conways' Game
> of Life.  Granted, the bottom layer of this is written in something else,
> but it's turtles all the way down.

Conway's Game of Life is an algorithm. Any Turing-complete system can
compute Conway's Game of Life to any desired number of generations.
That doesn't mean it's capable of displaying the output graphically.

Long story short, my point is not to be a pedant, but to COMBAT
pedantry -- the Turing tarpit is a dangerous trap laid by pedants. A
programming language is more than just something for computing
algorithms. Comparing programming languages based on what algorithms
they can compute isn't going to get you anywhere, and a
non-Turing-complete language may be substantially more useful in
PRACTICE than a Turing-complete one based on the other features. The
statements of "Turing-complete" and "possessing of useful features"
are orthogonal.

/s/ Adam