Re: IDL 8.4? [message #89431 is a reply to message #89427] |
Wed, 15 October 2014 09:44   |
rryan%stsci.edu
Messages: 16 Registered: October 2014
|
Junior Member |
|
|
Hi Chris and Fabien
Thanks for the tips. I wasn't criticizing anything, even the choice of moving more OO'ed. Over the years I've grown to appreciate, even prefer objects. I guess I remain bit reluctant to go full object (in IDL) because of limitations with passing objects into IDL_IDLBridge or clunkiness with saving/restoring them and so on. But that's a minor issue.
I understand the issue with compatability --- If i develop something using a modern tool (such as a hash), then it's never going to work on some older version. But that wasn't my issue. I was asking a bit more rhetorically, what do I gain with these new techniques (such as static methods)? Because I can see what is lost, but I can't see what is gained. This is not to say that nothing is gained, I just was a bit unclear what that was exactly. I can understand that the static methods case is maybe a bit pedantic, because it's a low-level addition designed to facilitate higher-level operations after all the choice to do
sz= size(var)
vs.
sz= var.size()
is really just a matter of preference and syntax, not one of efficiency or so on (As a note, remember even python has the len() function for this purpose and while it's heralded as a object-oriented many things are still very functional --- which has always annoyed me.)
I really like the changes and do see them as upgrades. But I just wanted clarification on the upgrades, as I often do work in modest collaborations where we share code and so on. Because if there's clear advantage to certain things (as opposed to conceptual reorganization of existing tools), I want to know about it and encourage co-Is to upgrade from IDL 7.x. That's all I was getting at. Again, I like the more OO'ed nature, for many problems OO is really a superior mindset (graphics, widgets, come to mind).
All the best gang,
Russell
On Wednesday, October 15, 2014 12:03:20 PM UTC-4, Fabien wrote:
> On 15.10.2014 16:55, rryan%stsci.edu@gtempaccount.com wrote:
>
>> I stumbled onto the "Whats's New in 8.4" page this morning...
>
>>
>
>> http://www.exelisvis.com/docs/WhatsNew.html
>
>
>
> Thanks for the link! Indeed very pythonic... I personally think these
>
> are great improvements.
>
>
>
>> (1) what is this lambda-inline function business?
>
>
>
> I'm not sure about these lambda functions. In python a lot of stuff is
>
> based on iterators and in this case I understand why it's useful, but in
>
> IDL I dunnow...
>
>
>
>> (2) they're adding static methods to all variables?
>
>
>
> obj_destroy is "obsolete" since IDL8. I personally think these methods
>
> make code MUCH funnier to write and easy to read than the cumbersome use
>
> of SIZE(). Which operator overloading, this will encourage versatile
>
> code based on duck typing.
>
> I don't really understand the problem of backward compatibility you
>
> mention, since this has always been like this for each IDL version. One
>
> can still write code without list() and hash(), but then what's the
>
> point of buying IDL8?
>
>
>
>
>
> More generally, do you think that Exelis should invest more time
>
> somewhere else? Sure, they could develop new tools for the standard
>
> library but they will never be able to compete with python's huge user
>
> base, so I think that it's great that they make the language more
>
> flexible and funny to code with.
>
>
>
> Fabien
|
|
|