We provide an overview of automatic differentiation (AD), a technique for the efficient computation of derivatives of functions defined in some programming language. We give a short explanation of how AD works, indicate the anticipated cost of derivatives computed using AD, and survey what AD tools are available. We illustrate the flexibility and utility of AD techniques with a maximum likelihood example and survey other possible applications