TY - JOUR T1 - Programming the Quantum Future JF - Communications of the ACM Y1 - 2015 A1 - D. Scott Alexander A1 - Neil J. Ross A1 - Peter Selinger A1 - Jonathan M. Smith A1 - BenoƮt Valiron AB - The earliest computers, like the ENIAC, were rare and heroically difficult to program. That difficulty stemmed from the requirement that algorithms be expressed in a "vocabulary" suited to the particular hardware available, ranging from function tables for the ENIAC to more conventional arithmetic and movement operations on later machines. Introduction of symbolic programming languages, exemplified by FORTRAN, solved a major difficulty for the next generation of computing devices by enabling specification of an algorithm in a form more suitable for human understanding, then translating this specification to a form executable by the machine. The "programming language" used for such specification bridged a semantic gap between the human and the computing device. It provided two important features: high-level abstractions, taking care of automated bookkeeping, and modularity, making it easier to reason about sub-parts of programs. VL - 58 U4 - 52-61 UR - http://cacm.acm.org/magazines/2015/8/189851-programming-the-quantum-future/fulltext#comments CP - 8 U5 - 10.1145/2699415 ER -