Re: IDL 8.0 compile_opt changes [message #69174 is a reply to message #69171] |
Sat, 19 December 2009 11:11   |
chris_torrence@NOSPAM
Messages: 528 Registered: March 2007
|
Senior Member |
|
|
On Dec 19, 10:55 am, wlandsman <wlands...@gmail.com> wrote:
>
> so that the code could still run in versions prior to V8.0. But
> these earlier IDL versions won't have any recognition of a .prx
> extension.
>
> Hmmm... I could see writing code like this getting very unwieldy.
> Maybe instead we would need a new program IDLV7_to_V8 to automatically
> convert code to the new method syntax...
>
> --Wayne
I'm not sure it would be worth writing your code to include both the
new "dot" way, and the old method way. You would just be duplicating
the method calls for no good reason. If you knew you were going to
share the code with older versions, you would probably be better off
just writing the code the old way.
Another point of information: We are adding a lot of new language
features to IDL 8.0. Things like a new "foreach" operator, negative
array subscripting a[0:-1], plus a lot more. You would need to avoid
using *any* new language features if you wanted to run on an older
version. This was always true, like when we added && || ++, etc.
To be honest, I don't really like the idea of a new extension. It
seems like it just masks the problem - essentially it is like
"compile_opt", but even harder to explain. People who found a .prx on
the web would have to remember that they need to run the code in IDL
8.0+. Plus it splits the community's code base into two pieces: the
"old" and the "new". If you found a .pro on the web, is it named .pro
because it is old and crufty, or simply because it doesn't contain any
new syntax? At least in my mind, IDL == .PRO, and .PRO == IDL.
More thoughts? More eggnog?
|
|
|