kompetanseguiden

Hva er Java?

Hva er Java – og hvor kan du lære det? I denne artikkelen får du en rask introduksjon til hva Java er og hvordan det brukes, mens du i verktøyet øverst kan finne ut hvor og hvordan du kan lære det – basert på dine egne kriterier for læringen.

Kompetanseguide: Hvilken kompetanse er mest nyttig i kampen om jobbene? Kompetanseguiden er en tjeneste fra Karriere360.no
Kompetanseguide: Hvilken kompetanse er mest nyttig i kampen om jobbene? Kompetanseguiden er en tjeneste fra Karriere360.no

Tilbake til kompetanseguidens hovedside

Java er et av de desidert mest brukte backend-programmeringsspråkene i verden. Det ble lansert av Sun Microsystems på slutten av 90-tallet, og mange senere språk er basert på og inspirert av Java.

Thor Henning «Totto» Hetland er ingen hvem som helst innen Java: Han var nemlig den første i Norden som ble kåret til «Java Champion» av Sun Microsystems. Han vet med andre ord hva han prater om når han i dette intervjuet forteller oss litt mer om Java.

Vi ba «Totto» Hetland om å sende et bilde av seg selv som vi kunne bruke i artikkelen. Det er neppe nødvendig å advare om at bildet (antagelig) er manipulert. Foto: Privat
Vi ba «Totto» Hetland om å sende et bilde av seg selv som vi kunne bruke i artikkelen. Det er neppe nødvendig å advare om at bildet (antagelig) er manipulert.

Hva er det overordnede bruksområdet for Java i 2020?– Java er et programmerings­språk som opprinnelig ble designet for å løse alle verdensproblemer. I 2020 så er det dog ikke så mange som bruker Java til utvikling av grafiske grensesnitt eller til applikasjoner, da det har vist seg at andre alternativer gjør en bedre jobb på de områdene.

– Hovedbruk for Java i 2020 er server-side utvikling, og da ofte i retning av forretningslag for database-drevne arkitekturer og mikroservice-arkitekturer.

Hva er fordelen med Java?– Java har et enormt økosystem for åpen-kildekode-biblioteker, -teknologier og -rammeverk som gir utviklere en ekstremt stor verktøykasse. Dette gjør at gode utviklere kan skape veldig mye spennende løsninger på rimelig kort tid.

– Språket er også veldig utbredt, så det er ikke vanskelig å finne svar og hjelp på diverse utfordringer en utvikler vil kunne støte på når man bygger systemer. At Java og den underliggende virtuelle maskinen (JVM) har blitt testet hardt i årevis i røft farvann, betyr at løsningene man lager tåler møtet med virkeligheten i større grad enn en del andre alternativer.

– En annen viktig ting, som man fort glemmer i slike betraktninger, er miljøet rundt språket, og her i Norge så har vi et svært aktivt miljø rundt Java, med brukerforeningen Javabin som har aktiviteter i mange byer rundt i hele landet, og årets store faglige samling Javazone som hver høst samler 2500–3000 entusiastiske utviklere.

Hva er ulempene eller begrensningene?– Alle programmeringsspråk som er eldre enn dagens utviklere har områder hvor man merker alderen. Så Java merker utfordringen fra nyere og hippere programmeringsspråk og tilnærminger.

– Alderdommen og suksessen til Java gjør det også vanskelig å få fikset områder i Java som ikke ble helt riktig på første forsøk, da slike endringer vil brekke kanskje millioner av kodebaser.

Hva er typisk å utvikle med Java, og hvilke teknologier er vanlig å bruke for å oppnå det?– Backend til virksomhetskritiske og samfunnskritiske løsninger, inkludert bank og telekom, er områder hvor Java utgjør brorparten av løsningene. Java brukes ofte i sammenheng med en bråte av open source-teknologier, som for eksempel Spring, Tomcat/Jetty, Hibernate, Kafka,

Elasticsearch m.fl.

Hvis man slo av alle Java-systemene i samfunnet i dag, så ville hele samfunnet stoppet fullstendig opp

Hva er kjente eksempler på populære programmer, nettsider eller funksjoner som er utviklet med Java?– Det er ingen overdrivelse å si at hvis man slo av alle Java-systemene i samfunnet i dag, så ville hele samfunnet stoppet fullstendig opp. Java er overalt. Det går neppe en dag hvor Digi sine lesere ikke interagerer med løsninger som er skrevet i Java. Hvis de kjøper noe enten på nett eller i butikk, så vil transaksjonen i 95 prosent av tilfellene passere igjennom systemer skrevet i Java. En stor del av innholdssystemene for nettsider er skrevet i Java, osv.

Hvilke teknologier eller verktøy er det viktig å mestre for å utnytte potensialet i Java?– Siden Java dekker et ekstremt bredt område, så vil det ikke være mulig å komme med et enkelt svar på dette spørsmålet. Men dersom vi begrenser oss til det flest norske Java-utviklere jobber med i dag, så vil det være viktig å ha god oversikt og kontroll på server-side Java, med typisk REST teknologier ut mot frontend/web (Javascript/Typescript), test-drevet utvikling, Devops-/no-ops-mindset og -kultur.

Hvilke språk ligner, eller er nært knyttet til Java?– Microsoft laget sitt C#-programmeringsspråk som en kopi/videreutvikling av Java, og har mye likt i seg. I de senere årene så har Jetbrain sin kopi Kotlin også blitt et populært lignende alternativ.

Hvordan er vanskelighetsgraden og læringskurven? Hvilke forkunnskaper er det en eventuelt en fordel å ha?– Som et typet og objektorientert språk, så har Java en viss initiell læringskurve rundt omkringliggende strukturelle elementer som kan virke litt forvirrende og skremmende på førstegangsprogrammerere.

– Utover det så vil jeg nok si at de fleste raskt kommer i gang med programmering i Java. Den nåværende utviklerkulturen i utviklingsteam, med test-drevet utvikling, kontinuerlig integrasjon og kontinuerlig leveranse, er noe jeg ser at oppleves som litt overveldende for førstegangsreisende, men som de raskt plukker opp og i veldig liten grad viker bort fra i etterkant.

Kan du si noe om utviklingen og forhistorien til Java?– Java startet som et Sun Microsystems-initiativ for å lage smarte dingser i starten av 1990, med arbeidsnavnene Greentalk og seinere Oak. Kombinasjonen av at dingsene på den tid hadde for liten kapasitet og utbredelsen av internett, gjorde at teknologien ble reposisjonert og lansert som en programmeringsplattform for internett i 1995.

– De første årene så hoppet mange på å skrive applets, som var applikasjoner som kjørte i browseren, men etter hvert så ble den virkelig store suksessen Java hadde på serversiden. Java ble mot slutten av 1990 et av de tre-fire mest brukte programmeringsspråkene, en posisjon de i stor grad har behold siden den gang.

– Sun begynte tidlig å trekke til seg partnere rundt Java, og i 1998 ble Java Community Process etablert og i 2007 ble OpenJDK lansert. I 2009 kjøpte Oracle Sun Microsystems og tok dermed over stafettpinnen som styrmann for Java, og som kanskje er mest kjent for rettstvisten med Google om rettigheter rundt å kopiere Java-APIer.

– På denne reisen så har Java som språk både blitt tilført en rekke nye egenskaper, samt at man har fått en masse interessante gamle og nye språk på Java sin virtuelle maskin.

Hvilke råd kan du gi til en som ønsker å lære seg Java?– Jeg tror det er to-tre smarte ting man bør gjøre når man skal lære seg Java. Det finnes veldig mye lett tilgjengelig kurs- og opplæringsmateriell på nett, så en kan prøve litt forskjellige startsteder. Men jeg vil absolutt anbefale at man tidlig kobler seg på Java-miljøet i Norge, dvs. at man blir med på Javabin sine aktiviteter og knytter nettverk og vennskap med andre som holder på med Java.

– Jeg vil også sterkt anbefale at man tidlig leter opp noen Java open source-prosjekter som lager noen kule ting som matcher med ens egen interesse og følger med på hvordan de jobber med å bygge prosjektet, så man blir en del av prosjektet og kan begynne å bidra med programmering der som både vil gi synlighet på ens egen kompetanse på Java, samt en tett oppfølging og rådgiving fra resten av teamet bak prosjektet.

Powered by Labrador CMS