Computer simulation methods, such as Monte Carlo or Molecular Dynamics, are very powerful computational techniques that provide detailed and essentially exact information on classical many-body problems. With the advent of ab-initio molecular dynamics, where the forces are computed on-the-fly by accurate electronic structure calculations, the scope of either method has been greatly extended. This new approach, which unifies Newton's and Schr\"odinger's equations, allows for complex simulations without relying on any adjustable parameter. This review is intended to outline the basic principles as well as a survey of the field. Beginning with the derivation of Born-Oppenheimer molecular dynamics, the Car-Parrinello method and the recently devised efficient and accurate Car-Parrinello-like approach to Born-Oppenheimer molecular dynamics, which unifies best of both schemes are discussed. The predictive power of this novel second-generation Car-Parrinello approach is demonstrated by a series of applications ranging from liquid metals, to semiconductors and water. This development allows for ab-initio molecular dynamics simulations on much larger length and time scales than previously thought feasible.