Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlin - What, Why, Where and How?

Kotlin - What, Why, Where and How?

Introduction to Kotlin at Kotlin usergroup meetup #3

Marko Arsić

April 27, 2017
Tweet

More Decks by Marko Arsić

Other Decks in Programming

Transcript

  1. Marko Arsić A polyglot developer deeply interested in high performance,

    software architecture and generally solving complex problems. Typing code since 2010 Mobile Team Lead at
  2. Topics • What is Kotlin? • Why Kotlin? • How

    to use it? • Demo • Where to start? • Flaws • Summary • Kotlin UG
  3. New kid in the code town “Statically typed Programming Language

    targeting JVM and JavaScript.” Sponsored and Developed by Language for JVM, Android and the browser!
  4. … compiles to JVM bytecode or JavaScript. … comes from

    industry, not academia … solves problems faced by working programmers … programs can use all existing Java fw and libraries … imposes no runtime overhead … standard library is small and tight … IDE interop is entirely seamless
  5. CURRENT STATE 1.0 Release was on 15th February 2016 20+

    Developers at JetBrains 100+ Committers Used in close to 10 Products at JetBrains
  6. First Technology Preview of Kotlin/Native Kotlin/Native is another step toward

    making Kotlin usable throughout a modern application. The Kotlin/Native compiler produces standalone executables that can run without any virtual machine.
  7. – Martin Odersky (Lead designer of Scala) “Kotlin is a

    nice language that got a few ideas from Scala. It's a less ambitious version of Scala.”
  8. Exactly what we needed Concise - Reduce the amount of

    boilerplate code Safe - Avoid errors such as null pointer exceptions. Versatile - Build all in same language Interoperable -100% Java Interoperability
  9. And more • Lean syntax type inference works everywhere •

    Real properties generate getFoo/setFoo methods behind the scenes for Java interop. • Functions can exist outside of classes. • Exceptions are unchecked. • Functional programming support with lambdas and ability to do mapping, folding etc over standard Java collections • Extension functions let you add methods to classes without modifying their source code. • Function arguments can be named, optional and variadic.
  10. As you wish Command Line Maven 
 Gradle Ant 


    IntelliJ IDEA Android Studio NetBeans Eclipse
  11. Production ready • Start small • Domain classes • Util

    classes • Tests • Automatic conversion of Java to Kotlin • Embrace functional approach
  12. SUMMARY • Pragmatic Language • Easy Learning Curve • Interoperability

    provides low risk/high reward upgrade • Modern and Enjoyable • Kotlin is here to stay
  13. User Group Serbia Kotlin as modern programming language One meetup

    each month @kotlin_serbia meetup.com/Serbia-Kotlin-User-Group facebook.com/kotlinserbia