Scientific and Array Based Languages Edit

Matlab Edit

  • Matlab: A Practical Introduction to Programming and Problem Solving by Attaway
  • MATLAB Guide by Desmond Higham and Nicholas Higham
  • Numerical Computing with MATLAB by Moler

Fortran Edit

  • Fortran 95/2003 for Scientists & Engineers by Chapman
  • Guide to Fortran 2008 Programming by Brainerd
  • Modern Fortran Explained by Metcalf, Reid, and Cohen (or the older Fortran 95/2003 Explained)
  • Modern Fortran in Practice by Markus

J Edit

General Purpose Languages Edit

C++ Edit

  • Programming: Principles and Practice Using C++ by Stroustrup
  • C++ Primer by Lippman, Lajoie, and Moo
  • Discovering Modern C++: An Intensive Course for Scientists, Engineers, and Programmers by Gottschling
  • The C++ Standard Library: A Tutorial and Reference by Josuttis
  • The C++ Programming Language by Stroustrup

C Edit

Why The Programming Language C Is Obsolete

  • C Programming: A Modern Approach By King
  • Modern C by Jens Gustedt
  • C Programming Language by Kernighan and Ritchie
  • The C Standard Library by Plauger
  • Expert C Programming: Deep C Secrets By Linden

Scripting Languages Edit

Lua Edit

  • Programming in Lua by Ierusalimschy
  • Lua Programming Gems by de Figueiredo, Celes, Ierusalimschy

Python Edit

On Windows, the easiest way to install Python along with the common libraries like NumPy, SciPy, Sympy, Matplotlib, and Pandas and IDEs like IPython (Notebook similar to Maple or Mathematica's notebooks) and Spyder (similar to Matlab's IDE) is to use WinPython.


  • Learning SciPy for Numerical and Scientific Computing by Blanco-Silva
  • IPython Interactive Computing and Visualization Cookbook by Rossant
  • Python Essential Reference by Beazley

Stack-Oriented Languages Edit

Forth Edit

  • Starting Forth by Brodie
  • Forth Application Techniques by Rather
  • Forth Programmer's Handbook by Conklin and Rather
  • Thinking Forth by Brodie

Functional Languages Edit

Lisp/Scheme/Racket Edit

  • How to Design Programs: An Introduction to Programming and Computing by Felleisen, Findler, Flatt, and Krishnamurthi
  • "The Little Schemer" and "The Seasoned Schemer" by Friedman and Felleisen
  • The Scheme Programming Language by Dybvig [Free]
  • The Racket Guide by Flatt and Findler

Haskell Edit

  • Programming in Haskell by Hutton
  • Haskell: The Craft of Functional Programming by Thompson
  • Real World Haskell by O'Sullivan, Stewart, and Goerzen
  • Parallel and Concurrent Programming in Haskell by Marlow

Standard ML Edit

OCaml Edit

Logic Languages Edit

Prolog Edit

  • Programming in Prolog by Clocksin and Mellish
  • Prolog Programming for Artificial Intelligence by Bratko
  • The Art of Prolog: Advanced Programming Techniques by Sterling and Shapiro
  • The Practice of Prolog by Sterling
  • The Craft of Prolog by O'Keefe
Community content is available under CC-BY-SA unless otherwise noted.