Languages for Scientific Computing: Glossary

Key Points

The Sieve of Eratosthenes
  • A literal translation of an algorithm ends up in a poorly efficient code.

  • Each language has its own way of doing things. Knowing how to adapt the algorithm to the language is the way to create efficient code.

Interpreted Languages (Python and R): A comparative review
  • Interpreted languages give you the flexibility to for scientific exploration

  • R is the standard for statistical analysis

  • Python is a general purpose language which is fast to code and easy to use

  • Both languages have a rich ecosystem of external libraries and packages.

C/C++: Traditional Computing
  • C is widely used, there are well stablished compilers for it, in fact most Operating Systems are written in that language.

  • C++ is a derivative of C with object oriented syntax

  • C++ can be very powerful for scientific computing when used together with Boost

Fortran: Intensive Numerics
  • The most important libraries for Matrix computation and Linear Algebra, BLAS and LAPACK were written in Fortran and they are still in used today. They are behind Numpy in Python and R can be compiled to use it too.

Julia: The best of two worlds
  • Julia offers the advantages of interpreted languages like R or Python and good performance, approaching that of statically-compiled languages like C

Cython: Accelerate Python Execution
  • Cython is a superset of the Python programming language, designed to give C-like performance with code that is written mostly in Python.

Fortran inside R
  • You can integrate compiled languages like Fortran or C inside R to optimize specific routines. The resulting code becomes restricted to only run on similar machines.

Glossary

FIXME