Which language should I learn for computational science?

 Which language should I learn for computational science? Via this


Python!

  1. Start off directly using the numpy library, small scripts, and the ipython interactive shell.
  1. Get more advanced with the help of numerous free books and tutorials.
  1. Get more productive using scipy as a frontend to highly performant numerical routines and matplotlib for visualization
  1. Take advantage of well developed and powerful modules for scientific computing as Krypy, FeNiCS and lots of others
  1. Notice, that the smooth transition between flat and object oriented programming and the inherent modularity of Python make larger projects easy to handle.
  1. Make your code as fast as C or Fortran by simply rewriting critical parts in cython. You can also easily include routines written in Fortran or C.

This paraphrases what I think is the best way to approach a problem in scientific computing. Start with getting a hand on the problem by playing around with toy examples in small scripts. Become more systematic and set up a suite of code. Then make your code work!!! Finally, if necessary, do code optimization. Don’t reinvent the wheel and don’t do premature optimization.

By Jan

This is the exact way I have worked in the past and this is what I recommend to anyone who asks.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s