Roman Elizarov·Nov 23, 2020Programming Language EvolutionProgramming languages constantly evolve. But what drives this evolution? Let’s see some examples to discover a common pattern.A response icon6A response icon6
Roman Elizarov·Nov 16, 2020Shared flows, broadcast channelsSee how shared flows made broadcast channels obsolete, but regular channels cover and will continue to support an important use-case.A response icon11A response icon11
Roman Elizarov·Jul 22, 2020Immutability we can affordA look at modern programming languages reveals a growing popularity of immutability. It is becoming affordable.A response icon9A response icon9
Roman Elizarov·Jul 1, 2020With the receiver in scopeRepetition is a bane of software development. Kotlin scope functions help when they are idiomatically used.
Roman Elizarov·Jun 10, 2020Kotlin and ExceptionsWhat are Kotlin Exceptions and how should you use them?A response icon23A response icon23
Roman Elizarov·May 10, 2020Phantom 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?A response icon5A response icon5
Roman Elizarov·Apr 25, 2020Deep recursion with coroutinesKotlin Coroutines go beyond asynchronous programming. We can use them to write deep recursive functions.A response icon10A response icon10
Roman Elizarov·Feb 9, 2020The 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.A response icon1A response icon1
Roman Elizarov·Oct 19, 2019Intentional qualitiesWe focus on functional requirements, yet quality aspects are often important. What if you are looking for something fast or easy to learn?A response icon4A response icon4
Roman Elizarov·Sep 28, 2019Structured Concurrency AnniversaryStructured Concurrency for Kotlin Coroutines was announced a year ago. Let’s celebrate this anniversary and see how it turned out to be.A response icon4A response icon4