The Mata Book: A Book for Serious Programmers and Those Who Want to Be is the book that Stata programmers have been waiting for. Mata is a serious programming language for developing small- and large-scale projects and for adding features to Stata. What makes Mata serious is that it provides structures, classes, and pointers along with matrix capabilities. The book is serious in that it covers those advanced features, and teaches them. The reader is assumed to have programming experience, but only some programming experience. That experience could be with Stata's ado language, or with Python, Java, C++, Fortran, or other languages like them. As the book says, "being serious is a matter of attitude, not current skill level or knowledge".
The author of the book is William Gould, who is also the designer and original programmer of Mata, of Stata, and who also happens to be the president of StataCorp.
The mechanics of using Mata. A programmer’s tour of Mata. Mata’s programming statements. Mata’s expressions. Mata’s variable types. Mata’s strict option and Mata’s pragmas. Mata’s function arguments. Programming example: n_choose_k() three ways. Mata’s structures. Programming example: Linear regression. Mata’s classes. Programming example: Linear regression 2. Better variable types. Programming constants. Mata’s associative arrays. Programming example: Sparse matrices. Programming example: Sparse matrices, continued. The Mata Reference Manual. Writing Mata code to add new commands to Stata. Mata’s storage type for complex numbers. How Mata differs from C and C++. Three-dimensional arrays (advanced use of pointers).