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
Adding to sbi's answer, expression templates implement high-level peephole optimizations using templates for pattern matching and synthesis.
They also add syntactic sugar, or make your code more readable, by allowing you to specify the algorithm in terms of simple operations. So, in this case, simplicity and elegance are achieved through optimization by metaprogramming. At least, if you do everything right.