Copilot regurgitating Quake code, including sweary comments
This is utterly damning.  I have already instructed my team that Copilot can never be used for our projects.  Compromising the product because of unknowable license demands isn&#x27;t acceptable in the professional world of software engineering.<p>But if we put the licensing to one side for a moment...<p>1&#x2F; Everything I&#x27;ve seen it generate so far is &#x27;imperative hell&#x27;.  It is practically a &#x27;boilerplate generator&#x27;.  That might be useful for pet projects, smaller code bases, or even unit-test writing.  But large swathes of application code looking like the examples I&#x27;ve seen so far is hard to manage.<p>2&#x2F; The boilerplate is what bothers me the most (as someone who believes in the declarative approach to software engineering).  The future for programming and programming languages should be an attempt to step up to a higher level of abstraction, that has been historically the way we step up to higher levels of productivity.  As applications get larger and code-bases grow significantly we need abstraction, not more boilerplate.<p>3&#x2F; As someone who develops a functional framework for C# [1], I could see Copilot essentially side-lining my ideas and my approach to writing code in C#.  Not just style, but choice of types, etc.  I wonder if the fall out of what is Copilot&#x27;s &#x27;one true way&#x27; of generating code was ever considered?  It appears to force a style that is at odds with many who are looking for more robust code.  At worst it will homogenise code &quot;people who wrote that, also wrote this&quot; - stifling innovation and iterative improvements in the industry.<p>4&#x2F; Writing code is easy.  Reading and understanding code written by another developer is hard.  Will we spend most of our time as code-reviewers going forwards?  Usually, you can ask the author what their intentions were, or why they think their approach is the correct one.  Copilot (as far as I can tell) can&#x27;t justify its decisions.  So, beyond the simple boilerplate generation, will this destroy the art of programming? I can imagine many juniors using this as a crutch, and potentially never understanding the &#x27;why&#x27;.<p>I&#x27;m not against productivity tools per se; it&#x27;s certainly a neat trick, and a very impressive feat of engineering in its own right.  I am however dubious that this really adds value to professional code-bases, and actively may decrease code quality over time.  Then there&#x27;s the grey area of licensing, which I feel has been totally brushed to one side.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;louthy&#x2F;language-ext" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;louthy&#x2F;language-ext</a>