Date: Tue, 13 Jun 2006 22:58:02 -0400
Reply-To: joewhitehurst@bellsouth.net
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Joe Whitehurst <joewhitehurst@BELLSOUTH.NET>
Organization: Analyticum, Inc.
Subject: Re: Need advice on using a macro inside a data step array loop
In-Reply-To: <1150247647.357795.164560@y43g2000cwc.googlegroups.com>
Content-Type: text/plain; charset="US-ASCII"
LZ,
As I have convinced many of my clients, that is a small price to pay for the
accelerated development cycles, the creation of much more modular,
maintainable, reusable components of whole systems. And, remember, a SAS/AF
license is needed only for each developer. No user needs a SAS/AF license.
I doubt SI can be pushed, but it might be led if enough users clamored for
the capabilities of SAS/AF to be made available to Base SAS developers. I
understand that some of it already is (various SCL functions that are
available in the datastep and through the macro function sysfunc and even
the possibility that SCL code can be compiled without SAS/AF installed).
Part of my self-appointed mission is to raise awareness in the SAS Community
of the existence of a fine alternative to the antiquated SAS Macro Language
even at the risk of a little unhappiness among the few visceral reactors
bound to be part of any large group bless their dammed souls.
Joe Whitehurst
-----Original Message-----
From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of Lei
Zhang
Sent: Tuesday, June 13, 2006 9:14 PM
To: SAS-L@LISTSERV.UGA.EDU
Subject: Re: Need advice on using a macro inside a data step array loop
Joe,
SAS/SCL does has some programming features. The fundamental
problem is that the SCL license is too expensive and few people can
afford. (As I was told, it normally cost $4000 -$5000 per person. ) Is
there any way we can push SI to transfer SCL or part of SCL main
features into SAS/BASE in the next release?
LZ
Joe Whitehurst ??:
> Jim,
>
> I apologize for mistaking you for an Englishman. I don't know what came
> over me. I've seen your signature more than just a few times. I think
the
> best we will be able to do is just agree to disagree about the
> appropriateness of my response to you and, especially, to Peter. At this
> stage of his career, I think it is vitally important for an obviously
> enthusiastic relatively new SAS professional to know more about the
> important choices he has when choosing which SAS software to use for which
> task. After choosing the SAS System, there is probably no more important
> choice than which SAS software to use to conditionally generate and
execute
> batch SAS code. I happen to believe that choosing the SAS Macro Language
> for anything more elaborate than simple text substitution is _always_ the
> wrong choice mainly because of the existence of a far superior SAS
Software
> alternative with a superior development environment, sophisticated
Debugger
> for line by line code execution, setting of break points etc, and the
> ability to obtain detailed performance metrics as soon as development has
> produced a compiled program.
>
> I have posted a few SCL programs within the past few months and you can
find
> them in the archives. One of them dealt with Peter's problem. The fact
of
> the matter is that a SAS dataset can be read in a loop in the SCL
> environment (not a datastep) one observation at a time and any data in
that
> dataset can be used as parameters to drive other, possibly remote, and
> possibly even asynchronous, programs that can contain multiple Procs
and/or
> datasteps while the scl loop supplying the parameters is still executing.
> In fact, the secondary processes can be a launched as soon as the
> observation containing the data to be used as parameters has been read.
No
> need to wait until a step completes. In SCL, the concept of step
> boundaries no longer limits how you can do anything which seemed to be his
> problem as Peter first described it. Stay tuned, I plan to keep trying.
>
> Joe
>
>
>
>
> On 6/13/06, Jim Groeneveld <jim2stat@yahoo.co.uk> wrote:
> >
> > Hi Joe,
> >
> > Well, I presume SAS-L isn't too busy at the moment to let it get over
its
> > daily limit of 150 postings. Let's say, without feeling impertinent, I
> > think
> > your answer to Peter was not at all appropriate. The story of Whitehead
> > you
> > cite (below) contains nice poetry and symbolism, but is far away from
the
> > real problem stated here. I do agree that sometimes an answer in a
> > different
> > direction than expected may be more appropriate, but not in this case,
and
> > especially not from you. I think your answers to various questions on
> > SAS-L
> > are too much of the same: "don't use macro, use SCL", without being to
the
> > point of the matter. Your answers are too much fed and influenced by a
> > subjective negative (there you have the term) attitude towards macro, by
> > whatever cause. And recommending SCL (which in itself can be very good)
is
> > somewhat like an ideology for you. That is why I take your responses for
> > what they are and only tell you that you could have been more objective
> > and
> > concrete.
> >
> > If you really care that much for SCL and know that much about it then
show
> > it to us, present working SCL code as solutions to certain questions on
> > SAS-L. I hereby challenge you to present SCL code for Peter's problem,
not
> > necessarily shorter than the data step and macro code that I presented,
> > but
> > any working SCL code would be fine and worth studying. That way you
would
> > really contribute to promoting SCL. I would appreciate that.
> >
> > Regards - Jim.
> > --
> > Jim Groeneveld, Netherlands
> > Statistician, SAS consultant
> > home.hccnet.nl/jim.groeneveld
> >
> > P.S. Though I am using an anti-spam UK email address I am Dutch and live
> > (and currently am) in the Netherlands as you can see from my sig and at
> > times note from my incorrect English language use.
> >
> > On Tue, 13 Jun 2006 10:19:37 -0400, Joe Whitehurst <
> > joewhitehurst@GMAIL.COM>
> > wrote:
> >
> > >Jim,
> > >
> > >Leaving aside for the moment the impertinence of your telling me what I
> > >should do or not do, consider this quote from one of your countrymen:
> > >
> > >The general case of conscious perception is the negative perception,
> > namely,
> > >'perceiving this tone as not grey'. The 'grey' then has ingression in
its
> > >full character of a conceptual novelty, illustrating a alternative. In
> > the
> > >positive case, 'perceiving this stone as grey', the grey has ingression
> > in
> > >its character of a possible novelty, but in fact by its conformity
> > >emphasising the dative grey, blindly felt. Consciousness is the feeling
> > of
> > >negation: in the perception of 'the stone as grey', such feeling is in
> > >barest germ; in the perception of 'the stone as not grey', such feeling
> > is
> > >in full development. Thus the negative perception is the triumph of
> > >consciousness. It finally rises to the peak of free imagination, in
which
> > >the conceptual novelties search through a universe in which they are
not
> > >datively exemplified".
> > >A.N. Whitehead 1929.
> > >
> > >When enthusiastic new members post questions on SAS-L, I don't think
help
> > is
> > >or should be concretely limited to the specifics of their
> > question. Indeed,
> > >as has been noted many times on SAS-L, the actual question leading to
the
> > >request for help may be far removed from the eventual question that
gets
> > >answered. And something as fundamental as the choice of which SAS
> > Language
> > >to use to control conditional generation and execution of SAS batch
> > programs
> > >is certainly something that should always be brought to the attention
of
> > new
> > >SAS programmers. Peter did not seem to know he had a choice. Now he
> > does
> > >know and when he finishes reading about SAS Component Language Lists he
> > will
> > >know even more about why he should just forget SAS Macros, especially
if
> > he
> > >is a really _fast_ fast learner and wonders into reading about the SCL
> > >Debugger, the Development Environment, the Application Performance
> > >Measurement Tools available during development and the rich programming
> > >environment where he will find most of the functions, statements,
> > operators,
> > >naming conventions from the datastep programming language along with a
> > few
> > >new functions like the ones that deal with SCL Lists.
> > >
> > >Joe
> > >
> > >Joe
> > >
> > >
> > >On 6/13/06, Jim Groeneveld <jim2stat@yahoo.co.uk> wrote:
> > >>
> > >> Hi Peter and Joe,
> > >>
> > >> Joe, I don't think Peter is interested in how _not_ to do it, or in
the
> > >> advice to start learning quit some amount of new stuff. I have the
> > >> impression that such advice almost always is the way you respond. But
> > >> Peter
> > >> wants a constructive, substantial answer. So you should either have
> > >> provided
> > >> a concrete solution with SCL or you should not have responded at all.
> > >> (Sorry
> > >> Peter.)
> > >>
> > [.........]
> >
|