Your experience with other scientific languages? [message #86453] |
Mon, 11 November 2013 09:11  |
Fabzi
Messages: 305 Registered: July 2010
|
Senior Member |
|
|
IDLers,
It is not my intention to start a troll-like discussion here. I am
reading this newsgroup since a couple of years now and I really
appreciate the friendly tone of this group (I followed some other groups
where arrogant people argued with other arrogant people... awful).
Having said this, I am wondering why we are never talking about other
languages. Is it to avoid trolls like me, or because EXELIS people also
read this group? (did I emphasize already how much I appreciate the
reactivity of Mark and Chris on this group? ;-))
To my point: I am starting a career in academia and my future employer
and colleagues don't use IDL. I could argue with my future boss and make
him pay for an IDL license. But I am seriously wondering if I want to do
this during my whole career (taking the risk to always be the only one
using IDL), and I am thinking about leaning Python. I've been searching
a bit for pro and cons, and since I am in the atmospheric sciences I
came to this website for example:
http://pyaos.johnny-lin.com/?p=544
Such a topical argument can last for ever, starting with the pros and
cons of open-source VS commercial softwares. So I will try to limit the
discussion to a couple of points:
- Map Projections: pyproj relies on the state-of-the art proj.4, and can
do Datum shifts (it seems). IDL's system is quite old and can't do datum
shifts.
- Graphics: I read in a VISualize presentation that IDL's objective was
to be "better than Python" in plotting (can't find the PDF anymore).
Does that mean that Python is really good at plotting?
- Statistics: my feelings says that Python probably has many more tools
"out-of-the-box" due to the larger community.
- Easiness of use: I am a Linux user so I am not afraid of installing
some packages, but I'm told that python is quite complicated in this
respect.
My question: did some of you have experience with python or similar
languages and if yes, what was your impressions *from the IDL user
perspective*? Any thoughts are appreciated!
Thanks,
Fabien
|
|
|
Re: Your experience with other scientific languages? [message #86454 is a reply to message #86453] |
Mon, 11 November 2013 09:44   |
Andy Sayer
Messages: 127 Registered: February 2009
|
Senior Member |
|
|
For some context, I use IDL as my main programming language for Earth science research (satellite and ground-based remote sensing).
I have used Python a bit. Some friends (in the same field of research and so with the same basic needs) swear by it, and are able to produce maps and plots which look as nice as those I make in IDL.
One of the main reasons I use IDL is that's what a lot of other people were using, and what our department's code was in when I started my doctorate (well it was mostly IDL but also a bit of Python and FORTRAN). We didn't really have a choice and I was a novice programmer so didn't want to strike out with a different language when everyone else was using IDL.
When I moved to my current job it was also an IDL-rich group, so it was again easier to migrate some of my own old code, and also deal with inherited code. Python was present at both institutions (as was Matlab, incidentally, which I've never used), but it was always second fiddle to IDL.
So for me the argument for sticking with IDL through the years has been ease of dealing with inherited code and not having to build up personal libraries from the ground. I also prefer the way written IDL looks to Python (I find the indenting and lack of 'closure' of indents in Python jarring to read), although expect I could train myself not to be bothered by it.
I guess if I were moving to a new job where they didn't use IDL it may be tempting to start again with Python... it would solve license issues (all institutions I've been at with IDL have had limited numbers of licenses because of the cost, which can lead to a lot of frustrations having to walk around buildings and figure out who really needs it that day). In terms of Python's ease of installation, I'm told that while the language is free there's some package you can pay for which is an 'easy install' of most packages you'd use.
From time to time I think of taking the plunge with Python but without a 'push' to do it, so far I haven't. I do think IDL is fairly easy, which is one attraction, and am happy with it (most of the time, see my previous threads regarding map_image, map_continents and so forth and what appears to be a lack of interest from Exelis to fix these things).
Andy
|
|
|
Re: Your experience with other scientific languages? [message #86455 is a reply to message #86453] |
Mon, 11 November 2013 09:59   |
Michael Galloy
Messages: 1114 Registered: April 2006
|
Senior Member |
|
|
On 11/11/13, 10:11 AM, Fabien wrote:
> It is not my intention to start a troll-like discussion here. I am
> reading this newsgroup since a couple of years now and I really
> appreciate the friendly tone of this group (I followed some other groups
> where arrogant people argued with other arrogant people... awful).
> Having said this, I am wondering why we are never talking about other
> languages. Is it to avoid trolls like me, or because EXELIS people also
> read this group? (did I emphasize already how much I appreciate the
> reactivity of Mark and Chris on this group? ;-))
I think we don't discuss them here is simply because this is an IDL
newsgroup, though I think your discussion is still appropriate as it
relates IDL to other languages.
> To my point: I am starting a career in academia and my future employer
> and colleagues don't use IDL. I could argue with my future boss and make
> him pay for an IDL license. But I am seriously wondering if I want to do
> this during my whole career (taking the risk to always be the only one
> using IDL), and I am thinking about leaning Python. I've been searching
> a bit for pro and cons, and since I am in the atmospheric sciences I
> came to this website for example:
> http://pyaos.johnny-lin.com/?p=544
>
> Such a topical argument can last for ever, starting with the pros and
> cons of open-source VS commercial softwares. So I will try to limit the
> discussion to a couple of points:
>
> - Map Projections: pyproj relies on the state-of-the art proj.4, and can
> do Datum shifts (it seems). IDL's system is quite old and can't do datum
> shifts.
> - Graphics: I read in a VISualize presentation that IDL's objective was
> to be "better than Python" in plotting (can't find the PDF anymore).
> Does that mean that Python is really good at plotting?
> - Statistics: my feelings says that Python probably has many more tools
> "out-of-the-box" due to the larger community.
> - Easiness of use: I am a Linux user so I am not afraid of installing
> some packages, but I'm told that python is quite complicated in this
> respect.
>
> My question: did some of you have experience with python or similar
> languages and if yes, what was your impressions *from the IDL user
> perspective*? Any thoughts are appreciated!
I like Python and have used it for occasional projects. Back when I was
using it more frequently, it was a difficult task to collect and build
all the third-party packages required to do scientific programming. I
think that is mostly solved by packages such as Anaconda
(store.continuum.io/cshop/anaconda). If you have to do something outside
the normal realm of scientific programming, like web programming, Python
gives you a lot of choices.
Mike
--
Michael Galloy
www.michaelgalloy.com
Modern IDL: A Guide to IDL Programming (http://modernidl.idldev.com)
Research Mathematician
Tech-X Corporation
|
|
|
Re: Your experience with other scientific languages? [message #86463 is a reply to message #86453] |
Tue, 12 November 2013 02:58   |
Fabzi
Messages: 305 Registered: July 2010
|
Senior Member |
|
|
Andy, Mike,
thanks for your answers! Like you I learned to really like IDL and I am
efficient enough with it, but the relatively poor map projection
handling and the lack of user friendly standard statistical tools
(matlab for example proposes graphical ANOVA, significance tests or
histogram fitting tools) are really annoying.
I will give a look at python or R and try to be able to develop in both
languages in the first place. I'll let you know!
Fabien
On 11/11/2013 06:11 PM, Fabien wrote:
> IDLers,
>
> It is not my intention to start a troll-like discussion here. I am
> reading this newsgroup since a couple of years now and I really
> appreciate the friendly tone of this group (I followed some other groups
> where arrogant people argued with other arrogant people... awful).
> Having said this, I am wondering why we are never talking about other
> languages. Is it to avoid trolls like me, or because EXELIS people also
> read this group? (did I emphasize already how much I appreciate the
> reactivity of Mark and Chris on this group? ;-))
>
> To my point: I am starting a career in academia and my future employer
> and colleagues don't use IDL. I could argue with my future boss and make
> him pay for an IDL license. But I am seriously wondering if I want to do
> this during my whole career (taking the risk to always be the only one
> using IDL), and I am thinking about leaning Python. I've been searching
> a bit for pro and cons, and since I am in the atmospheric sciences I
> came to this website for example:
> http://pyaos.johnny-lin.com/?p=544
>
> Such a topical argument can last for ever, starting with the pros and
> cons of open-source VS commercial softwares. So I will try to limit the
> discussion to a couple of points:
>
> - Map Projections: pyproj relies on the state-of-the art proj.4, and can
> do Datum shifts (it seems). IDL's system is quite old and can't do datum
> shifts.
> - Graphics: I read in a VISualize presentation that IDL's objective was
> to be "better than Python" in plotting (can't find the PDF anymore).
> Does that mean that Python is really good at plotting?
> - Statistics: my feelings says that Python probably has many more tools
> "out-of-the-box" due to the larger community.
> - Easiness of use: I am a Linux user so I am not afraid of installing
> some packages, but I'm told that python is quite complicated in this
> respect.
>
> My question: did some of you have experience with python or similar
> languages and if yes, what was your impressions *from the IDL user
> perspective*? Any thoughts are appreciated!
>
> Thanks,
>
> Fabien
>
>
|
|
|
Re: Your experience with other scientific languages? [message #86469 is a reply to message #86453] |
Tue, 12 November 2013 06:50   |
lecacheux.alain
Messages: 325 Registered: January 2008
|
Senior Member |
|
|
Le lundi 11 novembre 2013 18:11:22 UTC+1, Fabien a écrit :
> IDLers,
>
>
>
> It is not my intention to start a troll-like discussion here. I am
>
> reading this newsgroup since a couple of years now and I really
>
> appreciate the friendly tone of this group (I followed some other groups
>
> where arrogant people argued with other arrogant people... awful).
>
> Having said this, I am wondering why we are never talking about other
>
> languages. Is it to avoid trolls like me, or because EXELIS people also
>
> read this group? (did I emphasize already how much I appreciate the
>
> reactivity of Mark and Chris on this group? ;-))
>
>
>
> To my point: I am starting a career in academia and my future employer
>
> and colleagues don't use IDL. I could argue with my future boss and make
>
> him pay for an IDL license. But I am seriously wondering if I want to do
>
> this during my whole career (taking the risk to always be the only one
>
> using IDL), and I am thinking about leaning Python. I've been searching
>
> a bit for pro and cons, and since I am in the atmospheric sciences I
>
> came to this website for example:
>
> http://pyaos.johnny-lin.com/?p=544
>
>
>
> Such a topical argument can last for ever, starting with the pros and
>
> cons of open-source VS commercial softwares. So I will try to limit the
>
> discussion to a couple of points:
>
>
>
> - Map Projections: pyproj relies on the state-of-the art proj.4, and can
>
> do Datum shifts (it seems). IDL's system is quite old and can't do datum
>
> shifts.
>
> - Graphics: I read in a VISualize presentation that IDL's objective was
>
> to be "better than Python" in plotting (can't find the PDF anymore).
>
> Does that mean that Python is really good at plotting?
>
> - Statistics: my feelings says that Python probably has many more tools
>
> "out-of-the-box" due to the larger community.
>
> - Easiness of use: I am a Linux user so I am not afraid of installing
>
> some packages, but I'm told that python is quite complicated in this
>
> respect.
>
>
>
> My question: did some of you have experience with python or similar
>
> languages and if yes, what was your impressions *from the IDL user
>
> perspective*? Any thoughts are appreciated!
>
>
>
> Thanks,
>
>
>
> Fabien
I am using IDL since many years (since IDL V2.0 ...) for multiple purposes in astronomy like instrumentation handling, data processing, or theoretical modeling. In rare situations, the coupling with a lower level (C like) language was needed, but always easy to perform through IDL facilities as bridges, external calling or DLM writing. Efficiency of most of the kernel functions (like FFT or HISTOGRAM) is amazing. Compactness and elegance of the IDL language (directly linked to program developing efficiency) is great.
I was also occasionally looking at other similar tools, like MATLAB, Python or R, but I never found any scientific or technical rationale for finally not using IDL in those cases. The only reason for avoiding IDL might have been its licensing cost, but this kind of reasoning cannot be considered as fully satisfying from a scientific point of view (and is not relevant for MATLAB which is as much expensive as IDL).
That is said in general. Regarding the topics you pointed out:
- mapping: I have not enough experience in it.
- graphics: the so called NG graphics functions are now very usable and full of possibilities (thanks to their object programming scheme). In spite of a somewhat frustrating and erratic introduction during the last 3 years, they offer now the abilities to easily produce plots of publishable quality and to efficiently build GUI for VM executables, without dealing with the whole widget programming subtlety.
- statistics: what are you actually missing ? Maybe some functions for second order statistics. Otherwise, I think that most of the fundamental bricks for doing efficient statistical analysis are already here. You also can get some third party free libraries.
- easiness of use: see above.
Returning to the general question: is the costing IDL a good choice versus the free Python ? The answer depends on the way you define the scientific cost of your work. Are you using software for "small" interactive calculations of for developing "large" processing pipelines ? are you developing alone or within a collaborative team ? etc...
Finally, I would say (at least it was my impression in reading many posts from this group) that a number of IDL users were disappointed in the last few years by some "IDL instabilities" (unknown in old IDL versions up to 6.4), due to several important changes, namely the introduction of Workbench and New Graphics, which took time to be made really working by EXELIS. Whence most of the questioning about "leaving IDL for Python".
In addition, the present VM scheme for IDL executable distribution seems to me a bit outdated, and might no longer be appealing enough to incite users to do not use unnecessary developer licenses. But EXELIS must also sale enough licenses to maintain IDL at the good level. The economical compromise is maybe not so easy to find...
alain.
|
|
|
|
Re: Your experience with other scientific languages? [message #86548 is a reply to message #86455] |
Mon, 18 November 2013 12:03  |
penteado
Messages: 866 Registered: February 2018
|
Senior Member Administrator |
|
|
> I like Python and have used it for occasional projects. Back when I was
> using it more frequently, it was a difficult task to collect and build
> all the third-party packages required to do scientific programming. I
> think that is mostly solved by packages such as Anaconda
> (store.continuum.io/cshop/anaconda).
This definitely still is a major hassle in Python. Yes, Packages like Anaconda and Enthought Canopy are very helpful, but still, in any complex project I run into many missing packages, with widely varied degrees of difficulty to get installed. Particularly varied when I have to install them on several different systems, with different OS.
Which is why the developers of several complex packages distribute their own Python packaging (Ureka, CASA and yt, to name a few). Leading to several different, possibly interacting, Python installations to manage.
Then there is the whole mess of the Python 2-3 transition. Nearly all scientific software I come upon is still in Python 2.
So I agree that "python is quite complicated in this respect."
I also have suffered a lot for the lack of a Python IDE that worked as nicely for debugging as IDL's. I recently started using Spyder, which is giving me a better experience so far.
|
|
|