Re: no backwards compatibility in IDL 5.6 [message #34262 is a reply to message #34260] |
Thu, 27 February 2003 07:38   |
Craig Markwardt
Messages: 1869 Registered: November 1996
|
Senior Member |
|
|
David Fanning <david@dfanning.com> writes:
> Alexander Rauscher (e9121161@stud4.tuwien.ac.at) writes:
>
...
>>
>> many of idl programs have to be adapted due do the non existing
>> backwards compatibility of atan (and probably many other functions) .
>> one wouldn't expect a change in such a fundamental function. so now
>> atan(z, /phase) gives the same result as atan(z) in older versions did,
>> where z is (re,im)... this is worse than stupid. this is dangerous.
>>
>> or does anybody know away to circumvent the new "features" of IDL 5.6?
>
> From the tone (and frequency) of your posts, I presume
> you think there is some kind of criminal conspiracy going
> on here. Do you have any evidence of it? For example, what
> did RSI say when you contacted them about this?
>
> The programmers at RSI are prone to the same knuckleheaded
> mistakes as the rest of us, but they don't deliberately
> break software (or irritate their customers). Their
> livelihood depends on people *buying* software, not
> complaining about it. Let us know when you find out
> their response to this.
<rant on>
David, are you saying that RSI *accidentally* changed the functional
interface to an established function? No, I think it was quite
deliberate. I too was bitten by this change.
The correct way to do this would be to keep the old interface, namely
ATAN(z) = complex-arg-of(z), and then add a keyword to ATAN to obtain
the mathematically correct arc tangent of a complex number. It's one
notch down on the elegance curve, but five notches up on the
compatibility curve. And compatibility (= maintainability) is what
costs us the big bucks.
The same thing goes for STR_SEP, which is apparently obsolete and will
be disappearing in some future release of IDL? What the heck? You're
right, why would I want to pay for a package that deliberately rots my
working and established code?
I'm sure that RSI argues that the "complex-arg" feature of ATAN was
never documented. And yet, it was available in IDL 3.6.1, 4.0.1, 5.0,
5.1, 5.2, 5.3, and 5.4. It's not like this feature was an accident,
it was deliberately in the code through 3 major versions of IDL. Like
a common-law marriage, this feature is de facto a part of IDL. Why
they chose to break compatibility, especially within a minor-version
release, is beyond me.
<rant off>
Not-ranting-at-David-ly yours,
Craig
--
------------------------------------------------------------ --------------
Craig B. Markwardt, Ph.D. EMAIL: craigmnet@cow.physics.wisc.edu
Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
------------------------------------------------------------ --------------
|
|
|