Programming Language EvolutionProgramming languages constantly evolve. But what drives this evolution? Let’s see some examples to discover a common pattern.Nov 23, 2020A response icon6Nov 23, 2020A response icon6
Shared flows, broadcast channelsSee how shared flows made broadcast channels obsolete, but regular channels cover and will continue to support an important use-case.Nov 16, 2020A response icon11Nov 16, 2020A response icon11
Immutability we can affordA look at modern programming languages reveals a growing popularity of immutability. It is becoming affordable.Jul 22, 2020A response icon9Jul 22, 2020A response icon9
With the receiver in scopeRepetition is a bane of software development. Kotlin scope functions help when they are idiomatically used.Jul 1, 2020Jul 1, 2020
Kotlin and ExceptionsWhat are Kotlin Exceptions and how should you use them?Jun 10, 2020A response icon23Jun 10, 2020A response icon23
Phantom of the CoroutineThere is no current “Coroutine” object that you can get hold of and manipulate. Why is it so, what does it mean, and how to live with it?May 10, 2020A response icon4May 10, 2020A response icon4
Deep recursion with coroutinesKotlin Coroutines go beyond asynchronous programming. We can use them to write deep recursive functions.Apr 25, 2020A response icon10Apr 25, 2020A response icon10
The End of the Semicolon EraWe are living in the end of the semicolon era. The recipe is out there. It is only a matter of time for it to become truly ubiquitous.Feb 9, 2020A response icon1Feb 9, 2020A response icon1
Intentional qualitiesWe focus on functional requirements, yet quality aspects are often important. What if you are looking for something fast or easy to learn?Oct 19, 2019A response icon4Oct 19, 2019A response icon4
Structured Concurrency AnniversaryStructured Concurrency for Kotlin Coroutines was announced a year ago. Let’s celebrate this anniversary and see how it turned out to be.Sep 28, 2019A response icon4Sep 28, 2019A response icon4