I currently use C for numerical computations. I've heard that using C++ Expression Templates is better for scientific computing. What are C++ Expression Templates in simple terms? 

1. Are there books around that discuss numerical methods/computations using C++ Expression Templates?
2. In what way, C++ Expression Templates are better than using pure C?