Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Recently I was told of a job offer to analyse astronomical data. The job offer states that they want somebody with knowledge of astronomical data analysis software and it will be a plus somebody who has experience with programming languages, giving as examples: IDL and Fortran. My first question is:

  1. Is Matlab a good programming language? I mean, to treat astronomical data and any other things that they might want? From what I see IDL is comparable to Matlab, both have pros and cons but basically they both do the job.

  2. For my second question, and I'm sorry if I should post this on a different post but are very closely related, the selection for this job will be made by analysing data from some surveys on the optic, millimeter and infrared frequencies from the Hubble, Spitzer, Herschel and Apex telescopes. My other question is: what kind of data is this and what kind of treatment I may have to do? If somebody could indicate me somewhere online where free data is available I would be deeply thankful.

My experience on this kind of job is, clearly, limited, but I believe I have all the theoretical knowledge to tackle the problem, I just need to know what to study and train.

share|cite|improve this question
IDL does much the same as Matlab, but worse, which is why everyone (other than astronomers) abandoned it long ago. If your data analysis is supposed to produce code that others will also use, then you're probably stuck with the in-house preference, since very few astronomers are fluent in Matlab and there are many canned routines written for astronomy in IDL. The same for IRAF (for image reduction) - it's almost unusable, but that's just what everyone uses. – Chris White Oct 1 '13 at 21:55
I most of the time use Fortran95+Python instead of IDL. But you cannot avoid IRAF. The ugly IRAF is a duty every astronomer has to pay, because there is no substitution to it. It is awful, specially at the beginning, but it can be used for virtually anything related to images and spectra. – Eduardo Guerras Valera Oct 2 '13 at 3:35
IDL is a toolbox to easily achieve lots of things, because there are many astronomy subroutines already there, sparing you a lot of time. But for solid numerical programming you need Fortran 95/2008 or C++. It depends on what you are going to do and what your team uses. In any case, Matlab is not worth the effort, since it is nearly the same as IDL but without the astronomy libraries. – Eduardo Guerras Valera Oct 2 '13 at 3:44
Google for "Photometry Using IRAF", or go to and you will more or less see what is the kind of task you might be asked to accomplish. – Eduardo Guerras Valera Oct 2 '13 at 3:55
@PML and regarding python, there is a growing number of astronomers using it and a certain number of subroutines are already out there. It depends on the complexity of your task, as said. You might accomplish it with pyds9 but it seems pretty limited. But for some things like calibrating a raw long slit spectrum, for instance, you need IRAF. – Eduardo Guerras Valera Oct 2 '13 at 19:30

Matlab is faster than IDL and phyton. If you dont use linear algebra libraries It is also faster than fortran and C. You can try and see for yourself. There are some online matlab libs for astronomicsl image processing incliding treating FITS.

share|cite|improve this answer
"If you dont use linear algebra libraries It is also faster than fortran and C." What? MATLAB is extremely slow compared to FORTRAN and C on just about everything except linear algebra because it uses optimized libraries that were written in FORTRAN. – OSE Feb 14 '14 at 16:08
MATLAB is very useful though since the language is very easy to learn and there are a lot of built-in functions that make life easy. If you are really looking for speed, you should look at FORTRAN/C/C++ instead. – OSE Feb 14 '14 at 16:11
@OSE: Fortran hasn't been FORTRAN for 23 years. – Kyle Kanos Feb 14 '14 at 18:06
@KyleKanos Thanks for letting me know, I've never picked up on that distinction before. I almost entirely code in C++ and only link to Fortran code when necessary (LAPACK, ARPACK, etc...). – OSE Feb 14 '14 at 18:51
This answer is a misleading. Matlab uses ATLAS by default, so saying that a Matlab code is faster than a Fortran or C code w/o ATLAS is disingenuous. Matlab is highly vectorized, so doing array math is fast; once you start indexing your array, you'll notice that Numpy is faster! – Kyle Kanos Sep 28 '14 at 17:33

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.