Kotlin 1.5 Event Materials and the 10 Most Interesting Questions from the Q&A

The recordings of our 1.5.0 release celebration event are out and available for you on the Kotlin YouTube Channel. 🔔 Subscribe to the channel updates and stay up to date with the Kotlin future events!

Recordings and slides 

Our amazing hosts – Svetlana Isakova and Sebastien Aigner – gave a talk about the 1.5.0 updates, and Roman Elizarov presented on the future of Kotlin. After that, members of the JetBrains Kotlin team and guests from Google and VMware answered questions from the attendees. 

Check out the recordings:

And slides of the talks. 

If you would like to learn more about the Kotlin 1.5.0 release, please check out these materials:

Q&A and “Ask Me Anything” session with the Kotlin team

We were thrilled to receive so many questions from you – 630 questions before the event and 150 more during the live stream! Thank you everyone who asked questions! It’s encouraging to see so much interest and engagement from the community!   

A one-hour Q&A session wasn’t enough to cover all of them – that’s why a day after the event, we caught up during an Ask Me Anything session on Reddit. Please check out the Kotlin 1.5 Online Event thread. Join the r/Kotlin subreddit for news and notifications about future AMA sessions. 

The 10 most interesting questions from the event

We picked the 10 most interesting questions, and the winners will receive special Kotlin 1.5 T-shirts. The questions cover details about Kotlin updates, best practices, and important topics for future plans. You can check out the answers below and even jump into the discussions on Reddit! 

Question #1:
Do you think large monolith Kotlin projects will also get a performance boost in future versions?

“Of course! Our new front-end is doing exactly that – speeding up the compilation of a single module. So if you’re stuck with one big module and can’t use Gradle, for example, in parallel, then the new front-end should make you happy.” Proceed to the full discussion on Reddit.

Question #2:
What’s the team vision on compiler plugins in the long run?

“Current compiler plugin API mostly was created as ad-hoc solutions for the needs of kotlinx plugins (like kotlinx.serialization). We plan to properly design it when the new compiler becomes stable”. Read the full answer on Reddit 

Question #3:
Are there plans to support WebAssembly in Jetpack Compose for Web?

“It might be a bit early to say just yet, but I’d personally love to see it! If you have a particular reason why you’d be excited about the combination of WebAssembly and Compose, we’d also be interested to hear it! :)” Post your suggestions on Reddit.

Question #4:
Any news on the Kotlin Native garbage collector rewrite?

“While we’re on the topic, I’d like to clarify something. You might hear about Kotlin/Native’s new garbage collector, or a new memory manager, or a new memory model. It’s mostly all the same! The garbage collector is a part of the memory manager. Often these terms are used interchangeably.

Now to the news!
We’ve settled on starting with a simple stop-the-work, mark and sweep GC, and are considering evolving it later to a concurrent mark and sweep GC.” Read the full answer on Reddit and our recent blog post “Kotlin/Native Memory Management Update”

Question #5:
With Java adopting many features that Kotlin has or had, how will Kotlin stand out against Java after JDK17 is released?

“The key features of Kotlin, like its null-safety, equal treatment of val/var, concise and modern design, extensibility, and DSL-friendliness are nowhere to be found in Java’s roadmap. These still make programming in Kotlin safe, fun, and enjoyable. This is even without taking into account that Kotlin evolves and never stands still.” Read more on Reddit

Question #6:
What is the ultimate goal of Kotlin? Is it something like ‘Write in one language, used in everywhere’? (I thought this because of Kotlin Multiplatform, KMM, Compose for Web, Desktop, etc.)

“In short, yes. We are striving to create a general-purpose application development language, well-suited for all kinds of applications in different domains and working on different platforms.” Answer on Reddit

Question #7:
Have you already tried Project Loom in Coroutines implementation?

“We keep checking it, but we don’t know if it will be in the final API. At the moment we’re waiting for Loom to graduate at least to the preview stage.” Full answer from the online event

Question #8:
As a tech lead with experience of leading a real world project with KMM, it’s harder to get iOS developers to accept this stack. This would be easier with AppCode integration, so you have such plans to support the iOS developer experience further?

“The experience for iOS developers was always a pretty noticeable pain point there, but recently we’ve seen that it’s getting more and more traction (we’d like to think that it’s because we’re removing other, more apparent roadblocks, but who knows :D)” Read more on Reddit

Question #9:
Are (or will be) there any tools to access compiler and analyzer api for external usage? The only way now is using Kotlin compiler source code itself.

“Yes. I think at some point we will create a separate additional jar file with the public compiler API.” Read the full discussion on Reddit

Question #10:
Why main() isn’t use in Android development?

“Even though Android shares a lot of the underlying components (such as the Linux kernel) and concepts (such as processes) with traditional operating systems, it has a very different model for running user applications. This is because it operates on a different set of constraints, such as limited battery capacity, and expectations, especially when it comes to security and privacy of user data. This leads to a stronger sandbox model and affects how users interact with their devices throughout the day.” Read more on Reddit

More helpful links and materials 

Find more questions and discussions under the Kotlin Team AMA #3 post. Thanks again to everyone for your active participation in the Q&A! 

Check out other release materials: