/sci/ Wiki

Scientific and Array Based Languages[]


  • 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 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


General Purpose Languages[]


  • 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


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[]


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


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[]


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

Functional Languages[]


  • 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
  • Structure and Interpretation of Computer Programs by Abelson, G. J. Sussman, and J. Sussman


  • 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[]


Logic Languages[]


  • 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