Page 1 of 1

astrophysics data reduction

Posted: Mon Aug 18, 2014 8:48 pm
by tweetie_brid
i am wondering if the idl programming language is used here. or is it more. c++ or python

Re: astrophysics data reduction

Posted: Mon Aug 18, 2014 10:43 pm
by TakeruK
Everyone has their own pet language.

My experience working with many different astrophysics data reduction people is that the most common tool is IDL. In second place is IRAF, which is a piece of software that I really hate using but it does have some useful tools. However, the new popular language for younger astronomers is now Python. C++ is not used very much by anyone I know.

People tend to use the language that has the most amount of useful tools available. For a long time, IDL reigned supreme because of NASA's "astrolib" toolset, with very handy functions to read FITS files, convert HH:MM:SS format to DD:MM:SS, convert JD to calendar day etc. IRAF still has a ton of useful tools that quickly does things like plot profiles, fit PSF, do aperture photometry and it's a GUI so I think a lot of people use that. Especially since it has a lot of heavily tested and used procedures.

Recently, with the growth of the "astropy" module, python users now also have access to a ton of useful astronomical routines similar to IDL "astrolib". So, python really is the new thing and if you have a choice of language to learn, I'd recommend python. I would only say to learn IDL if your group has a *lot* of other routines already written in IDL that you can't find python equivalents to. Python also has the added advantage of being free, so you can always use it, no need to worry about licenses.

My own story: I started with IDL in 2007. I used it for astronomy all the way until summer 2013, when I learned python and started writing all new code in python. Python has a lot of nice wrapper tools so I can call IDL code and load up IDL save files with python, so the switch was easy. I just kept writing new code in python and if I ever had to rewrite a big part of an old IDL code, I would just rewrite the whole thing in python too! Now, one year later, almost all of my code is in python and I'm much happier personally :)