Magma is a programming language created for computations in computer algebra, geometry, combinatorics, and number theory, developed by John Cannon at the University of Sydney and released in 1993. Version 2.18, as of 2012, includes extensive documentation and enables interaction as well as modular programming through various algebraic structures and data types. The language supports a variety of applications, from group theory to cryptography, and emphasizes efficient mathematical operations and natural programming styles.