Vad skiljer Kotlin från Java?

Två populära språk som har influerat varandra under de senaste åren. Hur skiljer de sig åt? När väljer man den ena före den andra?

Programmeringsspråk finns det många av och ibland kan det vara svårt att hålla isär dem. Java och Kotlin är två av dem som har varit populära ett bra tag och oftast nämns i samma andetag. Men vad är egentligen stora skillnaden mellan dem?

Java som programmerings­språk: Write once, run anywhere

Java är ett programmeringsspråk som skapades i mitten på 90-talet av Sun Microsystems och blev populärt väldigt snabbt. På den tiden var utvecklare tvungna att skriva kod för en specifik hårdvara åt gången. Ville man köra samma mjukvara på en annan hårdvara eller ett annat operativsystem så var man tvungen att anpassa koden.

Med James Gosling i spetsen introducerade Sun sin revolutionerande Java Virtual Machine (JVM). Den lägger sig mellan programmkoden och operativsystemet. JVM:en sköter översättning av programmkod till maskininstruktioner. Detta gör att utvecklare kan skriva sin kod en gång och kan köra den på olika plattformer utan någon anpassning alls.

Java och dess community växte väldigt snabbt under 90- och 00-talet och Java avancerade snabbt till en av de mest använda programmeringsspråk i världen. I dagsläget finns det uppskattningsvis 8 miljoner utvecklare som behärskar Java.

Java som plattform: en bra näringsgrund för nya språk

Javas virtuella maskin arbetar enligt en öppen och väldokumenterad specifikation. Detta gjorde att programmerare började experimentera med om de kunde utveckla egna programmeringsspråk.

Utvecklarna började portera över befintliga programmeringsspråk till Java-plattformen. 2001 släpptes Jython och helt plötsligt gick det att skriva Python-programm som gick att köra på alla möjliga enheter. Samma år släpptes även JRuby som gjorde samma sak för språket Ruby.

Men även helt nya språk växte fram. 2003 släpptes Groovy, ett dynamiskt och objektorienterat programspråk. 2004 var det dags för lansering av programmeringsspråket Scala som förenar objektorientering med funktionell programmering.

Java, sengångaren bland programmerings­språken

Många av de nya programmeringsspråken skapades av frustrerade Java-utvecklare. För skaparna av språket Java var det viktigt att hålla nya Java-versioner bakåtkompatibla. Detta gjorde att de höll ner på antal nya features och språkkoncept i varje ny version. Samtidigt plockade de aldrig bort gamla språkfeatures. Detta gjorde att utvecklingen av språket Java stagnerade och utvecklarna började ta fram egna programmeringsspråk.

Kotlin, en frisk fläkt i Java-djungeln

2011 var det dags att för Kotlin att göra sin debut. Mjukvaruföretaget JetBrains har länge jobbat med verktyg för Java-utvecklare och bestämde sig då att skapa sitt egna språk. Många Java-utvecklare som redan använde JetBrains produkter fick snabbt upp ögonen för Kotlin. Kotlin överraskade med ett programmeringsspråk som liknar Java men var mycket mer lättarbetat. Med hjälp av Kotlins nya språkkoncept kunde programmerarna skriva kod på ett kraftfullare och mer lättläst sätt.

Genombrottet för Kotlin 📈

Sakta men säkert tog sig Kotlin in på alla områden där Java redan fanns. Googles operativsystem Android var en plattform där allt fler utvecklare gick över från Java till Kotlin.
År 2017 meddelade Google på sin utvecklarkonferens Google I/O att Kotlin blir ett officiellt programmeringsspråk för Android, vid sidan av Java. Detta gav Kotlin en rejäl skjuts och många började använda språket i sina Android-projekt.

Varför använder vi Kotlin?

På Future Memories föredrar vi Kotlin före Java. Vi tycker att Kotlin är mer lättläst för utvecklare. Det blir därmed enklare att sätta sig in i någon annans kod, oavsett om det gäller en Android-app eller en backendapplikation.

Kotlin är 100% kompatibel med Java och det går utmärkt att blanda Kotlin-kod med Java-kod. Detta gör att vi fortfarande kan använda oss av det rika utbudet av hela Java-ekosystemet med alla sina bibliotek, ramverk och SDK:er.

Vi har några applikationer som kör tunga beräkningar i Kotlin. Som tur så erbjuder Kotlin så kallade Coroutines, ett väldigt enkelt och kraftfullt sätt att kunna parallellisera beräkningar. Med hjälp av Coroutines kan vi få ner jobb som tar flera timmar till några minuter.

Det märks dock att Kotlin bygger på Java-plattformen. Att starta upp en Kotlin-applikation tar lika lång tid och slukar lika mycket minne som att starta upp en Java-applikation.

Gäller det att skapa små applikationer som starta upp snabbt så tycker vi att programmeringsspråket Go lämpar sig mycket bättre. Är man däremot ute efter robusta molntjänster som ska klara av mycket trafik så väljer vi nog gärna Kotlin på den trygga battle-testade Java-plattformen.

Gillar du vad du ser?

Bli uppringd

(Vanligtvis inom en timma)