Automating programming: AI is transforming the coding of computer programs
This article of course presents automatic programming as if it&#x27;s a brand new
thing that is only now possible to do thanks to &quot;AI&quot;, but that is only how
companies that sell the technology find it convenient to present things to
market their products. The thing to keep in mind is that program synthesis is an
old field and a lot of progress has been made that is completely ignored by the
article. Of course most people haven&#x27;t even heard of &quot;program synthesis&quot; in the
first place, simply because it is not as much hyped as GPT-3 and friends.<p>From my point of view (my field of study is basically program synthesis for
logic programs) code generation with large language models is not really
comparable to what can be achieved with traditional program synthesis
approaches.<p>The main advance seems to be in the extent to which a natural language (i.e.
English) specification can be used, but natural language specifications are
inherently limited because of the ambiguity of natural language. Additionally,
trying to generate new code by modelling old code has the obvious limitation
that no genuinely new code can be generated. If you ask a language model to
generate code it doesn&#x27;t know how to generate - you&#x27;ll only get back garbage.
Because it has no way to <i>discover</i> code it doesn&#x27;t already know how to write.<p>So Copilot, for example, looks like it will make a fine boilerplate generator -
and I&#x27;m less skeptical about its utility than most posters here (maybe partly
because I&#x27;m not worried <i>my</i> work will be automated) but that&#x27;s all that should
be expected of it.