| Date: | Fri, 21 Mar 1997 13:26:32 -0800 |
| Reply-To: | Steven_Hanks-1 <Steven_Hanks-1@SBPHRD.COM> |
| Sender: | "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU> |
| From: | Steven_Hanks-1 <Steven_Hanks-1@SBPHRD.COM> |
| Organization: | SmithKline Beecham |
| Subject: | Re: A BETTER SAS, part 1 |
| Content-Type: | text/plain; charset=us-ascii |
David Michael Wright wrote (And Steve Annotated)
>
> In article <mdemilia-ya02408000R1902972223380001@news.eclipse.net>,
> Michael S. DeMilia <mdemilia@eclipse.net> wrote:
> |Good points. There are so many different ways of programming SAS and
> |alternate uses, that improving the SAS language is a much more of a complex
> |problem than improving the main user interface.
>
> I think the problem I have with SAS is it's old-fashioned use of
> procedures. Data Step, Procedure, Data step. That is very arcane.
> Some of the output from the data steps is very odd, like in Proc Reg
> or Syslin where variances and estimates are placed on top of each
> other.
Firstly, you have two seperate issues here. One is the contention that
DATA and PROC steps are outdated. I'm not sure I understand why. They
are
simply sections of a program that perform different tasks. You still
have
to work on all of your data before you can calculate a mean (for
example),
which gives you, in effect, a DATA step followed by a PROC step. Two is,
it seems, related to the format of output, which is a different issue
and could be put forward as a Ballot item without any trouble.
> SAS should elliminate all proceedures and replace them with functions.
> Then you wouldn't have the bizarre macro language that is nearly
> impossible to remember and learn, or a separte matrix language with
> it's convoluted syntax and limted functionality (not to mention
> expense)
OK, I'll agree that macro language looks strange. But 'bizarre' and
'impossible to remember'? If you want to be able to run a function/
PROC in a do type loop, use %DO. Not that different. 99 times out
of 100 you need to know little more than how to assign a macro variable,
and how to do %IF, %THEN, %DO, %ELSE processing (which is exactly the
same as the base language, it just executes earlier). The only difficult
bits are difficult only because the manual is lousy at describing
them.
> Second, you should be able to use all the conventional programming
> steps for all the functions. Hence, one can loop over what is know
> known as a procedure.
Use macros!
> The reason we are all using SAS is because of it's great functions,
> and of course because everyone else is using it.
Surely this says something. you don't sell half a billion dollars
worth of software per year if no-one likes the structure, horrible
macro syntax, cost, limited functionality of bits of it, etc. Yes we'd
all like to change something (hey guys, how about some high res
graphics in SAS/GRAPH that you can export properly), but the stuff
that you propose seems to be more the result of a dislike of macros
than any real practical reason.
Michael.... you sure started a long discussion with this one. Is there
a part three?
--
Steven Hanks,
Hanks Consultants,
Cambridge,
England
The opinions expressed in this communication are my own,
and do not necessarily reflect those of SmithKline Beecham.
|