Semi‐infinite programs are optimization problems with either infinitely many constraints or infinitely many variables (but not both). This article reviews the fundamental duality theory and optimality conditions of such optimization problems and the most popular algorithmic strategies for their numerical solution. Easily implementable general methods are presented first, which require the solution of a sequence of conventional (finite) nonlinear optimization problems. Conic optimization problems, for which more efficient specialized methods are available, are also discussed.