I am going to speak about recent joint results with A. B. Aleksandrov. It is well known that a Lipschitz function does not have to be operator Lipschitz. In other words, the inequality |f(x)-f(y)| = const |x-y| does not imply that ||f(A)-f(B)|| = const ||A-B|| for self-adjoint operators A and B. It turned out that the situation dramatically changes if we consider functions in Hoelder--Zygmund classes. We prove that if 0 = a = 1 and f is in the Hoelder class ?a(R), then for arbitrary self-adjoint operators A and B with bounded A-B, the operator f(A)-f(B) is bounded and ||f(A)- f(B)|| = const ||A-B||a. We prove a similar result for functions f of the Zygmund class ?1(R): ||f(A+K)-2f(A)+f(A-K)|| = const||K||, where A and K are self-adjoint operators. Similar results also hold for all Hoelder-Zygmund classes ?a(R), a > 0. We also study properties of the operators f(A)-f(B) for f in ?a(R) and self-adjoint operators A and B such that A-B belongs to the Schatten--von Neumann class Sp. We consider the same problem for higher order differences. Similar results also hold for unitary operators and for contractions.