Date: Wed, 28 Apr 2004 14:49:10 -0600
Reply-To: Jack Hamilton <JackHamilton@FIRSTHEALTH.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Jack Hamilton <JackHamilton@FIRSTHEALTH.COM>
Subject: Re: macro
Content-Type: text/plain; charset=us-ascii
Ron Fehd wrote:
>> From: Jack Hamilton [mailto:JackHamilton@firsthealth.com]
>> What do you mean by "not a programming language"? It can do
>> integer and floating point math, it supports sequential and
>> conditional program flow, and it can read and write data.
>
>> What else does it need?
>
>besides its parent, SAS?
The data step language also needs its parent, SAS, to run; would you
say that the data step language is not a real programming language?
You have a point about subroutines, but the data step doesn't support
subroutines in the traditional sense either. Also, I don't think that
subroutine support is one of the traditional requirements for structured
programming languages. It's certainly not required for the general
definition of "programming language": "A programming language or
computer language is a standardized communication technique for
expressing instructions to a computer. It is a set of syntactic and
semantic rules used to define computer programs. A language enables a
programmer to precisely specify what data a computer will act upon, how
these data will be stored/transmitted, and precisely what actions to
take under various circumstances."
<http://en.wikipedia.org/wiki/Programming_language>
>in back of all that gets done in SAS
>with the macro language as an add-in
>the macro language is interpreted first
>and its output added into the SAS stream
>which is then compiled.
That assumes that the macro language can't do anything useful on its
own, which is not true. A macro can read input, process it, and produce
output, all without ever generating SAS data step or procedure code.
--
JackHamilton@FirstHealth.com
Manager, Technical Development
Metrics Department, First Health
West Sacramento, California USA
>>> "Fehd, Ronald J. (PHPPO)" <rjf2@cdc.gov> 04/28/2004 12:29 PM >>>
> I wrote:
> The macro language is not a programming language
> From: Jack Hamilton [mailto:JackHamilton@firsthealth.com]
> What do you mean by "not a programming language"? It can do
> integer and floating point math, it supports sequential and
> conditional program flow, and it can read and write data.
> What else does it need?
besides its parent, SAS?
uhm, ask, Quentin.
let me embellish that statement
> The macro language is not a programming language
like Pascal that we learned in college
or others which support sub-routine definition
within routine definition,
which was the point of the comment.
in back of all that gets done in SAS
with the macro language as an add-in
the macro language is interpreted first
and its output added into the SAS stream
which is then compiled.
certainly, without SAS,
there is no SAS macro language.
I use the word 'language' advisedly.
would you believe it is a sub-language?
how about: a dialect?
creole?
pidgin?
Ron Fehd the linguistic maven CDC Atlanta GA USA RJF2@cdc.gov