The paper offers an abstract structure called environment (of mathematical programming) in which a pair of dual programs is settled symmetrically. Given an environment, the concepts of an optimization program, its dual and the associated Lagrangean are formalized and studied. The usual asymmetries in certain types of mathematical programming are due to selection of asymmetric environments. Common types of programming like: linear, nonlinear, convex, integer etc. are reviewed in the proposed framework.