Computerworld News Service: JetBrains' IntelliJ kommer i to varianter: En betalt version, som er den version, der her anmeldes, og en gratis open source Community Edition med grundlæggende funktioner til redigering af Java.
Da den betalte version af IntelliJ konkurrerer med adskillige gratis produkter, er den hele tiden nødt til at bevise sit værd. Det gør den ved at innovere hurtigere end de andre udviklingsmiljøer.
IntelliJ's lange historie med innovation har vundet udviklingsmiljøet mange passionerede fans. Og der er da også meget at være passioneret for.
Først og fremmest er udviklerne bag IntelliJ gode til at spotte kommende tendenser i Java-community'et, og de er hurtige til at tilføje understøttelse af nye, hotte produkter.
IntelliJ var for eksempel et af de første til at understøtte Groovy og Grails. Udviklingsmiljøet var det første til at tilbyde avanceret understøttelse af JavaScript heriblandt en debugger.
Hvor det ikke er først, er det ofte nummer to eller vil ofte i stedet komme med en bedre understøttelse end konkurrenternes. Det har perfekt integration af Ant og Maven, understøttelse af Sprint samt evnen til at hoppe fra Java-kodning til Adobe Flex og PHP i det samme udviklingsmiljø.
Mange nyttige funktioner
Men det er funktionerne i IntelliJ - nærmere end viften af understøttede teknologier - der har vundet mange udvikleres hjerter.
For år tilbage var det eksempelvis det første udviklingsmiljø, der tilbød en dialogboks, der side om side sammenlignede det faktiske output med det forventede output og tydeligt markerede forskellene.
I dag er dets funktioner typisk bedre implementeret end konkurrenternes, mens nogle af dem er helt unikke. I den første kategori tilbyder IntelliJ en længere række af mulige omstruktureringer af koden end de fleste andre værktøjer.
Herudover har det indbygget syntakskontrol, der ikke alene leder efter fejl men også efter "lugte," hvilket er en løs betegnelse for kode, der fungerer korrekt, men som er dårligt skrevet: Eksempelvis unødigt komplekse funktioner eller kode, der tester for en betingelse, der altid er sand.
Desuden har IntelliJ sit eget værktøj til såkaldt code coverage, der i udviklingsmiljøet viser, hvilke linjer kode, der er blevet kørt af et givent sæt test. Skulle du foretrække et andet valg medfølger også open source-produktet EMMA ligesom IntelliJ har plugins til andre populære coverage-værktøjer.
IntelliJ IDEA med to editorer side om side.
I kategorien af unikke funktioner finder man kontrolfunktioner, der fremhæver duplikeret kode, hvilket er en særlig ondartet "lugt," som kan være svær at spotte i en større kode. IntelliJ har også et værktøj til analyse af afhængigheder.
Denne gennemgang fanger dog ikke på tilfredsstillende vis følelsen af at anvende IntelliJ, hvilket er en følelse af at have at gøre med et stykke software, der ofte overrasker ved at foregribe ens behov.
For eksempel har alle de her anmeldte udviklingsmiljøer en popup-hjælpefunktion, der aktiveres, når man indtaster navnet på en metode.
I IntelliJ bruger denne funktion (der her kaldes auto-fuldførelse) den kontekstuelle information fra koden til at gætte hvilke hjælpeindlæg, der skal placeres øverst på listen, så man ikke behøver at rulle ned over en masse valgmuligheder.
Og det gætter forbløffende ofte rigtigt; det virker næsten som om, der er overnaturlige kræfter på spil.
Alle begrænsningerne
IntelliJ har dog sine begrænsninger. Den, man lægger mest mærke til, er en mangel på god dokumentation.
Det er ubestrideligt frustrerende at forsøge at regne ud, hvordan man bruger avancerede funktioner eller løser specifikke problemer.
Heldigvis besvares e-mailforespørgsler af selve udviklerne bag IntelliJ. Derfor behøver man kun at stille et spørgsmål en enkelt gang for at få det rigtige svar.
Den eneste udfordring i denne proces er, at udviklerne sidder i Rusland, hvilket introducerer en tidsforskel.
En anden begrænsning er udviklingsmiljøets lange opstartstid. Dette problem er reduceret en del med version 9.0, men opstarten er stadig irriterende langsom.
Bortset fra disse få klager så er IntelliJ et fremragende udviklingsmiljø, der viser, hvordan godt håndværk kan producere kommercielle produkter, der konkurrerer succesfyldt med gratis konkurrenter.
Følg med i de kommende dage på Computerworld, hvor de fire Java-værktøjer gennemgås i detaljer.
Oversat af Thomas Bøndergaard.