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

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



"Kelly Hall" <hall@priest.com> wrote in message
news:3lSLa.225$de1.22838426@newssvr15.news.prodigy.com...
>
> "Randy McLaughlin" <randy@nospam.com> wrote in message
> news:tSRLa.1088$wG.325@fe04.atl2.webusenet.com...
> > "computer programming languages (like C) must be able to express
> > computation"  I have never heard anything so silly, there is no
definition
> > that shows that.
>
> I gave you that definition several days ago.  You may have forgotten it.
> Allow me to restate it.
>
> A "computer programming language" is as follows:
>  - defined (formal) syntax
>  - defined (formal) semantics
>  - Turing-complete
>
> After some reflection, I'm probably willing to loosen the Turing
equivalence
> to that of a finite state machine or push-down automata.  But just because
> those have weaker definitions of computation than Turing machines doesn't
> mean that I'm willing to forego *all* computation and admit HTML and other
> markup languages into what I think of as 'computer programming languages'.
> I've used a few hardware description languages that aren't Turing-complete
> but are pretty darned handy.
>
> You can disagree if you like, but in my opinion if a language doesn't
allow
> one to express *some* kind of computation, then it's hardly a computer
> programming language.  That's why we call them computers, right?  Because
> they compute.
>
> In a nutshell:
>   - if it can't compute, then it isn't a computer
>   - if it can't express computation, then is isn't a computer programming
> language
>
> Kelly

I agree that a computer can compute, but a computer is not limited to
computation.  Computers originally were limited to computation and that is
what they were originally used for.  The very idea of having a computer be
able to display/print text is a recent inovation.  Today only a minority of
what a computer does can be thought of as computational.  Today computers do
far more text and graphical displaying than computation.  The ability to
handle text and graphics requires computation at some level, but that is not
what the thread is about.

In your definition of a computer programming language it is just that "your"
definition.  You have decided that for you to call something a computer
programming language it most not only be a language that programs computers,
but it must do more.  You are adding restrictions to an existing definition.

Not everything can be defined by defining the individual words, yet in most
cases you can.  So far all that I have seen is that people don't like
calling mundane programming tasks as programming.