.NET Tools

dotInsights | February 2024

dotInsights Monthly Newsletter by JetBrains

Welcome to dotInsights! This newsletter is the home for recent .NET and software development related content.

💎 Featured Content

Guess who the guest author is this month? It’s the usual author of the newsletter – Rachel Appel, .NET 🥑 at JetBrains. 

With AI’s rapid increase in popularity, it can be difficult to gauge the impact on your individual job, your team, and the software development industry. In order to traverse this new landscape, we must find the right path. Let’s start with this question: What’s important to know about AI as a developer? Where do I start? 

The most important thing to know is that while the acronym AI stands for “Artificial Intelligence”, it’s not an intelligence at all. AI can do many things that we have traditionally considered as “cognitive tasks” such as holding conversations or creating art. This is why many believe that AI will render many writing and programming jobs obsolete.

The current iterations of AI tools are built on a technology known as Large Language Models (LLM), which utilizes statistical predictions to generate output similar to what a human might produce. LLMs use petabytes of training data to understand, summarize, generate and predict new content. In the AI world, a language model serves a similar purpose as human language, providing a basis to communicate and generate new concepts based on this training data (the semantics of language). Knowing that your LLM might have older data is important if your team wants to stay on the cutting edge and work with the latest versions of programming languages, frameworks, and libraries. Because LLMs work very much like human language, prompting becomes an important skill, and a building block for future work with AI. That’s because prompting is how you communicate with AIs. Just like with humans, you must be completely clear in your queries and commands. 

Once you’ve become familiar with prompting, you can use AI to help you understand changes in your code. You can also summarize commits, generate test suites, and explain what code does. Additionally, AI is great at writing docs based on your code and prompts. Summarization is a core strength of AI, and using it for documentation is an excellent way to start using AI in your codebases

One last note and rather important thing to keep in mind: there are many functions and features that JetBrains IDEs already have that can even go beyond what AI tools can do. For example, common refactorings that you already know you need to make are likely best left to the IDE. But enhanced refactoring where the AI explains to the junior developer why the refactoring needs to happen could be quite helpful. So knowing when there is a better tool than AI is crucial if you don’t want to waste time and effort. If you can do something more efficiently with a few keystrokes as opposed to holding an entire conversation with a non-human, why not do that? Seems easier. 

🔗 Links

🔦 From our .NET Guide

Each month we feature tutorials or tips from our .NET Guide.

In The Basics series, we’ll explore several .NET technologies with a bare-minimum set of knowledge required to be productive. In 1 to 3 minute videos, we’ll go from an idea (💡) to a working example (🎉), showing that we don’t have to be an expert to be effective. 

Learn the basics about: ASP.NET MVC, Razor Pages, Entity Framework, ADO.NET, and Dapper. 

The Basics Series by Khalid Abuhakmeh

Most of the code inspections in ReSharper and Rider only need the source code of a single file to detect code issues. In addition to these inspections, there are several solution-wide inspections for code issues which can only be detected in the scope of the entire solution, for example, to detect whether a method parameter is unused, or when classes can be made sealed based on there being no derived classes. The analysis results will help you spot both compilation errors and runtime errors, even before running your application! In this tutorial, we’ll have a look at Solution-Wide Analysis (SWEA).

Solution-Wide Analysis by Maarten Balliauw

☕ Coffee Break

Take a break and enjoy some fun software development humor.

To define recursion, one must first define recursion. This classic joke will never grow old.

This one is quite amusing. Students who are not in computing majors try to guess programming logos. Yes, it’s as silly as you think it might be. 😂

https://twitter.com/fanny_codes/status/1754565107353297348

Indeed, we’ve all been there, Dare. 😠->😊

https://twitter.com/Carnage4Life/status/1754829544287273083

🗞️ JetBrains News

🗺️ Roadmaps

Rider 2024.1 Roadmap

ReSharper 2024.1 Roadmap

🔓 Early Access Program

Welcome to the ReSharper 2024.1 Early Access Program

Rider Invites You to Join Its Early Access Program for 2024.1

✉️ Comments? Questions? Send us an email

Subscribe to .NET Annotated

image description

Discover more