From YAHOO JAPAN CORP.
Saiki Iijima is an experienced Android engineer at Yahoo! JAPAN which is one of the biggest search services in Japan, and is working on backend services for the auction service. He has experience in game development with C# and in backend development with golang at work. But now, he loves kotlin, wants to learn more and wish prosperity. Outside of work, basically he read mangas and watching anime at home and enjoy basketball occasionally.
Metaprogramming is a programming technique that writes code which generates code. Many major open source libraries use metaprogramming in some way: annotation processing, bytecode transforming, and reflection.
In Java world, there are many libraries and APIs for these process. Though you can use these in Kotlin basically, there are some pitfalls.
In this talk, I will explain how to generate kotlin code, convert bytecode, read / modify the structure of program at runtime, and show how these will make your development more efficient.
Metaprogramming is not so widely used in daily development, but if you know how to do it, it will be a very powerful and efficient tool.