Programmable Physics