It’s no fun to program complex arithmetic in a language that doesn’t support it. Worse, the resulting code is cumbersome, opaque, and hard to maintain. In this column I illustrate how complex arithmetic simplifies algorithms in two-dimensional Cartesian vector space. I also show how straying into the complex plane can make difficult numerical integrals tractable. In other words, I am arguing that languages for scientific computation should support complex arithmetic.