LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (May 2006, week 5)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Tue, 30 May 2006 13:17:03 -0400
Reply-To:   Gerhard Hellriegel <ghellrieg@T-ONLINE.DE>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   Gerhard Hellriegel <ghellrieg@T-ONLINE.DE>
Subject:   Re: SAS as a programming language (OT: Response)

There are a few aspects for that: 1. SAS/Base is like SQL a language for special purposes, not for general like C 2. continuity is much more important for professional applications as for computer games. 3. SAS/Base follows the procedural concenpt, not object-oriented (modern, but the better solution for special purposes? Why is there no SQL++?) 4. If you mean, the development and integration of user-defined procs and functions is the show stopper: you can write and integrate them since many years with SAS/TOOLKIT! By the way: there seems to be not much demand for that. There are some TOOLKIT procs, like PROC SYNCSORT for mainframes to allow easier configuration of the sort-utility, some device drivers, but it seems to be more a tool for the SAS developers to realize that very quick. 5. The real thing I'm missing is BCD arithmetic (Binary Coded Decimal), which PL/1 had and which was not ported to SAS language. That is a thing, which is very helpful in many modern applications with high precision issues. Unfortunately not in the statistics environment, where SAS comes from. 6. Some of the biggest Data Warehouse installations I know, use SAS as ETL (Extraction and Transformation Language) in a bunch of other databases and datawarehouse tools! Why? Because SAS/Base was the best solution in that environment! Not the PROCs, but only the "simple" DATA-step language! The industry standard for accounting and performance measurement MXG and CA-MICS are based on SAS/Base - why? Because SAS/Base was and is actually the best solution for that (very comfortable and fast)!

So I think, SAS/Base is the best tool for working with data. If I'd try to write a computer game, or a application which should run on my mobile, I choose something what's good for that. For data-manipulations I prefer SAS/Base. Add BCD arithmetics (type DECIMAL in PL/1) and I'll be lucky. Adding user written PROCs and functions? Nice to have, but not necessary (but also possible now with many languages, including C)! Enhance the functions which give me OS-informations, e.g. FINFO, DINFO, ... and there is no need for other functions which are not already there.

I agree that SCL and the development of GUIs is not the thing where SAS has it's strenghts, there are cheeper and maybe better solutions. I think the support and integration of languages like PERL, JAVA, ... will be improved in future and SCL might have not a great future, but I think the concept of the SAS/Base language is good and detail improvements will keep that alive. Same like SQL - it's "standard", which means a big responsibility to "keep it compatible", which also means "keep it as it is" and be very careful with "improvements".

On Tue, 30 May 2006 09:03:09 -0700, Lei Zhang <lzhang9830@YAHOO.COM> wrote:

>Hi Gerhard and Howard, > What I wanted to point out before is that SAS is slow to follow >the advance in computer science. The syntax it uses is very similiar to >old languages like JCL, Fortran or PL/1, which were good languages at >that time. Since then, SAS has been struggled to borrow some new >langauge features from OO, but hasn't been successful yet. I heard that >they were going to provide user-define function feature for Data step >in SAS 9.2 after many requests from users. Personally I think they >should have provided this feature ten years ago, not until next year or >later. I hope significant changes will be made in SAS 10 in order for >them to catch up with the times. > >LZ

Back to: Top of message | Previous page | Main SAS-L page