books.google.com - This work describes Mathematica programming methods and then explains how to apply them to the construction of the actual programs. In addition, it also discusses the software engineering issues of writing and using larger programs in Mathematica....https://books.google.com/books/about/Programming_in_Mathematica.html?id=-I0oAQAAMAAJ&utm_source=gb-gplus-shareProgramming in Mathematica

Programming in Mathematica

This work describes Mathematica programming methods and then explains how to apply them to the construction of the actual programs. In addition, it also discusses the software engineering issues of writing and using larger programs in Mathematica.

About the author (1997)

Roman Maeder was the third person to join the Mathematica development project, and was responsible for such parts of the system as polynomial factorization and language design. Maeder received his Ph.D. from the Swiss Federal Institute of Technology (ETH) in Zurich. Formerly a Professor of Computer Science at ETH, he is now an independent computing consultant.