Dansk Java-værktøj skærer 20 procent af udviklingstiden

Kodeværktøjet Javeleon er udviklet af to danske iværksættere og hævdes at kunne spare Java-udviklere op til 20 procent af tiden foran tastaturet. Se her, hvordan de gør.

Udviklerne spilder alt for meget tid på overflødige genstarter, når de skriver programmer i sproget Java.

Det mener de to danske iværksættere Allan Raundahl Gregersen og Michael Rasmussen, som derfor har udviklet det dynamiske opdateringsværktøj Javeleon.

Med det i hånden kan du se resultatet af dine ændringer i det kørende program få øjeblikke efter, at du har ændret i kildekoden. Forandrer du for eksempel størrelsen eller farven på en knap i en menu, kan det altså ses med det samme, uden at du skal lukke og starte dit program op igen.

Dermed kan der springes flere led over i den sædvanlige rutine, hvor kildekoden kompileres, programmet køres, programmet afprøves og lukkes, koden ændres, kompileres, programmet afprøves igen og så videre.

»Vores produkt eliminerer det skridt, at du normalt bliver nødt til at afslutte applikationen og starte den op igen, når du har ændret i koden. Det kan spare op til 20 procent af udviklingstiden,« siger den ene medstifter af Javeleon, Michael Rasmussen, til Version2.

Skiller sig ud fra konkurrencen

For små applikationer tager det i bedste fald få sekunder at lukke ned, kompilere og starte op igen - for de store bør det nærmere tælles i minutter, fortæller Michael Rasmussen.

Den vigtigste konkurrent for danske Javeleon er lige nu værktøjet JRebel fra Zero Turnaround, som har været på markedet i et par år. Ganske som Javeleon kan JRebel også opdatere ændringer i for eksempel klasser, metoder og constructors dynamisk.

Men de to danskere hævder at have en klar fordel sammenlignet med konkurrenterne. Med Javeleon er det også muligt at ændre nedarvningen i klassehierarkiet dynamisk. Dermed kan en subklasse altså sættes til at arve fra en anden superklasse, mens programmet kører.

»Det er det punkt, hvor vi er unikke. Vi har ikke set andre, som er i stand til at ændre nedarvningshierarkiet dynamisk,« siger Michael Rasmussen.

Straffen for at bruge Javeleon er ifølge medstifteren 5-10 procent performance overhead, men det vurderes ikke at afskrække nye brugere, når der samtidig kan spares op til 20 procent på udviklingstiden.

Det tal har de to hentet fra konkurrenten Zero Turnaround, som efter at have spurgt flere end 1.000 udviklere har anslået, at deres besparelse ligger på 17,5 procent.

»Da vi kan forhindre flere genstarter end dem, så er 20 procent et rimeligt estimat. Men som rapporten også indikerer, er der stor spredning i tallene, alt efter hvilket Java-setup man har,« forklarer Allan Raundahl Gregersen til Version2.

»Hvad der måske er endnu mere vigtigt end tiden i sig selv, er, at udviklere med Javeleon ikke bliver forstyrret af konstante genstarter, så jeg ville ikke blive overrasket, hvis produktiviteten steg med mere end 20 procent,« forklarer han.

Licensmodel på vej

Javeleon begyndte som Allan Raundahl Gregersens specialeprojekt ved Mærsk Mc-Kinney Møller Instituttet på Syddansk Universitet. Efter endt ph.d.-afhandling, hvor Michael Rasmussen undervejs kom med på projektet, er han nu ansat som post.doc. samme sted.

Lige nu kan Javeleon downloades kvit og frit, men det skulle gerne ændre sig i nær fremtid. Syddansk Universitet har sagt god for en kommercialisering af projektet, og Javeleon er en af fem danske virksomheder, som staten har givet penge til at rejse seks uger til californiske Silicon Valley.

Læs også: Offentligt sats på it-startups i Silicon Valley skal give arbejdspladser - i Danmark

»Vi planlægger at skifte til en licensmodel for at få penge til at køre den videre udvikling. Det er minded mod professionelle, men priserne er ikke endeligt fastlagt endnu. Vi har også overvejet, om man skal kunne få Javeleon billigt eller helt gratis, hvis man er privatperson eller laver open source-udvikling,« siger Michael Rasmussen.

Javeleon er ikke gift med noget bestemt udviklingsmiljø og kan derfor bruges, uanset om du foretrækker at skrive din kode i større miljøer som Eclipse og NetBeans eller sværger til en editor som Vim. Værktøjet findes dog som et plugin til NetBeans.

Javeleon kører som en agent til Javas virtuelle maskine, JVM. Værktøjet fungerer kort fortalt ved at indlæse byte-koden til de oprindelige klassefiler og herefter indsætte en række hooks, som gør det muligt at snyde applikationen til at tro, at de nye, ændrede klassefiler er de oprindeligt indlæste.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (6)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Lasse Lindgård

Først, så har det her intet med Lombok at gøre. Lombok ligner mere en smart, men lidt hacket søster til http://www.eclipse.org/xtend/

For det andet så er der rigtigt store fordele at hente ved at bruge JRebel. Især hvis man sidder og tester kode der kører inde en applikationsserver.

Hvis man gør det, vil jeg nu mene at man skriver for få unittests.
Hvis man kan få sat det rigtigt op, holder jeg på at TDD er det bedste alternativ til at spilde tid med genstarter.

Men altid godt med konkurrence. Jeg har aldrig forstået hvorfor java ikke har understøttet class reloading (ordenligt) ud af boksen. Det virkede fint for 10 år siden i IBM VisualAge for Java - men der var så andre problemer :-/

  • 5
  • 1
Casper Bang

Først, så har det her intet med Lombok at gøre. Lombok ligner mere en smart, men lidt hacket søster til http://www.eclipse.org/xtend/


Lombok er et framework til at indskyde compiler plugins via Java agents (og til dels annotation processors) således at bytekode kan modificeres.

Held og lykke til dem, men hvis man har brug for at ændre nedarvningshierarkiet så ofte - har man vist helt andre problemer end en langsom tool-chain. :)

  • 4
  • 2
Per Sikker Hansen

Min erfaring med Java-udvikling på det professionelle plan er ret præget, mere end andre teknologier, af at være konsulenthuse med interesse i at sælge så mange konsulenttimer som muligt -- derfor er redundante XML-filer og gammeldags tilgang til design patterns altid populære -- så jeg har svært ved at se noget som dette, der bevares er pisse smart, få nogen som helst traction i erhvervsøjemed.

  • 0
  • 1
Log ind eller Opret konto for at kommentere
Jobfinder Logo
Job fra Jobfinder

Call to action

Udviklerne spilder alt for meget tid på overflødige genstarter, når de skriver programmer i sproget Java. Det mener de to danske iværksættere Allan Raundahl Gregersen og Michael Rasmussen, som derfor har udviklet det dynamiske opdateringsværktøj Javeleon. Med det i hånden kan du se resultatet af dine
ændringer i det kørende program få øjeblikke efter, at du har ændret i kildekoden. Forandrer du for eksempel størrelsen eller farven på en knap i en menu, kan det altså ses med det samme, uden at du skal lukke og starte dit program op igen. Dermed kan der springes flere led over i den sædvanlige rutine, hvor kildekoden kompileres, programmet køres, programmet afprøves og lukkes, koden ændr...