C Sharp på dansk

En ny dansksproget bog kigger på C#, som er et af sprogene i Microsofts .Net-arkitektur. Bogen er skrevet af en af udviklerne på det team, der udviklede sproget, og den er en glimrende gennemgang af en af de vigtigste bestanddele i .Net.

Direkte fra kilden

Danmark er en lille plet i en stor verden, men når det drejer sig om programmeringssprog, så er vi faktisk helt godt med på landkortet.

Så forskellige sprog som C++, Pascal og PHP har alle danske aner i en eller anden grad. Senest har Anders Hejlsberg, som i sin tid stod bag den succesfulde Pascal-udgave Turbo Pascal og Borlands udgave af Object Pascal, Delphi, ageret bagmand for Microsofts .Net arkitektur, og et af .Net-verdenens vigtigste puslebrikker. Brikken er sproget C#, der efter behag kan udtales som "C-sharp" eller "C-havelåge", som nogle foretrækker.

En af folkene bag C#-udviklingsteamet, Eric Gunnerson (billedet), har skrevet en bog om emnet, som nu er kommet på dansk, og hvad kan være mere passende end at lære et sprog direkte fra kilden selv.

Det er ikke altid, at skaberne af computerteknologier er de bedste til at kommunikere ideerne bag, men Gunnerson klarer opgaven fint.

Ved første blik kan C# ligne Java i stor udstrækning, og der er da også en lang række overensstemmelser mellem de to sprog, men der er mere i det, end man skulle tro ved første øjekast. Hejlsberg ser selv C# som en forbedring af C++, og forbedringerne minder meget om den funktionalitet, Java tilbyder, men som mange andre moderne objektorienterede sprog også byder på.

Løsningsorienteret

Den første trediedel af bogen beskæftiger sig med sprogets konstruktioner, og derefter gennemgås de grundlæggende klassebiblioteker, først og fremmest Array- og Collections-bibliotekerne, som understøtter arrays og containere. Klassebibliotekerne er for øvrigt ikke tilknyttet C#, men er en del af CLR, og er således ens for alle .Net-sprogene, der bygger på CLR.

Herefter bliver bogen mere løsningsorienteret. Først gennemgås multitrådning, og det er nemt i C#. Tre kapitler gennemgår kodegenerering, brug af COM-objekter med hensyn til integrering i en eksisterende kodebase, og et kapitel gennemgår grundlæggende funktionalitet i CRL-biblioteket, så som input/output og dato- og tidsfunktioner. Et kapitel gennemgår Windows Forms, tidligere kendt som WinForms, og det er funktionalitet til generering af grafiske brugerflader.

Afslutningsvist kigger bogen på et praktisk kodeeksempel, og gennemgår ting som kodestil og virkemåden af C#'s garbage collecter.

Bogen giver glimrende indsigt i C# og programmering i .Net-verden. Microsofts teknologier kan nogle gange virke lidt luftige, og det tog denne artikels forfatter et stykke tid at få et begreb om, hvad .Net egentlig er for noget. Gunnersons bog giver et godt udgangspunkt for de forvirrede, og er anbefalelsesværdig læsning for udviklere i Microsoft-verdenen.

C# - introduktion for programmører
Af Eric Gunnerson
Ingeniørens Forlag
ISBN: 87-571-2392-6
Pris: kr 438,00
Antal sider: 416

Begyndervanskeligheder

Mest central er sprogets basis i .Net. C# er ikke skabt til at generere binære processorinstruktioner, men til at blive afviklet på en såkaldt Common Language Runtime, som i al væsentlighed minder om Javas virtuelle maskine. Ideen om virtuelle maskiner er nu ældre end Java, og findes også i en række andre sprog, så derfor er der ingen grund til at beskylde arkitekturens udviklere for at plagiere - selv om der givetvis er skelet en hel del til Suns teknologi under udviklingen af sproget. Men det er nødvendigvis ikke en dårlig ting.

De instruktioner, som maskinen fortolker, kaldes andre steder for bytecode eller opcode, og i .Net er navnet Intermediate Language (IL). Andre sprog kan også generere IL, og foreløbig er der tale om .Net-versionen af Visual Basic og sproget J#. Mere spændende er, at .Net indeholder en komponent-arkitektur, som ligeledes er sproguafhængig. Komponenter skrevet i et sprog kan altså benyttes i et andet sprog. Et lag af metadata indkapsler komponenterne, og giver en sproguafhængig mulighed for indsigt (introspektion) i komponentens egenskaber og metoder.

Bogen er skrevet i hverdagsnært sprog og er udmærket oversat. Selv om den kort gennemgår objektorienterede paradigmer, så forudsætter den i praksis at læseren har en vis erfaring med objektoritentering. Hvis læseren har baggrund i C++ eller Java, skulle den være forholdsvis nem at gå til, og et enkelt kapitel gennemgår også forskelle og ligheder med Java. Selv om bogen er en grundlæggende gennemgang, så krydrer forfatteren teksten med eksempler og sine egne begyndervanskeligheder.

Læses lige nu

    Annonce

    Annonceindlæg fra Salesforce

    Det vigtigste AI-spørgsmål handler ikke om valg af model

    Det er mindst lige så afgørende at optimere overblik, kontekst og datakontrol som at beslutte, hvilken AI-model man skal satse på.

    Navnenyt fra it-Danmark

    Elbek & Vejrup A/S har pr. 15. august 2026 ansat Anne-Sofie Andreasen som Project Manager i Projekt & Service. Hun skal især beskæftige sig med ledelse og koordinering af projekter og serviceopgaver. Hun kommer fra en stilling som konsulent med fokus på digitale løsninger hos XFLow. Hun er uddannet cand.it. i IT, Kommunikation og Organisation. Hun har tidligere beskæftiget sig med analyse, udvikling, test og implementering af løsninger samt udarbejdelse af brugervejledninger. Nyt job

    Anne-Sofie Andreasen

    Elbek & Vejrup A/S

    Arctic Wolfs Network har pr. 1. september 2026 ansat Victor Dohlmann som Sales Director for Nordics. Nyt job

    Victor Dohlmann

    Arctic Wolfs Network

    Vektus A/S har pr. 22. oktober 2026 ansat Jim Neble som Consultant Manager. Han skal især beskæftige sig med konsulentchefopgaven i Jylland. Han kommer fra en stilling som ERP Manager hos Kvik. Han er uddannet indenfor økonomi og Business Andministration samt Cand.merc. i strategi, organisation og ledelse. Han har tidligere beskæftiget sig med Konsulentopgaver indenfor Business Central i partnerkanalen. Nyt job

    Jim Neble

    Vektus A/S

    Dansk AM Hub har pr. 1. november 2026 ansat Rasmus Pedersen som Chief Digital Officer. Rasmus skal især beskæftige sig med fokusudviddelse fra additive manufacturing til produktinnovation gennem AI, automatisering og andre nye teknologier. Rasmus er uddannet maskiningeniør med speciale i produktudvikling og med ph.d. i udvikling af modulære produktplatforme. Rasmus har tidligere beskæftiget sig med transformation og digitalisering i værdikæden fra produktudvikling til produktion. Nyt job

    Rasmus Pedersen

    Dansk AM Hub