On Program Synthesis and Large Language Models