ctrl-alt-Development

Your hotkey to alternative software development

Essential Reading

There are many nice books out there, but a few of them contain such wisdom that I just must mention them here:

Oct '19
31

Decompiling Kotlin

Presented at NL-JUG JFall 2019, this talk takes my Kotlin research from a year ago and puts in a entertaining journey along some of the language features of Kotlin and how they look decompiled into Java or in bytecode form. This talk was rated as the 7th best talk at NL-JUG JFall out of about 50.




While my colleagues revelled in Kotlin’s new features, I was curious how exactly these features are achieved on the JVM. So I spent some time reading byte code and decompiling Kotlin into Java with sometimes really funny results :)

In this presentation a take some example code in Kotlin, compile it and then decompile it with a Java decompiler and explain the results. Sometimes the decompiler produces really ..interesting.. code and then we take a deep dive into bytecode land to see what is going on – don’t worry I will explain what you need to know!

If you want to know how Kotlin achieves its ‘magic’ named arguments or how package level methods are built on the JVM this is the talk for you :-)

The session was recorded and when it is published I will embed it here.




It turned out that some of the funny features I discovered were actual compiler bugs. The mystery booleans from the presentation should be no more in the upcoming release of the Kotlin compiler.