But not actually. Program synthesis is hard even if you have perfect formal requirements. In practice, gathering formal requirements is by far the most difficult task. You're probably better off building a system using modern development practices than trying to collect formal requirements Let alone translating those requirements into code, which is easier than coming up with the requirements but still difficult.
> Recently AI has proved...
FYI, it's not as if the program synthesis folks haven't heard of neural nets... you're giving researchers who actually do this stuff all day surprisingly little credit.
I mean yes good program synthesis wouldn't replace programmers on it's own. But it would radically change how programming is done and make our lives much easier.
I'm just saying that AI is a quickly advancing field and predictions like "not in 20 years" have been defied months later. Applying deep reinforcement learning to tasks like game playing is relatively novel, and has only really started to succeed in the last 2 years.
Past a certain point the structure of a space is what matters which dictates how well any given search strategy will perform, and that doesn't readily generalize across domains.
I have not seen anything that would lead me to believe that results like AlphaGo will meaningfully generalize to such an extent. I still think that it would take more than just incremental work to get from where we are now to scalable program synthesis.
Recently AI has proved it can beat expert humans at all perfect information games. Go has a ridiculously huge search space, but by using neural networks AIs can learn to narrow it down to a manageable size.
Program synthesis is just like a perfect information game. You have a search space, a state, a set of goals, etc. You could theoretically make it into a board game, and have human experts challenge computers at it.