Top programming languages is mostly debated topic. For a new programmer or researcher, this is the first question that comes to our mind - "What programming language should I use"?
Here are the top languages used for researchers in Quantum Chemistry and Condensed Matter Theory researchers. For wrapping purpose, mostly python is used. Note that a combination of these languages such as (Fortran with Python, C++ with python, Fortran and C also widely used in many codes)
Fortran
C++
Python
C
Here are some discussion.
Fortran
Fortran is the most widely used language for long time. It has rich libraries that can do numerical computations and most (or almost all) of the condensed matter codes are written in Fortran. Codes written in Fortran has very good readablity. One of the reason for the wide use of Fortran is considered is that when the original developers wrote the code, Fortran was mostly popular and still popular and it takes much effort to rewrite modern language such as C++. However, because Fortran 90 adapts all the features of C++ such as class, inheretance, isomorphisms etc, there is no need to switch to C++.
Example: VASP, Quantum Espresso, ELK, etc.
C++
Quantum Chemistry packages where the molecular properties are calculated are mostly using C++ as programming languages. Quantum Chemistry researchers love C++. Most of the chemistry based codes especially use C++. The speed is almost equal to C++. This language also has good libraries for numerical computation.
Python
Python is the fastest growing language and easy to learn. Researchers and educators advice that Python should be taught as the first programming languages. With the Numpy and Scipy packages, the speed is comparable to C++ most of the time. Python can also be used as a wrapper language along with other codes such as Fortran and C/C++.
C
C is the minimalist language and it can be used to do almost anything. While it has no class, inheritance and isomorphism, this is the first language that is taught to computer science students. This language is used in a countable number of codes with Python as a wrapper language.
What is your take on this? Comment here if you agree or disagree.
For the list of software and more details see this Wikipedia page List of quantum chemistry and solid-state physics software.
No comments:
Post a Comment