It-milliardær i rummet

It-milliardæren Charles Simonyi, der er hjernen bag Microsoft Office og har tætte bånd til Danmark, forlod Jorden lørdag den 7. april som verdens femte private rumturist. Læs hele ComONs interview med Charles Simonyi fra oktober 2006.

Forsinkede it-projekter og fejlfyldte programmer er efterhånden blevet dagligdag. It-milliardæren Charles Simonyi mener at kvaliteten kan forbedres med et nyt koncept, hvor udviklerens oprindelige intentioner omsættes direkte til software.

Den ungarske it-milliardær Charles Simonyi har sat et stort fingeraftryk på softwarebranchens udvikling i de sidste 30 år. Simonyi skabte et af de første tekstbehandlingssystemer i halvfjerdserne og skiftede i 1981 fra forskningsinstituttet Xerox Parc til Microsoft, hvor han stod i spidsen for udviklingen af Word og Excel. Senere valgte Simonyi at forlade Microsoft og stifte sit eget firma, Intentional Software, der udvikler nye værktøjer til softwareudvikling, hvor brugerens intentioner omsættes direkte til programmer. Det kaldes også for generativ programmering og Charles Simonyi mener, at det kan løse mange af de problemer, der plager udviklingen af software i dag. Normalt samarbejder programmøren med en ekspert på det enkelte fagområde og skriver koden til det færdige program. I generativ programmering skriver programmøren derimod ikke den færdige kode, men udvikler en program-generator, der læser instrukser fra eksperter på det enkelte område. Instrukserne er sammenfattet i den såkaldte domænekode, der repræsenterer eksperternes intentioner med programmet - deraf betegnelsen intentional software. Generatoren skriver så den færdige kildetekst, som aldrig har været rørt af et menneske - og dermed reduceres risikoen for menneskelige fejl.

Charles Simonyi var inviteret til at fortælle om intentional programming på udvikler-konferencen JAOO i Århus i starten af oktober. ComON møder it-pioneren til et interview ombord på hans luksusyacht »Skat« i Århus havn.

Intentional programming repræsenterer en radikal ny tilgang til udvikling af software. Mener du at de traditionelle metoder har slået fejl?

Jeg vil gerne bruge en metafor; tænk på Alexander Graham Bells telefon. Det er en meget simpel opfindelse med en modtager, en sender og nogle tråde. Prøv at sammenligne det med dagens mobiltelefoner, der er uendelig mange gange mere komplicerede. Men hvad vælger lande som Indien og Kina? Man skulle tro, at de vælger den simple løsning, men det er forkert; de vælger den komplekse, nemlig mobiltelefoner. Vi har netop rundet to milliarder mobiltelefoner i verden, og de fleste bruges i udviklingslande. Forklaringen er, at skalerbarheden i mobiltelefonen er uendelig meget større end i Bells fastnet-telefon. Det er meget lettere at tilføje en million mobil-abonnenter end det samme antal fastnet-brugere, fordi du ikke skal grave kabler. Historien er den samme, når du sammenligner generativ programmering med almindelig programmering. Det kan sagtens være, at generativ programmering er mere kompleks, men skalerbarheden er meget større. Hvis du tager almindelig programmering, så har det ikke forandret sig meget i de sidste 50 år. Så kan vi vende tilbage til metaforen med telefoner. Hvis du kunne tage en fastnet-telefon fra i dag og vise den til Alexander Graham Bell, så vil han nok synes, at den ser meget futuristisk ud. Men han vil sagtens kunne forstå den. Mobiltelefonen, derimod, den vil være en gåde for ham.

Noget kunne tyde på, at der er brug for nytænkning. Der er utallige eksempler på store it-projekter, hvor kunden sidder tilbage med en høj regning og et produkt, der ikke lever op til forventningerne.

Forskellen mellem et succesfuldt it-projekt og et mislykket projekt er faktisk meget lille. Det interessante ved de mislykkede projekter er, hvor normale de er - det er helt almindelige programmører, der har løst en helt almindelig opgave. Så man kan sige, at alle it-projekter balancerer på en knivsæg. Tilbage i 60'erne kunne du se reklamer for britiske biler, hvor det blev fremhævet, at de var håndlavede. Det betød nemlig, at der var tale om kvalitet. Men sådan er virkeligheden bare ikke. Et menneske kan ikke udføre den samme opgave en million gange i træk uden at lave fejl. Tror du, at Fred Astaire kan danse en million trin uden at træde forkert, eller at Maria Sharapova kan serve en million gange uden at ramme nettet? Det er kun maskiner, der kan foretage den samme handling en million gange uden fejl. Køberne opdagede med tiden, at de gode biler bliver lavet af maskiner og ikke mennesker. Selvfølgelig er det stadig mennesker, der udvikler maskinerne og holder dem kørende. Men mellem mennesket og det færdige produkt er der en maskine, der tager sig af de opgaver som gentager sig igen og igen. Det er det samme, hvad enten der er tale om produktion af biler eller generativ programmering.

Men det kræver så, at vi har tillid til, at maskinen kan udføre opgaven uden fejl ...

I luftfarten er det faktisk sådan, at autopiloten altid skal være slået til i det såkaldte RSVM-luftrum, hvor afstanden mellem flyene kan være helt ned til 1.000 meter. Her er det kun computeren, der kan styre med tilstrækkelig præcision. Et andet eksempel er vingen på et moderne passagerfly, hvor alle nitterne bliver lavet af robotter. Intet menneske kan bore millioner af huller uden at lave bare en lille fejl, og selv den mindste afvigelse kan få katastrofale konsekvenser mange år senere. Robotten kan selvfølgelig også udvikle fejl. Men så går den bare i stå. Mennesket, derimod, borer bare videre.

Er målsætningen med intentional programming også, at flere skal have mulighed for at skabe deres egne programmer end i dag, hvor det trods alt kræver en del teknisk viden at udvikle software?

Det er ikke målet at flere skal lære at programmere. Målet er, at flere skal have mulighed for at bidrage til processen med at udvikle software. Lad os sige, at programmøren udvikler software til et hospital. Programmøren kan ikke udvikle det uden hjælp fra domæne-eksperter, altså fagfolk, der kender til området. Programmøren ved jo ikke noget om de forskellige medicintyper eller, hvilke tilladelser de forskellige personalegrupper har til at udskrive medicin. Så udfordringen er, at fagfolkene skal have mulighed for at udtrykke deres viden på en måde, så maskinen kan forstå det. Vi vil ikke gøre fagfolk til programmører. Lad mig gentage; folk, der ikke er programmører, bør ikke programmere. De basale koncepter i programmering kan faktisk være ret kontraintuitive og ulogiske, så der er ingen grund til, hvorfor folk med et helt andet fagområde skal begynde at lære det.

Det kunne virke som om hardware udvikler sig meget hurtigere end software. Min computer under skrivebordet er måske 100 gange hurtigere end den maskine, jeg havde for ti år siden. Men programmerne kan ikke udnytte regnekraften i computeren - bortset fra spillene ...

Spilbranchen er lysår foran alle andre. Prøv at sammenligne det bedste spil på markedet med den bedste software til hospitals-administration. Spillet er meget rigere hvad angår funktioner, kvalitet og kompleksitet. Og hvorfor? Fordi programmøren der har skrevet hospitals-programmet har brugt alt for meget tid på at sætte ind i fagområdet i stedet for at programmere. En underafdeling af flyselskabet Delta gik faktisk næsten konkurs som følge af en fejl i et kalender-program til kabine-personalet. De havde måske 100 fly med hver fem besætningsmedlemmer - så blev landet ramt af en storm, og der blev lavet så mange ændringer i kalenderen, at systemet brød sammen. Et lignende program var skyld i eksplosionen af Ariane 5 raketten for nogle år siden. Min egen laptop har flere gigabyte hukommelse og hundreder af gigabyte af harddisk-plads - så man skulle tro, at computer-kraften var tilstrækkelig til selv de mest krævende opgaver. Men det er kun spillene, der har formået at udnytte hardwaren, mens jeg stadig skal bruge ti klik på at lave en ændring i min kalender. Det er helt grotesk. Og grunden til, de er så langt foran, det er fordi spil faktisk ikke bliver skrevet af programmører. Det samme gælder for computeranimerede film. Programmørerne skaber en ramme-struktur med et sæt værktøjer, som de kreative folk kan bruge til at udvikle det færdige produkt. Programmørerne skal ikke spilde deres tid med at lære at lave spil - og spilfolkene skal ikke lære at programmere.

Mangel på kvalificeret it-arbejdskraft er efterhånden et problem her i Danmark og i mange andre lande. Hvordan kan man få flere unge til at interessere sig for softwareudvikling?

Det handler faktisk igen om skalerbarhed, selvom man ikke skulle tro det. Lad mig prøve at forklare det ved at gå tilbage til telefonens tidlige dage. Dengang blev alle samtaler omstillet manuelt i centralen ved at flytte en tråd til det rigtige sted, og der var faktisk mangel på folk der ville udføre dette manuelle arbejde. På et tidspunkt regnede man sig frem til, at halvdelen af USA's befolkning skulle ansættes som telefonoperatører, hvis væksten i teletrafikken fortsatte. Men hvad lavede de ansatte i centralen egentlig? De forvandlede din intention om, hvem du ville ringe op, til en færdig forbindelse. Så skete der pludselig det, at du kunne udtrykke din intention ved at bruge en drejeskive på telefonen i stedet for at snakke med en operatør, og så det blev det manuelle arbejde overflødigt. Derfor mener jeg, at manglen på it-folk faktisk skyldes mangel på skalerbarhed i vores softwareudvikling. Vi bruger for mange programmører til at løse vores opgaver. Problemet er, at programmørerne spilder for meget tid med at fortolke og omforme de informationer, som de modtager fra fagfolkene på de respektive domæner. Det kan løses ved at involvere fagfolkene mere direkte og dermed fjerne den overflødige byrde fra programmørerne, så arbejdet bliver mere balanceret og interessant. Vi havde aldrig nået to milliarder mobiltelefoner i verden, hvis alle samtaler stadig skulle forbindes af en telefonist i centralen.



Biografi

Charles Simonyi blev født 1948 i Ungarn og rejste til Danmark i 1966. Den ungarske computerpioner arbejdede på Regnecentralen i halvandet år, inden han flyttede fra Danmark til USA. Efter en periode på University of California og Stanford University blev Simonyi ansat på forsknings-instituttet Xerox Parc. Simonyi kom til Microsoft i 1981 og blev hos softwaregiganten indtil 2002. Han grundlagde derefter sit eget softwarefirma, Intentional Software. Simonyi er nr. 374 på Forbes' liste over de rigeste amerikanere og står til at blive verdens femte private rumturist. Træningen i den russiske Star City startede i september og Simonyi skal efter planen opholde sig på den internationale rumstation ISS i otte dage.




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?
Alfapeople Nordic A/S
Rådgivning, implementering, udvikling og support af software og it-løsninger indenfor CRM og ERP.

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

Kommende events
Bliv klar til AI Act: Det vil påvirke både din udvikling, drift og organisation

Fordelene ved at anvende kunstig intelligens bliver stadig mere udtalte, og både som virksomhed og myndighed er det i stigende grad uholdbart ikke at udforske mulighederne. Men der er også risici forbundet på den nye teknologi, og på dette formiddagsseminar ser vi på, hvordan verdens første regulatoriske kompleks – EUs kommende AI Act – adresserer behovet for en etisk, ansvarlig og kontrolleret anvendelse af AI.

20. august 2024 | Læs mere


Det Digitale Produktpas

Kom med og hør om, hvordan du kommer i gang med at sikre din virksomhed er klar til Det Digitale Produktpas. Vi sætter fokus på, hvordan du bliver klædt på til at få styr og struktur på dine data, samt hvilke krav du skal sætte til dine leverandører og andre i din værdikæde, for at sikre den nødvendige information er tilgængelig.

21. august 2024 | Læs mere


Cyber Security Summit 2024

På Cyber Security Summit får du indsigt i det aktuelle trusselslandskab, overblikket over de nyeste værktøjer og trends indenfor sikkerhedsløsninger, indsigt i de relevante rammeværktøjer og krav samt de bedste løsninger og værktøjer til at sikre effektiv drift og høj compliance.

27. august 2024 | Læs mere