Wednesday, 23 April 2014

software - What are the most popular computer programming languages in observational astronomy?

As an observational astronomer, most of your programming will be to perform data analysis, data exploration, and possibly image manipulation. Previously much of this was done with IDL, and the analysis pipelines for several/many/all(?) telescopes still rely on IDL. As GreenMatt points out though, IDL is on its way out. Since you have to buy a license to use it, you can only share code with other IDL users, it's not open source, etc.



The community is in the process of switching to Python, which is absolutely what I would recommend first for a new entry into the field. Python is free, open source, etc, etc. Since you'll be using python for data analysis and numerics, it is vital that you learn the NumPy package as well. With NumPy array operations in python are almost as fast as C or Fortran. SciPy and MatPlotLib are also incredibly useful, you don't need to learn the entire library, but you should be familiar with the basics.



The astronomy community is collaborating on some python packages to make more analysis techniques common. These are the AstroPy and AstroML packages. Once you get a handle on things, both would be good to be familiar with.



C is great to know, but not vital for day-to-day observational astronomy. We use it a lot in theoretical astronomy to write numerical simulations. Mainly I see C codes used in observational either for one-off calculations from a large dataset, or used to write fast modules for Python :) If that sounds up your alley, you should give it a shot too!

No comments:

Post a Comment