I'm giving a short presentation on Kotlin tomorrow at my company, and this got me thinking about what to talk about, mainly which advantages/features of Kotlin might be useful/appealing to our development team.
So I’ve been thinking about is what are the greatest advantages of using Kotlin, and I think the biggest is the functional paradigms. But as a Java developer, I don’t have a lot of experience in functional programming. I started reading the book “Functional Programming in Java”, and this was somewhat helpful. Does anyone have any other good resources for learning good functional programming paradigms? Along the way I found this pretty good article by Bruce Eckel, the author of Thinking in Java: http://www.artima.com/weblogs/viewpost.jsp?thread=328540 It is about Scala, but I guess it can largely apply to Kotlin as well. It would be great if someone wrote an article like this that talks about Kotlin.
Anyway, here is the outline of the topics I was planning to talk about for this presentation:
Kotlin features
- functional programming (first class functions, delegation, function literals, higher-oder functions, infix functions/LINQ-like queries) - extension functions means you can add useful methods to classes (like C#, and categories in Objective-C) - null-safety (no NPEs), properties, operator overloading, local type inference - inline functions: performant control structures - build infrastructure (modules) as part of the language
Here’s what I was NOT planning to talk about… Builders, declaration/use-site variance, reified generics. I could talk about them, but I don’t think the developerment team would care that much about it and honestly I don’t understand these features very well myself… although they are definitely kool features
If anyone has any ideas, tips for a presentation, please reply. Also, does anyone have any resources I can use for a presentation? (good code examples, a slide deck, etc.) that could save me some time for this. Thanks!