adsrx将会在不久被淘汰,只是必然的趋势,因为不面向对象的编程方式导致的将是灾难性的混乱。你可以在一个过程里来回将acedNewBufer或者acedSSFree写几十遍,也不会觉得风格不好,这是因为他没有对象的氛围,过于线形了。SDK中的adsrx函数一年比一年少,少有的几个常用的还注明了:will be removed in a later release,更说明了这一点,
如果说兼顾的话,可以使用CLR,06以后提供了对.net的完整支持,使用混合托管代码,可以使你的程序易于管理,并通过_unsafe的使用获得更高的速度,缺点是混合编码的技巧高不好学,如果纯托管又没有理想的速度(跟VBA是一个级别)。虽然作为一个对C++有深厚感情的人要想接受.NET需要一定的勇气,但是我还是在尝试他的使用。
Objectarx的价值完全不仅仅在于可以使用各种命令,Objectarx的价值是Objectarx和COM,如果没有他们,Objectarx的价值趋近于零,如果仅仅是用C写lisp可以做到的程序的话,我宁愿用lisp,就因为Objectarx的可能是无限的,我才坚持它。我相信没有任何一种脚本语言或者伪脚本语言可以和C++相提并论,BitTorrent的经验也告诉我们,从来没有一种需要速度的程序,能有脚本语言把它做的完美,而我们所需要的是C++。用过DBX的人会感觉到,与lisp相比,DBX价值如同在闪耀。
另外.ARX/.DBX就是一个win32dll因此ARX的意义不仅仅在于CAD,而在于对控制力的态度,既然是win32dll因此可以做任何事情,你也许看到过3d的目录里那个熟悉的图标,你明白它的意义吗?那就是DBX是可以跨平台的!道理很简单,因为是win32dll,所以不同语言,不用用途的程序只要在windows下就可以调用它,只是看方法的问题,这就是为什么说,ARX不是局限在CAD的范围内的了,况且,使用C++编制的程序,是那样赏心悦目,还有什么理由让你绝的lisp是可与ARX比较的呢?lisp的优点在于小,诚然,抛开CAD不管,ANSI LISP是出色的语言,但是,autoLisp继承的就太少了。
我是一名ARX的爱好者,视ARX如同视朋友一般,这是我的一点拙见,也可能带着我的偏见,但是希望还没有学ARX的朋友能够从心底喜欢他,使用他。如果你怀疑他的能力,那么最好打消你的念头了,ARX的能力简直是无限的! |