Computer Science rests on an unphysical division between the description of a computation and its implementation. Many issues in computing, including its scalability, efficiency, and security, arise at that interface. I will introduce alternative approaches to aligning the representations of hardware and software, and explore some of the social and economic implications of programming atoms as well as bits.