From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,267eec8ad557a7d0 X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: ARIANE-5 Failure (DC-X works) Date: 1996/06/13 Message-ID: #1/1 X-Deja-AN: 160437225 references: <834097751.22632.0@assen.demon.co.uk> <4pg9gj$ohs@Starbase.NeoSoft.COM> <4plpqn$ko5@Starbase.NeoSoft.COM> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1996-06-13T00:00:00+00:00 List-Id: Samuel said "Your definition misses a subtle distinction. I can't define it formally. I think most of us view programmers as people who tell a system HOW to do something. The MatrixX user identifies WHAT to compute, but not HOW." The reason you cannot define this discinction formally is that it is a meaningless one. That was the whole point of Lambert's point about VHLANOS. One person's program is another persons abstract specification. If I write: A := B * C + D * E; that is (with minor notational differences) just a description of WHAT should be done (compute a formula and put the result in A), not HOW it should be done (i.e. I don't care about what instructions or registers are used). Sure the use of very high level languages like MatrixX raises this to a higher level of abstraction, but you still cannot make any meaningful discinction. Now there are some related issues, e.g. whether you write in a procedural style, but non-procedural languages have been around for at least 30 years (e.g. RPG!) and no one would claim that the use of a non-procedural language means that you are not programming. In Setl, if I say primes := { n in [2..100] | not exists d in [2 .. N - 1] | n mod d = 0}; that's essentially a mathematical definition of the set of primes from 2 to 100. If I look at it as an Ada programmer, it sure looks like a specification and not a program, but it is in fact an executable Setl program. I simply don't believe you can succeed in drawing any meaningful distinction between a program and an executable specification.