Such a provocative question was asked by the nenemen redditor in the Java subreddit :
“I'm thinking about making my next project on Kotlin + Spring Boot, but the power of the popular love for Kotlin and at the same time hatred for Java makes it all seem like some kind of cult. Therefore, I would like to hear the arguments "against".
FunCorp Kotlin. Java/Kotlin 20 80, . , . rzwitserloot, , , , .
.
Java Kotlin
Kotlin . , kotlinc ,
@Metadata
( , ) . , . Kotlin . , , IDEA (, , JetBrains — - Kotlin IDE — . ) Kotlin . , , , - .
, , IDEA Kotlin , Java, . ? Kotlin , « , Java» « Java, Java Kotlin, » ( , )? , Java- , ? . , , Kotlin, , , . , Kotlin , , , , Kotlin .
Kotlin « Java, »
. .
Kotlin :
-, Java, Kotlin . Kotlin Java- , , -, « ». , . , , .
-, Java . , -.
-, Java , . Kotlin , Java , Java Kotlin . , ?
, Kotlin , « Java, » — .
: instanceof
. Kotlin, Java : JEP, ( amber-dev@openjdk.net). instanceof
: , , — .
Java 14- :
if (x instanceof String) {
String y = (String) x;
System.out.println(y.toLowerCase());
}
Kotlin :
if (x instanceof String) {
// x String!
System.out.println(x.toLowerCase());
}
Java 16+ :
if (x instanceof String y) {
System.out.println(y.toLowerCase());
}
, , . , «», Kotlin -, Kotlin , Java. , Java : , « » (, «» -). , :
if (!(x instanceof String y)) return;
System.out.println(y.toLowerCase());
, Java , .
Kotlin :
, « Java». , . . , ?
. , « Java Kotlin » Java.
. , , Kotlin , Java. Kotlin «------». , Kotlin , .
, . , , - . , Kotlin Java .
. : Java. :
« Java, »
. Java , , Kotlin « Java, ». .
, (, , JVM — . ) . Scala, , . , , Twitter, , … Scala , . TIOBE, , : Scala ? Fan/Fantom , Groovy , Gradle . JRuby Jython , , , .
, , . , « ». Kotlin , , Java, .
Java . instanceof , , Kotlin Java: , Java - ( , JEP ) , Kotlin. Java 80- CPU , , , .
[ ]
: , Hacker News . , Google — , , Oracle . — Google, Dart . null, , Java Optional.ofNullable
. Data- record
. , Kotlin Java .
, Kotlin ?