Quantitative generalizations of classical languages, which assign to each word a real number instead of a boolean value, have applications in modeling resource-constrained computation. We use quantitative automata (finite automata with transition weights) to define several natural classes of quantitative languages over finite and infinite words; in particular, the real value of an infinite run is computed as the maximum, limsup, limit average, or discounted sum of the transition weights. We define the classical decision problems of automata theory (emptiness, universality, language inclusion, and language equivalence) in the quantitative setting and study their computational complexity. As the decidability of language inclusion remains open for some classes of quantitative automata, we introduce a notion of quantitative simulation that is decidable and implies language inclusion. We also compare the expressive powers of the various classes of quantitative automata. In particular, we show that most classes of quantitative automata cannot be determinized.