My Compiler Does Not Understand Me. (Communications of the ACM, 2012)
The article discusses programming languages and coding style, examining issues such as code readability, errors, and compilers. The author examines errors in programs, software failures, and handling exceptions in source code, discussing control of allocated memory, non-comment source lines, and asserts. Other topics include the use of static analysis and optimization code by compilers, intentional programming, and how programming languages such as Ada, C, and C++ express the coder's intent. The author discusses the writing of the Varnish HTTP accelerator.