The main purpose of codes should be producing optimum structures. Within one plausible system of ethics one should optimize for all of society, including future generations, taking into account protection of property, not only of life. Wide uncertainties demand use of probability theory, particularly Baysian statistics. Limit-states design, split factors, characteristic values, semiprobabilistic codes, and second-moment formats approximate reliability levels design. This familiarizes engineers with probability theory but overemphasizes influence of uncertainties and of statistical correlation and does not reflect the economic framework. Intuitive adjustments of reliability levels are unsatisfactory. Advent of optimization codes should be accelerated. A strategy for code evolution comprises education, production of design aids, flexibility in format, and research into statistics of human error and workings of intuition.