Kotlin VS Java - När ska man använda?

Permalänk

Kotlin VS Java - När ska man använda?

Erfarna programmerare diskuterar inte språk. Dom ser språk som ett verktyg. Oerfarna programmerare diskuterar språk.

Men det är väldigt svårt att låta bli och utforska området Så jag skulle vilja fråga om Kotlin VS Java. Många har ett hat mot Java, men hag anser att jag har löst mycket problem med Java och gjort det riktigt snyggt ockdå. Jag använder ramverk så som Spring Boot för databasapplikationer och Vaadin för webbapplikationer samt Gluon för mobila applikationer.

Repition:
Det jag har hört negativt om Java är att man skriver väldigt mycket repitativ kod t.ex getters och setters. I Kotlin behöver man inte göra det då Kotlin tar för givet att du vill ha getters och setters gör dina fält.

I Java löser man detta med annoteringen @Data. Se gärna Lombok om ni är intresserad utav skriva mindre kod i Java.

Nullsäkerhet
I Kotlin så kan man inte gå null. Men i Java får man om objekt eller fält inte är initsialiserad. Jag vet inte om det är en fördel eller nackdel. Null kan ju vara bra för att avgöra om det saknas eller inte. Vad tycker du?

Undantag
I Java så måste man ha try och catch när man t.ex läser en fil. Om filen inte finns så kan man få ett felmeddelande. I Kotlin så finns inte denna möjlighet. Rätta mig om jag har fel, men man får väll ändå ett meddelande? Vad tycker du är bra?

Strukturer
Java använder bara klasser. Kotlin är mer som C++ eller Python där man kan både använda klasser och funktionsprogrammering som i C. Vill man programmera funktionsstruktur i Java så kan man sätta sina metoder som static. Man måste ändå skapa en klass. Så Kotlin har väll tänkt smart på denna del då man behöver skriva mindre kod. Mindre kod är alltid bra.

Detta är vad jag kommer på vad som skiljer java mest mot Kotlin i praktiken. Så vad tror du skiljer dom åt och vad föredrar du? Notera att ni måste ta hänsyn till praktiken också. Att hävda att Kotlin är bättre än Java bara för att Kotlin så tas det för givet att alla fält är åtkommliga är inte ett argument då Lombok finns för Java. Hade Lombok inte existerat så hade kritiken tagits på allvar.

Jag undrar också vad nackdelen är med Kotlin? När Kotlin lanserades för Android så dök Java direkt i mätningar. Men Java snabbt återhämtade sig. Jag undrar vad som gjorde så Java återhämtade sig?

En annan ktitik mot Java som jag har hört från äldre generationen är Java uppdateringar. Men idag så får man inte uppdateringar från Oracle, om man inte betalar för det. Java är ju idag tillgänglig som öppen källkod via AdoptOpenJDK. Så ska man tolka äldre generationernas kritik som aktiv eller föråldrad? Java Applets går ju inte köra längre - Synd, det som var så sexy Windows 95 + Java Applets var tider det.

Permalänk
Medlem

Den här videon är intressant KotlinConf 2019: What's new in Java 19: The end of Kotlin? by Jake Wharton

Java 19 lär inte bli "the end of Kotlin", men många saker som Kotlin har är på kommande till Java. Jag ser det som mycket möjligt att Java kommer att ta tillbaka andelar främst av andra programmeringsspråk, då det kommer till språkens popularitet.

Angående när man ska använda Kotlin, så gäller det väl att om man gillar att använda det, och har möjlighet att använda det, så använd det! Java 19 är inte här på ett bra tag ännu

Permalänk
Skrivet av Tazavoo:

Den här videon är intressant KotlinConf 2019: What's new in Java 19: The end of Kotlin? by Jake Wharton

Java 19 lär inte bli "the end of Kotlin", men många saker som Kotlin har är på kommande till Java. Jag ser det som mycket möjligt att Java kommer att ta tillbaka andelar främst av andra programmeringsspråk, då det kommer till språkens popularitet.

Angående när man ska använda Kotlin, så gäller det väl att om man gillar att använda det, och har möjlighet att använda det, så använd det! Java 19 är inte här på ett bra tag ännu

Jag tror inte på att programmeringsspråk dör ut. Som jag vet så finns Pascal fortfarande bara för att nämna någon.

Men jag tror fullt ut att Java kommer vara tvungen att titta på Kotlin om Java ska behålla sin popularitet.

Java 19! För 1.5 år sedan släpptes Java 11!

Jag tror att en stark fördel att använda Kotlin i Android är att man slipper null. I Java så kan man få null lite här och där i Android, trots att programmet fungerar skitbra på PC/Mac. Krävs mycket felsökande i Android.