Artikel top billede

Den tidligere Java-ekspert Mads Torgersen arbejder tæt sammen med ophavsmanden til C#, danskeren Anders Hejlsberg.

Her er manden der udstikker retningslinjerne for C#

Portræt: Mads Torgersen er flyttet med kone og fire børn til Seattle for at blive Microsofts program manager for C#-programmeringssproget.

For tre år siden havde Mads Torgersen ikke regnet med, at han skulle være med til at udforme de kommende versioner af programmeringssproget C#.

På det tidspunkt var det i høj grad Java, som var i fokus for den nu 36-årige dansker, der på det tidspunkt var forskningslektor på Datalogisk Institut på Aarhus Universitet.

Men et møde med Anders Hejlsberg, ophavsmanden til C#, ændrede Mads Torgersens liv.

“Det var på JAOO-konferencen for tre år siden, at jeg mødte Anders. Det var første år, JAOO havde Microsoft-teknologi med.

I universitetsverdenen bliver man ikke ligefrem overeksponeret med Microsoft-teknologi, så jeg blev positivt overrasket over, hvad der på det tidspunkt var med i C#. Jeg syntes også, det lød lovende, hvordan sproget ville udvikle sig,” siger Mads Torgersen.

Mads Torgersens nyvundne inter­esse for C# samt mødet med Anders Hejlsberg førte i løbet af kort tid til en jobsamtale hos Microsoft i Seattle.

Året efter flyttede han til USA sammen med sin kone og fire børn. I dag er han så Program Manager for C#, hvilket betyder, at han er med til at bestemme, hvordan C# skal udvikle sig.

”Det har jeg ikke fortrudt,” siger Mads Torgersen, selv om han spøgefuldt betegner sin vej fra Java til C# - og dermed Microsoft - som overgangen til “det onde imperium”.

Sprogdesign – teori og praksis

Som forsker i objektorienterede programmeringssprog på Aarhus Uiniversitet var design af programmeringssprog et af Mads Torgersens specialer, hvilket giver ham en solid teoretisk ballast, når han er med til at designe nye C#-features.

Men springet til Microsoft har på mere end én måde været en omvæltning.

“I det akademiske miljø er kriterierne for, hvad der er et godt programmeringssprog, at det skal være rent, superabstrakt og så lille som muligt. Med så lidt kode som muligt, skal man gøre så meget som muligt, for så har man fundet kernen af sandheden”.

“I den virkelige verden tænker man programmeringssprog på en helt anden måde. Der skal tingene være rare at bruge, det skal være sådan lidt mere fodformet og skræddersyet.

Der er langt større brug for specialiseringer. Sprogelementerne skal være mindre generelle, så det er nemt at huske, til hvad og hvordan de skal bruges,” siger Mads Torgersen.

Han var dog ikke ukendt med kravene fra den virkelige verden til et programmeringssprog. På Aarhus Universitet var han sammen med en lille gruppe og Sun involveret i at indbygge nye features i Java-programmeringssproget.

Ansigt til ansigt

De mange udviklere, der anvender C#, er noget, som tages seriøst af Microsoft. Derfor holdes der jævnlige møder i designgruppen, hvor fremtidige udformninger af C# drøftes.

“Design skal tages alvorligt. Der skal bruges tid på det. Tingene skal vendes og drejes og kigges efter i sømmene. Vi mødes to timer tre gange om ugen.

Vi er typisk otte mand i designgruppen for C#, inklusive Anders Hejlsberg. Design foregår bedst i en gruppe, hvor man jævnligt mødes.

Det skal ikke bare foregå online med at sende mails frem og tilbage. Det er vigtigt, at man mødes ansigt til ansigt; man er kreativ, når man er sammen,” forklarer Mads Torgersen.

Som program manager skal Mads Torgersen sørge for at kommunikere designbeslutningerne ud til andre grupper i Microsoft, der kan blive berørt af beslutningerne.

“Det betyder, at jeg skal sørge for, at alt vedrørende sproget bliver gjort. Der må ikke være noget, der forsvinder mellem gulvbrædderne.

Jeg deltager i designgruppen, hvor de kommende versioner af C# fastlægges. Jeg kommunikerer vores designbeslutninger ud til resten af organisationen.

Det er vigtigt at koordinere med andre grupper. Hvis der eksempelvis er nye C#-sprogkonstruktioner, der kræver understøttelse i CRL'en (Common Runtime Language, red.), så er det mig, der snakker med dem.

Det kan også være, at vi finder på features, som kan være interessante for Visual Basic-gruppen. Det er så mig, der snakker med dem om det,” forklarer Mads Torgersen.

Kampen mellem C# og Java

Traditionelt har der været en strid mellem C#-udviklere og Java-udviklere om, hvilket sprog der er bedst. Selv om Mads Torgersen har en baggrund i både Java og C#, er han ikke meget for at blande sig i den strid.

“Der er smarte folk på begge sider. Det kan godt være, at nogle folk derude hader hinanden, men det tror jeg ikke, vi gør i kernegrupperne. Vi er de samme slags mennesker med de samme slags interesser. Vi har ikke noget mod hinanden,” siger han.

Mads Torgersen ser Java og C# som to gode udviklingssprog, der i en sund kappestrid kan fremelske det bedste i begge sprog.

“Konkurrence er godt. De to sprog har fået utroligt meget ud af hinanden. For nu at være ærlig; C# lignede Java en del, da det kom ud. Siden hen har de to sprog lånt ideer af hinanden. Eksempelvis startede generics i Java og kom så senere til C#.

Tilsvarende er der masser af C#-features; For-each-loops, enums og andre ting, der startede i C# og siden er kopieret ind i Java,” siger Mads Torgersen.

Fremtidige C#-features

Næste version af C# er planlagt til at udkomme inden for de næste to måneder. Her er den store nyhed LINQ (Language Integrated Query), der gør det muligt at lave forespørgsler i C# op mod databaser, XML, arrays og andre data-kollektioner med det samme forespørgselssprog, fordi LINQ gemmer det underliggende datalag for udvikleren.

“Jeg tror, vi har været heldige med at lave en abstraktion over queries, der er god og generel. Jeg tror, vi har ramt plet,” siger Mads Torgersen.

Computerworld får også Mads Torgersen til at løfte sløret for nogle af de features, som formentlig kommer i versionen efter C# 3.0.

“.Net-familien bliver større og større. Den udvides med dynamiske sprog med DLR (Dynamic Language Runtime). Vi ser Python, Ruby og formentlig flere dynamisk typede sprog i fremtiden.

Det skal være nemmere fra C# at tilgå ting skrevet i de dynamisk typede sprog. I dag kan man gøre det med refleksion, men det er bøvlet. Kan det gøres nemmere, er der en indgang til dynamiske sprog, og letvægts-COM-integration bliver også nemmere,” siger Mads Torgersen.

Fremtidens udfordringer

En anden udfordring, som udviklere står over for i dag, er fremkomsten af multikerne-processorer. Hvordan udnytter man bedst den nye processor-arkitektur?

“Concurrency er et stort problem som ingen vides at have en løsning på. Erlang (programmeringssprog specielt egnet til concurrencyprogrammering, red.) er fantastisk, så længe du skriver dit program i Erlang.

Men budskabet fra Erlang er samtidig, at det eksisterende skal smides væk – eksempelvis objektorientering – og man skal gøre det på Erlangs måde. Den slags løsninger har det med at smide barnet ud med badevandet,” mener Mads Torgersen.

Han ser hellere, at eksisterende mainstream-sprog tager udfordringen med samtidighed op.

Læs mere om Mads Torgersens arbejde med C# i den trykte udgave af Computerworld CTO, der udkom i fredags.




IT-JOB

Saab Danmark A/S

Junior System Engineer

Metroselskabet og Hovedstadens Letbane

IT Full Stack-udvikler
Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Also A/S
Salg af serviceydelser inden for logistik, finansiering, fragt og levering, helhedsløsninger, digitale tjenester og individuelle it-løsninger.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Parathed – Hvad gør din virksomhed, når I bliver ramt?

Cyberkriminalitet vokser som bekendt eksplosivt i takt med digitaliseringen i disse år og det kan være voldsomt dyrt at blive hacket. Potentielt kan det lægge jeres forretning helt ned, så I ikke kan rejse jer igen. Har jeres virksomhed styr på cybersikkerheden i en tid, der kalder på oprustning? Bliv inspireret til, hvad du som virksomhed kan gøre for at sikre virksomheden og medarbejdere, så I kan gå sikkert ind i fremtiden.

21. maj 2024 | Læs mere


Computerworld Summit 2024

Vi kigger ind i scenariet for fremtiden it-afdeling og hvordan virksomheden bedst muligt udnytter både nye og etablerede teknologier til at understøtte vækst og dermed sikre overlevelse i en konkurrencepræget verden.

23. maj 2024 | Læs mere


Den digitale trussel er konstant, kompleks og stadigt stigende - også i den offentlige sektor

I dagens Danmark har vi indrettet os sådan, at alt kommunikation mellem det offentlige og borgerne foregår på forskellige digitale platforme, hvilket gør både borgerne og de offentlige institutioner skrøbelige overfor cyberkriminalitet. Samtidig lyder det fra rapporter, at de offentliges it-systemer er støvede og fulde af teknisk gæld. Dette er en farlig cocktail for de offentlige institutioner, men en særdeles lækker drink for cyber-kriminelle.

28. maj 2024 | Læs mere