Functional Kotlin part 4: collections manipulation

This is a part 4 of the #kotlin-showoff series and it's going to be about the standard functions over the collections(mostly iterables to be precise) allowing developer to express data modification in the clean and functional way.

General convention

Although one might think that kotlin has inherited all the base collection types from the Java it's not quite true. Kotlin transparently maps existing Java collections into the Kotlin by using some tricks such as typealiasing. Collections hierarchy in Kotlin make code even more safer by imposing separation between mutable and immutable data structures. Take a look on the interfaces diagram:

Read moreFunctional Kotlin part 4: collections manipulation

Functional kotlin part 3: scoping functions

In the part 3 of the series of the posts about kotlin we going to look into the one of the intensively used kotlin extension functions from the standard library - they allow to write very expressive and safe, functionally-looking code.

For folks who got lost on the word "extension functions" - it's a way to attach a function or property to the instances of the existing classes. For example, val d = 10.twice()It's very much like a classic Java Util classes with method twice(int) but done in a very clean way. Visually it looks like you're calling a member of the class, but in reality, the compiler calls your function passing receiver as an argument.

Read moreFunctional kotlin part 3: scoping functions

Functional kotlin part 2: elvis operator

Continuing series of posts #kotlin-showoff about functional constructions in kotlin I want to demostrate use of elvis operator

Essentially, elvis operator lvalue ?: rexpression is returning left value if it's not null or executes rexpression otherwise. The crazy thing about kotlin is most of the constructions are expressions and that gives another way to express business logic.

Read moreFunctional kotlin part 2: elvis operator

Functional kotlin part 1: safe calls

For the seasoned Java developer it's very easy to switch to kotlin. Even more, thanks to the great effort of JetBrains team for java interop, there is no need to wait for the greenfield project to start to write kotlin code. You can start koding straight away by either implementing new functionality in kotlin or converting existing classes into the new language by employing Intellj Idea automagic converter

This is a first of this series of posts unioned by tag #kotlin-showoff

Read moreFunctional kotlin part 1: safe calls

Kotlin Presentation – GDG Reading Meetup @ Spaces, Reading 21 Feb 2019

Just returned from meetup where I had a talk about kotlin language - "Why Kotlin? Why now?"

The talk took place in Spaces, Reading on 21st of February 2019 and was organised by Google Developer Group Reading, namely by Chris Guest and his team.
In this talk, I highlighted reasons for learning one more language, guided through most noticeable features. In the second part, we had a live demo - kwitter REST web server.

I found people there were very friendly, it feels like they know each other for a long time. Really nice atmosphere and good vibes!

Read moreKotlin Presentation – GDG Reading Meetup @ Spaces, Reading 21 Feb 2019