Brug af AI
AI (kunstig intelligens) har ændret den måde, vi udvikler software på – og C# er ingen undtagelse. I dag er AI ikke bare en eksperimentel hjælper, men et aktivt medlem af udviklingsteamet. Dygtige udviklere bruger AI til at få sparring, forstå komplekse problemstillinger og forbedre deres kode. Og den udvikling går kun én vej.
Info
Udviklingen inden for AI er en af hovedårsagerne til, at “Bogen om C#” nu udgives i online format. Der er ikke det samme behov for grundbøger i trykt form, når AI i stigende grad kan hjælpe os med at lære, skrive og forbedre kode – i realtid.
Hvorfor bruge AI som C#-udvikler?
AI kan assistere dig i hele udviklingsprocessen:
- Skrive kode (metoder, klasser, små biblioteker)
- Forbedre og forenkle kode
- Forklare kompleks logik og begreber
- Foreslå tests og generere testkode
- Finde fejl eller manglende edge cases
- Diskutere og afklare arkitekturvalg
- Virke som din personlige C# mentor
En god AI-model er som en seniorudvikler, der altid har tid – men som kræver, at du stiller dine spørgsmål klart og konkret.
Warning
Men det er også vigtigt at huske, at AI ikke er ufejlbarlig. Den kan lave fejl, misforstå kontekst eller give forældet information. Derfor er det vigtigt at bruge AI som et værktøj og ikke som en erstatning for din egen viden og erfaring.
Store sprogmodeller (chatbots)
Der findes mange AI-chatbots baseret på såkaldte Large Language Models (LLMs). Her er nogle af de mest brugte:
De fungerer alle lidt forskelligt – prøv dig frem og find den, der passer bedst til din måde at spørge og arbejde på.
AI-værktøjer til kodning (også med kodebase-forståelse)
Mange moderne editorer understøtter AI direkte i koden. Disse værktøjer fungerer som en kombination af assistent og automatisk medudvikler – og nogle af dem kan endda analysere hele din projektmappe, skabe PRs og foreslå forbedringer baseret på din eksisterende kode:
- GitHub Copilot – stærk i Visual Studio og VS Code
- Amazon CodeWhisperer
- Gemini CLI – terminal-baseret AI-værktøj fra Google
- Cline – AI med lokal kontekst og Git-integration
- Cursor – en editor bygget 100% med AI i centrum
- Cody – god til større kodebaser
Disse værktøjer vil med tiden blive standard i ethvert moderne udviklingsmiljø.
AI og ansvar
AI er en kraftfuld hjælper – men det er stadig dit ansvar at forstå og gennemskue den kode, du får. Brug AI som din hjælper, ikke som din autopilot.
Husk også, at nogle AI-værktøjer kan sende din kode til eksterne servere. Det er vigtigt at være opmærksom på datasikkerhed og ikke bruge AI til følsomt eller lukket indhold uden klar tilladelse.
En moderne C#-udvikler
En moderne C#-udvikler omfavner AI – og stikker ikke hovedet i busken. At lære at samarbejde med AI er ikke en trussel mod din faglighed – det er en styrkelse af den.
Hvis du lærer at bruge AI rigtigt, bliver du både hurtigere, skarpere og bedre til at forstå den kode, du selv (og andre) skriver.
AI hjælp
Det er super vigtigt at du har adgang til en AI sprogmodel som ChatGPT, Claude, Gemini, Github CoPilot eller lign., da den kan hjælpe dig med at forstå koncepter, finde fejl i din kode og give forslag til forbedringer.
Til det skal du bruge en god prompt, og jeg kan skabt følgende meta prompt så du kan få AI til at skabe den endelige prompt. Prøv denne i din favorit chatbot:
Din opgave er at hjælpe mig med at skabe den bedst mulige prompt,
jeg kan bruge som min personlige studieassistent til et kursus i
grundlæggende C# (.NET 9).
Sådan skal du gøre:
1. Stil mig ét spørgsmål ad gangen om mine forudsætninger og mål.
Vent på mit svar, før du stiller næste spørgsmål.
2. Når du har fået svar på alle relevante spørgsmål, skal du til sidst
bygge den færdige studie-prompt til mig.
Du kan bruge spørgsmål som disse (og gerne omformulere eller tilføje):
- Hvor gammel er du?
- Hvad er din erfaring med programmering?
- Hvis du har programmeret før, hvilke sprog kender du?
- Hvis du har programmeret før - Ønsker du, at jeg laver sammenligninger mellem C# og de sprog du kender (fx Python) – med fokus på C# naturligvis?
- Hvis du ikke har programmeret før - på hvilket niveau ønsker du at starte?
Helt fra bunden, nybegynder eller let øvet?
- Har du erfaring med objektorienteret programmering (OOP) eller
funktionel programmering (FOP)?
- Hvad er dit mål med dette kursus?
- Hvilket styresystem bruger du (Windows, macOS eller Linux)?
- Bruger du Visual Studio Code, Visual Studio eller et andet miljø?
- Skal kode og variabelnavne være på engelsk eller dansk?
- Skal kommentarer i kode være på dansk eller engelsk?
- Skal forklaringer fra dig være på dansk eller engelsk?
- Har du kendskab til kommandolinjen og filsystemet (oprette mapper,
køre programmer)?
- Ønsker du forklaringer på et meget grundlæggende niveau (trin-for-trin)
eller mere kortfattet?
- Foretrækker du små øvelser, længere gennemgange med teori eller en
blanding?
- Skal jeg hjælpe dig med at forstå og rette fejl i din kode undervejs?
Regler for den færdige studie-prompt, som du skal bygge:
1. Den skal være målrettet mine svar. Hvis jeg kender Python og ønsker
sammenligning, skal du inkludere korte eksempler med både C# og Python.
2. Du må ikke bare være enig med mig – vær kritisk og forklar kort, hvorfor
du stiller et spørgsmål.
3. Giv altid plads til, at jeg kan stille opfølgende spørgsmål.
4. Inkludér mange korte kodeeksempler:
- Eksemplerne skal være fuldt kørbare C#-konsolprogrammer med
**Top-Level Statements**.
- Alt nødvendigt skal stå i eksemplet, så jeg kan kopiere og køre det
direkte.
- Metoder skal stå først, typer (klasser/structs) til sidst.
5. Eksemplerne skal være korte, men fuldt kørbare.
6. Tilpas sprogvalg, forklaringer, læringsstil og sammenligninger til mine
svar.
Den resulterende prompt vil jeg anbefale du enten sender med i starten af hver samtale eller endnu bedre gemmer som en skabelon eller projekt.
Yderligere artikler om AI
Jeg har skrevet en række artikler om AI og dens anvendelse i softwareudvikling - se mere her.