comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Your experience with other scientific languages?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Your experience with other scientific languages? [message #86453] Mon, 11 November 2013 09:11 Go to next message
Fabzi is currently offline  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 Go to previous messageGo to next message
Andy Sayer is currently offline  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 Go to previous messageGo to next message
Michael Galloy is currently offline  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 Go to previous messageGo to next message
Fabzi is currently offline  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 Go to previous messageGo to next message
lecacheux.alain is currently offline  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 #86470 is a reply to message #86469] Tue, 12 November 2013 09:21 Go to previous messageGo to next message
Fabzi is currently offline  Fabzi
Messages: 305
Registered: July 2010
Senior Member
Hi Alain,

On 11/12/2013 03:50 PM, alx wrote:
> - statistics: what are you actually missing ?

I mean "high-level" tools (not in the statistical complexity, but in the
programmatic sense).

For example, IDL has a regress() function. If you want the T-tests and
significance thresholds you have to do it yourself or you look for
external libs. Writing the code by yourself is easy, I agree, plus you
get to really understand what you do while doing it. But Matlab or R
have built-in tools for this, with GUI (e.g.:
http://www.mathworks.com/help/stats/regstats.html)

The same for curve fitting:
http://www.mathworks.com/products/curvefitting/index.html

This is not of vital importance but such things tend to scare students
who started with R or Matlab for example, and might find IDL less "user
friendly" at the first sight.

Fabien
Re: Your experience with other scientific languages? [message #86548 is a reply to message #86455] Mon, 18 November 2013 12:03 Go to previous message
penteado is currently offline  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.
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: PSYM=10 + POLYFILL = ?
Next Topic: mgunit 1.4.0 released

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 13:32:22 PDT 2025

Total time taken to generate the page: 0.00875 seconds