Abstract
Programming languages have added features that allow programmers to specify when a portion of code executes. In developing these features, language designers strive to strike a balance between reducing the runtime of programs and the time required to develop them. Theoretical approaches have often proven more confusing than helpful for programmers, but language designers have implemented features that improve both code readability and program runtime. Among these, high-performance applications commonly use metaprogramming and concurrency. These successful features continue to inform the design of programming languages.