This weeks episode contains a blog post about performance improvements on .Net 6. This very detailed blog post explains in-depth what and how the performance of .Net 6 was improved. Next, study from Cornwell University showing that GitHub’s Copilot may steer you into dangerous places because a lot of code it produces is buggy. Then, a very nice introduction to JQ, a tool for command-line processing JSON documents.
Performance Improvements in .NET 6
Quite some block post by Stephen Toub, Partner Software Engineer for .Net, at the DevBlogs from Microsoft. The blog, containing only 45’000 words, explains a lot of new and improved stuff in .NET 6. The main message of the blog post is that there are a lot of small performance improvements that will boost the overall performance of any .NET application.
While not just explaining what changed, Stephen also explains in depth how it changed and provides a link to the relevant pull-requests on GitHub. This allows to dig deep into a lot of interesting concepts of the dotnet runtime. TheRegister measured that .NET 6 will be around 25% faster while generating a little bit more code.
The blog post is available at Microsoft DevBlog.
GitHub’s Copilot may give you buggy code – 40% of the time
A very well discussed topic is GitHub’s latest product: Copilot. As the name suggest: Copilot will assist you while writing code. It goes usually in the way that either you write a comment explaining what you’d like and Copilot will suggest a solution or that Copilot will extend your code on-the-fly with code it thinks will help you to solve your problems.
Now, this sounds very interesting and promising. And probably there are some use-cases for GitHub’s Copilot. Despite the very long discussion about licensing (like here, or at fossa.com, and much more) a new study popped up suggesting that around 40% of the time, GitHub’s Copilot may not actually help you but will write code that contains bugs and issues. The Cornell University, publishing the study, produced 89 different scenarios producing 1’692 programs whereas around 40% of them were vulnerable.
I think Copilot’s concept very interesting and it may provide assistance – at some point in the future. For today, I think it’s nothing more than a gadget and something you can use for fun (or while doing a whiteboard interview 🙂 ), but not something that will replace a qualified software engineer who is trained to think differently about code.
You can find the full study at Cornell University.
An introduction to JQ
JQ is one of these amazing tools one can use in a bash environment. JQ, a lightweight and flexible command-line JSON processor, is similar to XPath and XML. It allows to traverse/process/extract JSON documents.
And with a lot of power comes a lot of complexity, that’s why Adam Gordon Bell wrote an introduction to JQ explaining the basic concept and gives some examples for processing JSON documents.
You’ll find the blog post at Adams blog.