From: Mike Cox
Subject: A programming language is...
Date: 
Message-ID: <2o9v3dF8elcoU1@uni-berlin.de>
...anything that has a loop.  Since HTML doesn't have a loop anywhere, it is
not a programming language.  Simple as that.

PHP, Java, LISP all have loops, so they are programming languages.  That is
the one and only criteria for something to be called a programming language.
Hope that settles that discussion.

From: Tomasz Zielonka
Subject: Re: A programming language is...
Date: 
Message-ID: <slrnchvhv2.ibr.t.zielonka@zodiac.mimuw.edu.pl>
Mike Cox wrote:
> ...anything that has a loop.  Since HTML doesn't have a loop anywhere, it is
> not a programming language.  Simple as that.

I think you mean a _general purpose_ programming language. And no, not
all GPPLs have loops.

Best regards,
Tom

-- 
.signature: Too many levels of symbolic links
From: Mike Cox
Subject: Re: A programming language is...
Date: 
Message-ID: <2oa098F8ej4hU1@uni-berlin.de>
"Tomasz Zielonka" <··········@zodiac.mimuw.edu.pl> wrote in message
······························@zodiac.mimuw.edu.pl...
> Mike Cox wrote:
> > ...anything that has a loop.  Since HTML doesn't have a loop anywhere,
it is
> > not a programming language.  Simple as that.
>
> I think you mean a _general purpose_ programming language. And no, not
> all GPPLs have loops.

Then they are not programming languages.  HTML is not a programming language
because it doesn't have a loop, but JavaScript *is* a programming languages
because it does have one.

HTML is a markup language.

What GPPL, in your mind, doesn't have a loop and is still a programming
langauge?  Most likely it is NOT a programming language because loops are
the litmus test on whether something is or is not a programming language.
From: Hannah Schroeter
Subject: Re: A programming language is...
Date: 
Message-ID: <cfojb5$dkp$1@c3po.use.schlund.de>
Hello!

Mike Cox <············@yahoo.com> wrote:

>What GPPL, in your mind, doesn't have a loop and is still a programming
>langauge?  Most likely it is NOT a programming language because loops are
>the litmus test on whether something is or is not a programming language.

Haskell.

Kind regards,

Hannah.
From: Christopher C. Stacy
Subject: Re: A programming language is...
Date: 
Message-ID: <ullggcavl.fsf@news.dtpq.com>
>>>>> On Sun, 15 Aug 2004 13:23:33 -0700, Mike Cox ("Mike") writes:

 Mike> ...anything that has a loop.  Since HTML doesn't have a loop anywhere, 
 Mike> it is not a programming language.  Simple as that.

I guess APL is not a programming language.
(Well, actually, APL does have loops, but they're not used much, 
and are not normally used for the same purposes as in other languages.)

But HTML of course has loops, anyway.
Now perhaps you'll argue about whether it has state.
Eventually we can argue about the meaning of "is" is.
From: Joost Kremers
Subject: Re: A programming language is...
Date: 
Message-ID: <slrnchvqem.j0m.joostkremers@j.kremers4.news.arnhem.chello.nl>
Mike Cox wrote:
> ...anything that has a loop.  Since HTML doesn't have a loop anywhere, it is
> not a programming language.  Simple as that.
>
> PHP, Java, LISP all have loops, so they are programming languages.  That is
> the one and only criteria for something to be called a programming language.
> Hope that settles that discussion.

far from it. Prolog doesn't have loops. do you want to claim it's not a
programming language?

let's try a recursive definition: a programming language is something you
can implement a programming language in.

-- 
Joost Kremers                                      ············@yahoo.com
Selbst in die Unterwelt dringt durch Spalten Licht
EN:SiS(9)
From: Barry Margolin
Subject: Re: A programming language is...
Date: 
Message-ID: <barmar-5F2C6E.19554515082004@comcast.dca.giganews.com>
In article 
<···························@j.kremers4.news.arnhem.chello.nl>,
 Joost Kremers <············@yahoo.com> wrote:

> far from it. Prolog doesn't have loops. do you want to claim it's not a
> programming language?

Prolog has recursion, which is a form of looping.

-- 
Barry Margolin, ······@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***
From: Bruce Stephens
Subject: Re: A programming language is...
Date: 
Message-ID: <873c2oeyhm.fsf@cenderis.demon.co.uk>
Barry Margolin <······@alum.mit.edu> writes:

> In article 
> <···························@j.kremers4.news.arnhem.chello.nl>,
>  Joost Kremers <············@yahoo.com> wrote:
>
>> far from it. Prolog doesn't have loops. do you want to claim it's not a
>> programming language?
>
> Prolog has recursion, which is a form of looping.

And looping isn't sufficient.  For example, a language whose only
looping structure were equivalent to dotimes wouldn't be Turing
equivalent, even though it would have looping.
From: Barry Margolin
Subject: Re: A programming language is...
Date: 
Message-ID: <barmar-A6E560.22173615082004@comcast.dca.giganews.com>
In article <··············@cenderis.demon.co.uk>,
 Bruce Stephens <············@cenderis.demon.co.uk> wrote:

> Barry Margolin <······@alum.mit.edu> writes:
> 
> > In article 
> > <···························@j.kremers4.news.arnhem.chello.nl>,
> >  Joost Kremers <············@yahoo.com> wrote:
> >
> >> far from it. Prolog doesn't have loops. do you want to claim it's not a
> >> programming language?
> >
> > Prolog has recursion, which is a form of looping.
> 
> And looping isn't sufficient.  For example, a language whose only
> looping structure were equivalent to dotimes wouldn't be Turing
> equivalent, even though it would have looping.

What I think you generally need is for Turing-equivalence is some form 
of conditional (e.g. IF), a way to change control flow (looping, 
recursion, GOTO), and a way to represent state.

-- 
Barry Margolin, ······@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***
From: Matthew Danish
Subject: Re: A programming language is...
Date: 
Message-ID: <20040816162213.GB13999@mapcar.org>
On Sun, Aug 15, 2004 at 10:17:36PM -0400, Barry Margolin wrote:
> What I think you generally need is for Turing-equivalence is some form 
> of conditional (e.g. IF), a way to change control flow (looping, 
> recursion, GOTO), and a way to represent state.

Now c'mon, on this newsgroup we should know better.  You only need one
thing for Universal Turing Machine equivalence.

-- 
;;;; Matthew Danish -- user: mrd domain: cmu.edu
;;;; OpenPGP public key: C24B6010 on keyring.debian.org
From: Abdulaziz Ghuloum
Subject: Re: A programming language is...
Date: 
Message-ID: <cfqrjt$rcj$1@hood.uits.indiana.edu>
Matthew Danish wrote:

> Now c'mon, on this newsgroup we should know better.  You only need one
> thing for Universal Turing Machine equivalence.

Right.  X.
From: Paul Wallich
Subject: Re: A programming language is...
Date: 
Message-ID: <cfqald$sq1$1@reader1.panix.com>
Bruce Stephens wrote:

> Barry Margolin <······@alum.mit.edu> writes:
> 
> 
>>In article 
>><···························@j.kremers4.news.arnhem.chello.nl>,
>> Joost Kremers <············@yahoo.com> wrote:
>>
>>
>>>far from it. Prolog doesn't have loops. do you want to claim it's not a
>>>programming language?
>>
>>Prolog has recursion, which is a form of looping.
> 
> 
> And looping isn't sufficient.  For example, a language whose only
> looping structure were equivalent to dotimes wouldn't be Turing
> equivalent, even though it would have looping.

Sure it would, jsut as long as it had something that served for 
conditional execution -- see, for example, the original Connection 
Machine primitives...

paul
From: Bruce Stephens
Subject: Re: A programming language is...
Date: 
Message-ID: <87r7q7z0xc.fsf@cenderis.demon.co.uk>
Paul Wallich <··@panix.com> writes:

> Bruce Stephens wrote:

[...]

>> And looping isn't sufficient.  For example, a language whose only
>> looping structure were equivalent to dotimes wouldn't be Turing
>> equivalent, even though it would have looping.
>
> Sure it would, jsut as long as it had something that served for
> conditional execution -- see, for example, the original Connection
> Machine primitives...

dotimes always terminates (presuming that altering the loop variable
doesn't alter the looping---the hyperspec says it's undefined), so a
language with only that would only be capable of expressing
terminating algorithms, and conditional execution wouldn't help---you
need some other form of looping, whether it's a jump or recursive
functions or whatever.
From: Pascal Costanza
Subject: Re: A programming language is...
Date: 
Message-ID: <cfqcqm$orh$1@newsreader2.netcologne.de>
Bruce Stephens wrote:

> Paul Wallich <··@panix.com> writes:
> 
>>Bruce Stephens wrote:
> 
>>>And looping isn't sufficient.  For example, a language whose only
>>>looping structure were equivalent to dotimes wouldn't be Turing
>>>equivalent, even though it would have looping.
>>
>>Sure it would, jsut as long as it had something that served for
>>conditional execution -- see, for example, the original Connection
>>Machine primitives...
> 
> dotimes always terminates (presuming that altering the loop variable
> doesn't alter the looping---the hyperspec says it's undefined), so a
> language with only that would only be capable of expressing
> terminating algorithms, and conditional execution wouldn't help---you
> need some other form of looping, whether it's a jump or recursive
> functions or whatever.

...but you two are aware of the fact that you call these things with 
only dotimes "languages"? ;)

"a language whose only..."

"a language with only that would..."

If you don't want to call these things languages, you have to invent 
another term.


Pascal

-- 
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."
From: Bruce Stephens
Subject: Re: A programming language is...
Date: 
Message-ID: <87acwvkuyc.fsf@cenderis.demon.co.uk>
Pascal Costanza <········@web.de> writes:

[...]

> If you don't want to call these things languages, you have to invent
> another term.

I don't have a problem with calling such things languages.
From: Tait Stevens
Subject: Re: A programming language is...
Date: 
Message-ID: <458628b3.0408180757.592bcec7@posting.google.com>
First post, so "Hi all."  By way of self-introduction, I am a Lisp
newbie, but have extensive programming and HTML experience.

Joost Kremers <············@yahoo.com> wrote in message news:<···························@j.kremers4.news.arnhem.chello.nl>...
> let's try a recursive definition: a programming language is something you
> can implement a programming language in.

I agree: determining whether HTML is a programming language requires a
definition.

The suggested definition is interesting, but infinitely recursive
definitions are not helpful to outsiders, (example: when I read it to
my non-programmer wife.  Her response was "Huh?").

On the other hand, usual "definitions" aren't all that useful for
deciding if HTML is programming language (google "define: programming
lanaguage").

Looking around, I find this subject has been discussed elsewhere; for
example, see http://en.wikipedia.org/wiki/Talk:Programming_language#Turing_completeness_and_generality.

Tait
From: Peter Seibel
Subject: Re: A programming language is...
Date: 
Message-ID: <m3n00swhub.fsf@javamonkey.com>
············@gmail.com (Tait Stevens) writes:

> First post, so "Hi all."  By way of self-introduction, I am a Lisp
> newbie, but have extensive programming and HTML experience.
>
> Joost Kremers <············@yahoo.com> wrote in message
> news:<···························@j.kremers4.news.arnhem.chello.nl>...
>> let's try a recursive definition: a programming language is something you
>> can implement a programming language in.
>
> I agree: determining whether HTML is a programming language requires a
> definition.
>
> The suggested definition is interesting, but infinitely recursive
> definitions are not helpful to outsiders, (example: when I read it to
> my non-programmer wife.  Her response was "Huh?").

Ah but that's a feature. ;-) If we define a "programming language" as
"something you can implement a programming language" in then we can
also define a "programmer" as "someone who understands the definition
of 'programming language'".

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Joost Kremers
Subject: Re: A programming language is...
Date: 
Message-ID: <slrnci7f84.j0m.joostkremers@j.kremers4.news.arnhem.chello.nl>
Tait Stevens wrote:
> First post, so "Hi all."  By way of self-introduction, I am a Lisp
> newbie, but have extensive programming and HTML experience.
>
> Joost Kremers <············@yahoo.com> wrote:
>> let's try a recursive definition: a programming language is something you
>> can implement a programming language in.
>
> I agree: determining whether HTML is a programming language requires a
> definition.
>
> The suggested definition is interesting, but infinitely recursive
> definitions are not helpful to outsiders, (example: when I read it to
> my non-programmer wife.  Her response was "Huh?").

<g>

it's not really a definition either... it has the same effect as recursive
functions: you cannot (at least *i* cannot) understand how they work by
working out what they do. i can only understand them by looking at what
they mean. i guess for a function that isn't a bad thing, but for a
definition, it is...

> Looking around, I find this subject has been discussed elsewhere; for
> example, see http://en.wikipedia.org/wiki/Talk:Programming_language#Turing_completeness_and_generality.

thanks for that link. some interesting reading that.

-- 
Joost Kremers                                      ············@yahoo.com
Selbst in die Unterwelt dringt durch Spalten Licht
EN:SiS(9)
From: William Bland
Subject: Re: A programming language is...
Date: 
Message-ID: <pan.2004.08.19.00.50.41.993735@abstractnonsense.com>
On Wed, 18 Aug 2004 08:57:22 -0700, Tait Stevens wrote:
> On the other hand, usual "definitions" aren't all that useful for
> deciding if HTML is programming language (google "define: programming
> lanaguage").

Am I the only one here who thinks a discussion of whether or not a given
language is a "real" programming language, without mention of the thing
that's interpreting the language, is fruitless?

I could trivially write two interpreters for html - one that did nothing,
whatever input you fed it, and one that gave the standard html tags wildly
different semantics than the ones they usually have, giving html the
ability to describe arbitrary processes (making it a "real" programming
language).

Seems to me you can't talk about whether language X has some property or
not, without talking about the thing (interpreter/compiler/whatever) that
uses the language to represent its input.

Isn't this a similar fallacy to the one people slip into when they believe
that representing their data using xml will magically enable any program
to read, write, and understand it?

Cheers,
	Bill.
-- 
Dr. William Bland.
It would not be too unfair to any language to refer to Java as a
stripped down Lisp or Smalltalk with a C syntax.   (Ken Anderson).
From: Karl A. Krueger
Subject: Re: A programming language is...
Date: 
Message-ID: <cg15jf$b9e$1@baldur.whoi.edu>
Stefan Ram <···@zedat.fu-berlin.de> wrote:
> William Bland <·······@abstractnonsense.com> writes:
>>Isn't this a similar fallacy to the one people slip into when they believe
>>that representing their data using xml will magically enable any program
>>to read, write, and understand it?
> 
>  There are different grades of understanding. XML has more
>  machine-understandable structure than plain text, but less
>  than an XML-application.

Plain text has plenty of machine-understandable structure.  It can be
treated as a sequence of characters, lines, tokens, or records of
fields.  It is so remarkably flexible that all kinds of other structures
can be written using it -- including CSV, S-expressions, and XML.  The
"understanding" in every case is in the application (or library), not in
the format itself.

An XML parser can only cope with a small fraction of files written in
the powerful language of Plain Text.  :)

-- 
Karl A. Krueger <········@example.edu>
Woods Hole Oceanographic Institution
Email address is spamtrapped.  s/example/whoi/
"Outlook not so good." -- Magic 8-Ball Software Reviews
From: John Thingstad
Subject: Re: A programming language is...
Date: 
Message-ID: <opscsm7skkpqzri1@mjolner.upc.no>
Nop. for a language to be general purpose it must be turing complete.
It can be turing complete without intrudusing loop by for instance
recursion. My-recursive functions implement turing completeness
without loops.


On Sun, 15 Aug 2004 13:23:33 -0700, Mike Cox <············@yahoo.com>  
wrote:

> ...anything that has a loop.  Since HTML doesn't have a loop anywhere,  
> it is
> not a programming language.  Simple as that.
>
> PHP, Java, LISP all have loops, so they are programming languages.  That  
> is
> the one and only criteria for something to be called a programming  
> language.
> Hope that settles that discussion.
>
>



-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
From: Barry Margolin
Subject: Re: A programming language is...
Date: 
Message-ID: <barmar-4967CC.19552715082004@comcast.dca.giganews.com>
In article <················@mjolner.upc.no>,
 "John Thingstad" <··············@chello.no> wrote:

> Nop. for a language to be general purpose it must be turing complete.
> It can be turing complete without intrudusing loop by for instance
> recursion. My-recursive functions implement turing completeness
> without loops.

Recursion is a way of performing loops.

-- 
Barry Margolin, ······@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***