In this work, we present an introduction to automatic differentiation,its use in optimization software, and some new potential usages. Wefocus on the potential of this technique inoptimization. We do not dive deeply in the intricacies of automaticdifferentiation, but put forward its key ideas. We sketch a survey, asof today, of automatic differentiation software, but warn the readerthat the situation with respect to software evolves rapidly. In thelast part of the paper, we present some potential future usage ofautomatic differentiation, assuming an ideal tool is available, whichwill become true in some unspecified future.