[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:aA4Ja.10576$bH3.2854@fe02.atl2.webusenet.com...
> I have yet to find a definition of a programming language better than a
> language used to program a computer.

For myself, I define a 'computer programming language' as some formalized
syntax and semantics that express computation sufficient to model a Turing
machine.  I'm not picky what sort of formalisms one uses; traditionally,
Extended Backus-Naur Form (EBNF) is handy for syntax, and there are lots of
different formalisms for semantics (translational, operational,
denotational - pick whatever you like).  I insist on Turing-completeness
because frankly anything less seems pretty boring.  This definition doesn't
preclude non-textual programming languages; you'll just need to use a
different formalism for the syntax.

While HTML has a formal syntax, the semantics is somewhat vague and
certainly the language is not Turing-complete.  Thus, I don't consider HTML
a 'computer programming language'.

Of course, you may define 'computer programming language' any way that makes
good sense to you.

> One person posted two references about
> computer programming languages, but all they did was name a couple of
> languages and stated the languages are broken into different gl classes,
but
> no definition of what a language must contain to be a language.

Does my definition meet your criteria?  If you want, you can google 'EBNF'
and 'denotational semantics' and 'Turing completeness' - they are well
understood concepts in computer science.

Kelly