|
楼主

楼主 |
发表于 2004-6-3 22:40:46
|
只看该作者
强烈建议修改SAS语法,同意的请举手!
1.abort<abend/return>改为return;
2.array array_example(n)改为array_example = new array[n]
3.将cards;
a1
b1
c1
.....
改为cards{a1,b1,c1},或{(a1,a2,..),(b1,b2,..),.....}或将cards去掉,全部改用n维数组。
4.delete 改成continue;
5.do/end改成{},即然它是括号的作用,为什么不用括号?
6.do while ...end改为while(条件){语句}
7.do i=0 to n ...end改为for(i=0,条件,i++){语句}
8.if ...then ...else改为if ... else
9.将format,informat去掉,采用标准数据类型的定义,如var_a $改为string var_a,int i,double j...
10.link/return 改为goto或干脆不要它。
11.select()... when()改为switch case
12.stop改为break;即然是终止此步,为什么不break?
13.将所有函数都改为方法形式,如index(name,"wang")改为name.index("wang"),再如, length(var_a)改为var_a.length();
14.put a= b=;这样的句子不要再出现,可以改为(不就是输出字符串吗?)
put "a="+a,"b="+b;
或者动大手术的话,把数据加工处理和数据分析分成两部分,SAS的分析功能的确很强大,它不是主要用来搞数据加工处理的,在这方面,更优秀的工具多的是.
所以建议把数据加工这一部分单独拿出来做,把数据分析的各种PROC都封装成标准函数.
SAS语法真是太憋足了,和它的GUI界面一样让人难受,label的click事件,估计你在标准的windows程序里很难找到,然而sas里比比皆是.估计它的内核从一诞生就没有真正重写过,sas的确是用Visual C++编译的,不过GUI太差了.估计还是和内核有关,再看看AF里的那些CLASS,作为一个应用层的软件,没有必要重写WINDOWS的标准类吧?也许SAS说它主要面向编程,可是看看它的IDE,是个什么样子,还敢叫IDE?数一数有多少非标准控件?要是很友好也可以,但是它简直就是DOS下图形编程的产物(这样可以省很多钱,不用重写代码).更可笑的是,用SAS命令行的人竟看不起用菜单的人,不知道这种人有多高明,纯粹是浪费自己的脑细胞.只要能到达目的地,可以坐车,坐飞机的话,为什么要跑步?WORD2000里也有VBA,你为什么不用它编辑文档,而非用菜单,工具栏呢?我学的时间不短了,从JAVA转到sas真是难受.而同样用VC++编译的spss却很不错.不知道为什么.我想了很久,才有点看法,SAS的GUI和语法就象俄语一样难学,难怪最初是俄国人开发的.SPSS就好的多了,应该不是俄国人做的吧?
以上只是我的一点看法,希望多提意见.如果SAS不改它的这些很BT的东西的话,我估计当SAS发展到计算机水平不是非常专业的统计专家难以驾驭的时候,就是SAS灭亡的时候.谁遵从标准,谁才有可能成为赢家.科技以人为本! |
|