Er JavaScript fremtidens programmeringssprog?

Toptunede JavaScript-engines i browsere åbner vejen for mere komplekse og funktionsrige webapplikationer baseret på JavaScript. Der er dog også ulemper ved at anvende JavaScript.

Artikel top billede

"Det professionelle mainstream-udviklermiljø har aldrig taget JavaScript seriøst, men snart vil de ikke have noget valg."

Ordene kommer fra den mangeårige it-veteran Dave Thomas, i forbindelse med udviklerkonferencen JAOO, der løber af stablen senere på måneden.

Dave Thomas har haft stor betydning for udbredelsen af objekt- og komponentorienteret tankegang i kommercielle udviklingsmiljøer, og har blandt andet være med til at designe Eclipse-platformen.

Et af konferencesporene ser på status og fremtidsmulighederne for JavaScript. Dave Thomas er vært for det spor, der med et glimt i øjet er navngivet
"Real men don't do Javascript".

Rigtige mænd koder ikke JavaScript

"Rigtige" programmører, der udvikler i Java, C++, C og andre lignende programmeringssprog har traditionelt set lidt skævt til JavaScript, men JavaScript har trods det fået stor udbredelse og har nu opnået noget, der ligner en accept blandt udviklere.

Selv opfinderen af JavaScript, Brendan Eich, betragtede i starten sit script-sprog som lidt andenrangs.

"Vi ville skabe et "glue language" for webdesignere og halvtids programmører, som byggede webindhold af komponenter som billeder, plugins og java-appletter."

"Vi så Java som komponentudviklingssproget anvendt af højerebetalte programmører, hvor "glue-programmørerne" - webdesignerne - sammensatte komponenterne og automatiserede komponenternes samspil med JavaScript," fortæller Brendan Eich i et nyligt interview til australske Computerworld.

Der er sket noget med JavaScript, siden Brendan Eich tilbage i 1995 designede programmeringssproget.

Anvendelsen af asynkron JavaScript i AJAX-applikationer gør det muligt at få en tilnærmet desktop-funktionalitet i browseren - tænk Google Mail og Google Maps.

Performanceboost til JavaScript-engines

Når en JavaScript-engine som V8 i Chrome mangedobler performance af JavaScript-applikationer, vil det blot give ekstra incitament til at indbygge endnu mere funktionalitet i webapplikationerne.

Chrome er ikke alene med sit performanceboost. Den kommende Firefox 3.1 har også givet sin JavaScript-engine et enormt performanceboost ved hjælp af TraceMonkey.

JavaScript svært at vedligeholde

En af dem, der er overbevist om, at vi vil se endnu flere komplekse JavaScript-baserede webapplikationer, er Kresten Krab Thorup, CTO hos Trifork, der står bag JAOO-konferencen.

Han ser browseren som en meget vigtig platform fremover, hvor komplekse applikationer vil blive afviklet. Da JavaScript er understøttet af alle browsere, er det naturligt, at det er JavaScript, som webapplikationerne udvikles i.

"JavaScript vil i stigende grad blive brugt til at skrive komplekse webapplikationer. Det er ligesom Intel-arkitekturen; den er ikke til at komme udenom. Browseren er den næste platform," siger Kresten Krab Thorup.

Udfordringer ved vedligeholdelse

Selvom der findes eksempler på webbaserede applikationer, der indeholder desktop-lignende funktionalitet, advarer Kresten Krab Thorup mod at tro, at det er enkelt at lave den slags applikationer.

"Med større kompleksitet og ved vedligehold kan JavaScript-applikationer komme til kort. De er svære at vedligeholde," siger Kresten Krab Thorup og fortsætter:

"Det er klart, at nogle seje gutter kan lave Google Mail og sådan noget smart noget, men skal massen af udviklere med og lave komplekse web-applikationer, så skal der andre boller på suppen. Det kræver andre strukturer og andre måder at arbejde på," siger Kresten Krab Thorup.

JavaScript som genereret kode

De andre boller på suppen kan eksempelvis være et framework som Prototype eller Googles Web Toolkit (GWT).

Prototype er et JavaScript-framework, der blandt andet tilbyder et AJAX-library, som gør det nemmere for udviklere at skrive AJAX-applikationer.

Med GWT er der mulighed for at skrive browserklientkoden som ren Java. GWT oversætter så Java-koden til JavaScript.

Det er ikke kun Java-udviklere, der på den måde kan få genereret JavaScript-kode.

Hos Microsoft arbejder man på at generere Javascript-kode ud fra .Net-bytekode.

Javascript holder ikke til store programmer

På JAOO-konferencen vil software-arkitekten Eric Meijer fra Microsoft under overskriften "JavaScript as an Assembly Language" berette om sit arbejde på Volta-projektet med at kompilere Microsoft Intermediate Langauge (MSIL) til JavaScript.

Ligesom Kresten Krab Thorup mener Eric Meijer heller ikke, at JavaScript er så velegnet til at skrive store komplekse applikationer:

"Mens JavaScript ikke er et så fantastisk godt sprog til at skrive store programmer, så er JavaScript faktisk et fantastisk target language for kompilere.

"Ligesom assembler-sprog mangler JavaScript et restriktivt statisk typesystem, og det tillader en vis mængde af selvmodificerende kode, men til forskel fra typiske assemblersprog, indeholder JavaScript højniveau sprogkonstruktioner som closures og exceptions.

"Derudover har JavaScript den ekstra fordel, at det understøttes af enhver webbrowser. Derfor ser vi en stigende mængde højniveausprog som kompileres til JavaScript. Eksempelvis Java, OCaml, ObjectiveC, Scheme, Haskell, og mange andre," skriver Eric Meijer i oplægget til sit foredrag.

Til forskel fra de nævnte eksempler, hvor højniveausprog oversættes til JavaScript, så tager Volta-projektet en lidt anden tilgang. Her er det MSIL bytekode, der oversættes til java script:

"I modsætning til det, så kompilerer Volta low-level assemblerkode, .NET MSIL, til JavaScript," lyder det blandt andet fra Eric Meijer.

Platform skrevet i JavaScript

En lidt anden anvendelse af JavaScript er Suns platformsprojekt kaldet Lively Kernel, som også præsenteres på JAOO-konferencen.

Lively Kernel er skrevet i JavaScript og er en platform for webapplikationer. Lively Kernel indeholder blandt andet udviklingsværktøjer til at skrive andre webapplikationer.

Det er Dan Ingalls, der har ydet betydelige bidrag til Smalltalk-udviklingen, som er en af de drivende kræfter bag Lively Kernel.

Ifølge Dan Ingalls er Lively ikke klar som et produkt endnu, men han og Sun ser frem til at "eventyrlystne udviklere" allerede nu begynder at udforske mulighederne i Lively.

Eventyrlystne udviklere kan starte deres formentlig livlige rejse her

Læses lige nu

    Annonce

    Capgemini Danmark A/S

    Head of Digital Trust & Security

    Midtjylland

    Forsvarsministeriets Materiel- og Indkøbsstyrelse

    IT-supporter til lokal IT støtte i Tirstrup

    Midtjylland

    Digitaliseringsstyrelsen

    Udbuds- og kontraktjurist til Kontor for MitID

    Københavnsområdet

    Forsvarsministeriets Materiel- og Indkøbsstyrelse

    Senior specialister (DevSecOps) til Forsvarets nye Digitale Backbone

    Nordjylland

    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    Sikkerhed | Online

    Computerworld Cyber Briefing: Cyberresiliens

    De fleste organisationer har en plan for recovery. Få ved dog, hvilke systemer der skal op at køre først for at holde forretningen i gang. Kom med, når vi ser nærmere på, hvordan Cohesity, Dustin og HPE hjælper organisationer med at definere og...

    It-løsninger | Horsens

    Dynamics AX og FO: Næste kapitel for din virksomhed

    Få overblik over vejen fra Dynamics AX til Finance & Operations – eller løft værdien af Dynamics FO. Hør praksisnære cases om strategi, migration og optimering. Vælg spor, få dyb faglig indsigt, styrk beslutningerne. Tilmeld dig konferencen i...

    Jura | København

    Compliance Day 2026

    Computerworld samler NIS2, AI Act, DORA, GDPR og ledelsesansvar i ét skarpt program. Få styr på kravene og omsæt dem til styring, beslutninger og handling i hverdagen. Tilmeld dig Compliance Day.

    Se alle vores events inden for it

    Navnenyt fra it-Danmark

    Stine Willemoes Kondrup, Senior Project Manager hos Ascom, har pr. 22. juni 2026 fuldført uddannelsen Master i it, linjen i organisation på Aalborg Universitet via It-vest-samarbejdet. Færdiggjort uddannelse
    Lars Erik Larsen, it-arkitekt hos Jyske Bank, har pr. 29. juni 2026 fuldført uddannelsen Master i it, linjen i softwarekonstruktion på Aarhus Universitet via It-vest – samarbejdet. Færdiggjort uddannelse

    Lars Erik Larsen

    Jyske Bank

    Arctic Wolf Networks har pr. 3. august 2026 ansat Johnny Krogsboll som Head of Sales Engineering for Norden.Med base i Stockholm får han ansvaret for Arctic Wolfs samlede Sales Engineering-organisation i den nordiske region.<br /><br />Johnny Krogsboll skal være med til at udbygge Arctic Wolfs tilstedeværelse i Norden og hjælpe virksomheder og organisationer med at stå stærkere over for et stadig mere komplekst cybertrusselsbillede. Det skal blandt andet ske i tæt samarbejde med Arctic Wolfs vigtigste kanalpartnere i regionen.<br /><br />Gennem sin karriere har Johnny Krogsboll arbejdet med og rådgivet virksomheder hos blandt andre Hewlett-Packard, Trend Micro og Palo Alto Networks med fokus på at skabe konkret værdi af deres teknologiinvesteringer. Nyt job

    Johnny Krogsboll

    Arctic Wolf Networks

    Netip A/S har pr. 17. august 2026 ansat Jesper U. Sørensen som Seniorkonsulent ved netIP's kontor i Esbjerg. Han kommer fra en stilling som Chief Technology Officer hos NetSec ApS, hvor han også var partner. Nyt job