Foto: Torben Klint

Hejlsberg: Det ultimative udviklingssprog findes ikke


Publiceret d. 27. oktober 2008 kl. 15.56


Annonce:
 
ANNONCE:
 
 
 
I mere end 25 år har danskeren Anders Hejlsberg været kraftigt involveret i en række toneangivende programmeringssprog.

Computerworld har fået en snak med sprogdesigneren om det ultimative programmeringssprog, fremtidige planer for C#, parallelprogrammering, og hvordan det var at sende disketter med pakkepost fra Danmark til USA under udviklingen af Turbo-Pascal.

Disketter frem og tilbage over Atlanten
Det startede for mere end 25 år siden med Poly-Pascal, som Borland senere markedsførte som Turbo-Pascal.
(Denne skribent havde håbet at få en autograf på to 5 1/4 tomme floppydiske med Poly-Pascal ved mødet med Anders Hejlsberg, men de er desværre gået tabt under en flytning).

Anders Hejlsberg kender godt besværet med floppydiske. I de første par år var de den eneste reelle måde at sende kode frem og tilbage mellem Danmark og USA, hvor resten af Borlands udviklingsafdeling sad.

"Det var en anden tid. På mange måder en anden verden. Der var ikke den form for elektronisk kommunikation dengang, som i dag. Dengang havde KTAS monopol. Man kunne ikke engang købe sit eget 1.200 baud-modem, det skulle lejes af dem. Dengang var der ikke noget, der hed internet. Da jeg arbejdede for Borland-gutterne, var det som at sidde på en øde ø her i Danmark, når resten af produktudviklingen var i USA.

Disketter blev sendt frem og tilbage med pakkepost. Det tog sin tid. Det var upraktisk for mig at blive i Danmark," fortæller Anders Hejlsberg, som derfor tog til USA i 1987.

Efter nogle år hos Borland, hvor han blandt andet stod bag udviklingsmiljøet Delphi, startede han hos Microsoft i 1996.

Her var han med til at implementere Visual J++, Microsoft Foundation Classes, .Net-frameworket og designe C#-udviklingssproget.

Den beskedne sprogdesigner
Du har været involveret i J ++, stået bag Turbo-Pascal, Delphi og C# samt involveret i .Net-frameworket. Hvad er der galt med dig, hvorfor denne mani med at udvikle nye programmeringssprog?

"Ja, nu skal vi lige tage det med et gran salt. Jeg har implementeret Turbo-Pascal og Delphi. Visual J++ var vores version af et Java-udviklingsværktøj. Compileren, vi brugte, var en Java-kompiler, så sproget var allerede defineret, ligesom Pascal var.

C# var et nyt sprog, og det var en fantastisk oplevelse at få lov til at definere et helt nyt sprog.

Sprog har altid fascineret mig. Nu har jeg efterhånden gjort en karriere ud af det," griner Anders Hejlsberg.

Anders Hejlsberg understreger, at vi ikke skal forvente, at han kommer med et nyt programmeringssprog foreløbig.

"Der er masser af nye versioner tilbage i C#," vurderer Anders Hejlsberg.

Udfordringer ved parallelisering
Den kommende version 4.0 af C# skal eksempelvis forholde sig til, hvordan parallelprogrammering skal håndteres.

Efterhånden, som vi får multikerneprocessorer i flere og flere computere, vokser behovet for at kunne udnytte multikernerne effektivt ved at skrive programmer, der kan udføre flere opgaver parallelt.

Det afspejles blandt andet på Microsofts udviklerkonference, der begynder i Los Angeles i dag og varer til på torsdag.

Her er en række af sessionerne rettet mod parallelprogrammering, som en række eksperter ser som en kommende udfordring for udviklere.

Anders Hejlsberg er enig i den betragtning.

"Der er nogle problemstillinger, som skal løses i den forbindelse. Det gælder ikke kun for C#, men for alle imperative programmeringssprog som Java, C#, C++ og andre.

Den programmeringsmodel med state og side-effekter gør det sværere at skrive parallelle applikationer, fordi man kan komme ind i race-conditions, deadlocks og forvirring om, hvilken værdi af en variabel man læser i hvilken thread.

Der er ting i programmeringssprog, der kan gøre det nemmere. Ting som Pure functions der er uden sideeffekter, immutable objects, compilerchecket isolation, ting der sikrer, at der ikke er deling af et objekt mellem parallelle processer.

Nyt sprog eller udbygning af eksisterende
Så kan man overveje, om man skal lave et helt nyt programmeringssprog og programmeringsmiljø for at lave concurrent (samtidighed, red.) applikationer, eller om man kan flytte de eksisterende programmeringssprog og værktøjer til den nye verden," forklarer Anders Hejlsberg.

Han hælder mest til det sidste, da det er mere praktisk at bygge videre på det eksisterende, fremfor at starte forfra med et nyt programmeringssprog.

"Det er klart, at man med noget helt nyt kan lave den mest perfekte løsning. Problemet med det er, at i hver eneste nye programmeringssprog vil 90-95 procent af sproget være noget, der allerede er gjort før og bare skal være der.

Så man går ikke bare ud ud skriver et nyt programmeringssprog. Der skal være et standardbibliotek, en mase tooling og hvad ved jeg.

Folks forventer, at de ting er på plads og folks forventninger er i løbet af de sidste 25 år blevet meget meget højere.

Price of entry er derfor også blevet meget meget højere. Hvis man i stedet for kan flytte en eksisterende platform mod en bedre oplevelse for concurrency (samtidighed, red.), så er der reelt meget mere at vinde ved det. Vi har allerede en stor brugerskare og en stor base af applikationer.

Det vil være nemmere at bruge det som udgangspunkt for concurrency end at overbevise dem om at alt skal slettes og vi skal starte forfra.

Det har vi ikke råd til i dag. Det var meget billigere at gøre for 25 år siden.

Vi bliver nødt til at finde nye måder at stå på skuldrene af hvad der er lavet før," vurderer Anders Hejlsberg, som mener det kan lade sig gøre at introducere parallelprogrammering i eksisterende programmeringssprog.

"Det er muligt, men det er selvfølgelig svært at blive så konceptren som vi gerne vil være, og det er det, vi som sprogudviklere skal tænke over.

Men jeg synes da nok, at vi er kommet langt med at få sneget funktionel programmering ind i C# uden at det føles ubehageligt. Jeg tror på, at det også kan lade sig gøre med concurrency," lyder det fra Anders Hejlsberg.

Microsoft er allerede kommet med første bud på hvordan parallelprogrammering kan håndteres i eksisterende programmeringsframework.

Fortsættes ...
« forrige side
1 2 3






Kommentarer - Debatoversigt


Der er endnu ikke nogen kommentarer til denne artikel. Du kan skrive en kommentar ved at udfylde nedenstående formular
Kommentér
Titel:

Ytringer på debatten er afsenders eget ansvar - læs debatreglerne

Forsiden lige nu

Overblik: Få overblikket over IBM Danmarks store fyringsrunde.
25. maj 2012 kl. 15.30 | læs »

Klumme: Angrebet fra Flashback viser, at Apple nu må tage sikkerheden på Mac alvorligt, skriver Shehzad Ahmad fra DK-CERT i sin månedlige klumme
25. maj 2012 kl. 14.30 | læs »

Portræt: Et karrierevalg mellem bigband-sanger eller it-mand. Det lyder måske som to vidt forskellige verdener, men der er faktisk masser af musik i it-branchen, fortæller Jan Bau.
25. maj 2012 kl. 15.02 | læs »

Landbrugsorganisation er godt sur i skralden over, at landmænd i randområder skal bestille bredbånd hos konkursramt firma.
25. maj 2012 kl. 14.04 | (1) | læs »





 
White papers
Hos CIT er vi specialister i IT dokumentation. Specialister i hvordan IT dokumentation...

Den teknologiske udvikling står aldrig stille. Det betyder ofte, at virksomheder løbende vælger...

The shared services model has attracted a lot of interest but what is it precisely?

 


Mest læste seneste uge

Kan gratis sikkerhedssoftware virkelig beskytte din pc? Svaret er ja, hvis du vælger det rette produkt. Læs her en test af de mest pålidelige gratis sikkerhedsprogrammer.

Næsten 200 IBM-ansatte får med få timers varsel sidste arbejdsdag i dag. Ingen var orienteret forud for dagens massefyring, som effektueres øjeblikkeligt.

Flyselskabet SAS har brugt op mod trekvart milliarder kroner og seks år på at udskifte sit bookingsystem. Undervejs har der været flere projekt-udfordringer, som kulminerede en vinternat med en big bang-migrering.

To danske it-studerende har udviklet et program, der kan suge kundernes CPR-numre ud af teleselskaberne.

Her er forklaringen på, at IBM Danmark med direktør Lars Mikkelgaard-Jensen i spidsen fyrer 170 medarbejdere.