In reply to jaap karman.

How about deprecating macro all together? Or at least make it obsolete in favor of more modern programming constructs?

SAS is 40 years old - how about updating the language like "every other" modern programming language?

IMO I should be able to say something like this in open code:

myvar=1; * or $myvar, etc, etc ;

if (myvar=1) then do;
data foo;set bar;run;
end;
else do;
put "myvar is not equal 1";
end;

etc, etc, you get the idea.

I shouldn't need a pre-compiler for simple logical constructs that every other modern programming language supports!

Don't get me wrong - I know macro well, and use it all the time. But I'd rather ***program*** in Python, C#, Java, etc, that support modern code constructs.

If the SAS language was object oriented, even better.

Perhaps Viya will help, but I feel like SAS keeps pasting bandaids on tired code.