<story><title>Automating programming: AI is transforming the coding of computer programs</title><url>https://www.economist.com/science-and-technology/2021/07/07/ai-is-transforming-the-coding-of-computer-programs</url></story><parent_chain><item><author>YeGoblynQueenne</author><text>This article of course presents automatic programming as if it&amp;#x27;s a brand new
thing that is only now possible to do thanks to &amp;quot;AI&amp;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&amp;#x27;t even heard of &amp;quot;program synthesis&amp;quot; in the
first place, simply because it is not as much hyped as GPT-3 and friends.&lt;p&gt;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.&lt;p&gt;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&amp;#x27;t know how to generate - you&amp;#x27;ll only get back garbage.
Because it has no way to &lt;i&gt;discover&lt;/i&gt; code it doesn&amp;#x27;t already know how to write.&lt;p&gt;So Copilot, for example, looks like it will make a fine boilerplate generator -
and I&amp;#x27;m less skeptical about its utility than most posters here (maybe partly
because I&amp;#x27;m not worried &lt;i&gt;my&lt;/i&gt; work will be automated) but that&amp;#x27;s all that should
be expected of it.</text></item></parent_chain><comment><author>codetrotter</author><text>&amp;gt; This article of course presents automatic programming as if it&amp;#x27;s a brand new thing that is only now possible to do thanks to &amp;quot;AI&amp;quot;, but that is only how companies that sell the technology find it convenient to present things to market their products.&lt;p&gt;Reminds me of this essay that pg wrote in 2005, titled The Submarine. Someone linked it in another thread here on HN recently.&lt;p&gt;&amp;gt; One of the most surprising things I discovered during my brief business career was the existence of the PR industry, lurking like a huge, quiet submarine beneath the news. Of the stories you read in traditional media that aren&amp;#x27;t about politics, crimes, or disasters, more than half probably come from PR firms.&lt;p&gt;&lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;www.paulgraham.com&amp;#x2F;submarine.html&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.paulgraham.com&amp;#x2F;submarine.html&lt;/a&gt;</text></comment>
<story><title>Automating programming: AI is transforming the coding of computer programs</title><url>https://www.economist.com/science-and-technology/2021/07/07/ai-is-transforming-the-coding-of-computer-programs</url></story><parent_chain><item><author>YeGoblynQueenne</author><text>This article of course presents automatic programming as if it&amp;#x27;s a brand new
thing that is only now possible to do thanks to &amp;quot;AI&amp;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&amp;#x27;t even heard of &amp;quot;program synthesis&amp;quot; in the
first place, simply because it is not as much hyped as GPT-3 and friends.&lt;p&gt;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.&lt;p&gt;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&amp;#x27;t know how to generate - you&amp;#x27;ll only get back garbage.
Because it has no way to &lt;i&gt;discover&lt;/i&gt; code it doesn&amp;#x27;t already know how to write.&lt;p&gt;So Copilot, for example, looks like it will make a fine boilerplate generator -
and I&amp;#x27;m less skeptical about its utility than most posters here (maybe partly
because I&amp;#x27;m not worried &lt;i&gt;my&lt;/i&gt; work will be automated) but that&amp;#x27;s all that should
be expected of it.</text></item></parent_chain><comment><author>montenegrohugo</author><text>Hmmm. A few points.&lt;p&gt;First, I&amp;#x27;ve never heard of program synthesis, and it seems like an interesting topic. Could you point me to some resources so I can learn more about it?&lt;p&gt;Second. I take issue with this statement:&lt;p&gt;&amp;gt; &amp;quot;trying to generate new code by modelling old code has the obvious limitation that no genuinely new code can be generated&amp;quot;&lt;p&gt;I disagree. We&amp;#x27;ve seen GAN&amp;#x27;s generate genuinely new artwork, we&amp;#x27;ve seen music synthesizers do the same. We&amp;#x27;ve also seen GPT-3 and other generative text engines create genuinely interesting and innovative content. AI dungeon comes to mind. Sure, it&amp;#x27;s in one way or another based on it&amp;#x27;s training data. But that&amp;#x27;s what humans do too.&lt;p&gt;Our level of abstraction is just higher, and we&amp;#x27;re able to generate more &amp;quot;distinct&amp;quot; music&amp;#x2F;code&amp;#x2F;songs based on our own training data. But that may not hold in the long term, and it also doesn&amp;#x27;t mean that current AI models can do nothing but regurgitate. They &lt;i&gt;can&lt;/i&gt; generate new, genuinely interesting content and connections.</text></comment>