.NET Tools
Essential productivity kit for .NET and game developers
dotInsights | February 2024
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
- New! Improve Team Code Quality in Unity and .NET Projects With Qodana – Kerry Beetge
- Timeline Xamarin Apps – Leomaris Reyes
- 12 Debugging Techniques In JetBrains Rider You Should Know About and Use JetBrains AI Assistant To Help You Understand Changes In Your Code – Khalid Abuhakmeh
- How to Set an Authenticator for a New RestClient in RestSharp – Aneta Muslic
- 4 Strategies for Migrating Monolithic Apps to Microservices – Kayla Bondy
- Interceptors – Using C# 12 in Rider and ReSharper – Matthias Koch
- How to deal with API rate limits – Salma Alam-Naylor
- Understanding C# 8 default interface methods – Andrew Lock
- Creating Custom AI Prompts With ReSharper & Rider – Rachel Appel
- How to Use Dapper in Your .NET Projects – Grant Riordan
- What’s Behind Your App’s .NET Requests? – Nick Chapsas
- Free your HTTP API. Misconceptions are holding you back! – Derek Comartin
- How to use CancellationToken in ASP.NET C# API – Gui Ferreira
- Publishing a Nuget Package the RIGHT way – Anton Wieslander
- API Versioning in ASP.NET Core – Milan Jovanović
- Using implicit conversion operators in C# to improve readability – Henrique Dalcin Dalmas
- Improving ASP.NET Core Security By Putting Your Cookies On A Diet – Tore Nestenius
- F# tips weekly #1: Single case DU – Jindřich Ivánek
- Spotlight on C# 12 – Matthew MacDonald
🔦 From our .NET Guide
Each month we feature tutorials or tips from our .NET Guide.
☕ 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. 😂
Indeed, we’ve all been there, Dare. 😠->😊
🗞️ JetBrains News
🗺️ Roadmaps
🔓 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.